X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=c61b4cde606dbf4fa56278e2323de9dc9b2e3f93;hb=7df298fee4f4320bc69d646de6bb1674ed3175bc;hp=5e51f8510bbaec795ec1d7b90dfcfb5a991b6e18;hpb=2744a89fa431ffa4a1d893796824b5e2de310b8a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5e51f8510bb..c61b4cde606 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,57 @@ +2009-04-10 H.J. Lu + + PR middle-end/39701 + * common.opt (-fdelete-null-pointer-checks): Initialize to 1. + + * opts.c (decode_options): Don't set flag_delete_null_pointer_checks + here. + + * doc/invoke.texi: Update -fdelete-null-pointer-checks. + +2009-04-10 Chao-ying Fu + + * doc/tm.texi (Instruction Output): Document + TARGET_ASM_FINAL_POSTSCAN_INSN. + * target.h (final_postscan_insn): New field in asm_out. + * target-def.h (TARGET_ASM_FINAL_POSTSCAN_INSN): New define. + (TARGET_ASM_OUT): Add TARGET_ASM_FINAL_POSTSCAN_INSN. + * final.c (final_scan_insn): Call + targetm.asm_out.final_postscan_insn after outputting + an asm macro and a normal instruction. + + * config/mips/mips.h (FINAL_PRESCAN_INSN): New define. + * config/mips/mips-protos.h (mips_final_prescan_insn): Declare. + * config/mips/mips.c (mips_at_reg_p): New for_each_rtx callback. + (mips_final_prescan_insn, mips_final_postscan_insn): New functions. + (TARGET_ASM_FINAL_POSTSCAN_INSN): New define. + +2009-04-10 Paolo Bonzini + + PR middle-end/39701 + * fold-const.c (tree_single_nonzero_warnv_p): Pass non-static + variables as non-NULL even with -fdelete-null-pointer-checks. + +2009-04-10 H.J. Lu + + * config/rs6000/darwin-vecsave.asm: Remove extra "*/". + +2009-04-09 H.J. Lu + + PR target/39678 + * config/i386/i386.c (classify_argument): Handle SCmode with + (bit_offset % 64) != 0. + +2009-04-09 Sandra Loosemore + + * doc/invoke.texi (Optimize Options): Add cross-reference to + -Q --help=optimizers examples. + +2009-04-10 Ben Elliston + + PR target/36800 + * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Do not set + regalign for the reg == fpr and TDmode case. + 2009-04-09 David Ayers PR objc/29200 @@ -10,8 +64,8 @@ * expmed.c (expand_divmod): Always use a comparison for a division by a large unsigned integer. - * fold-const.c (tree_single_nonzero_warnv_p): Always treat decls - for things others than variables or functions as nonzero. + * fold-const.c (tree_single_nonzero_warnv_p): Always treat decls + for things others than variables or functions as nonzero. 2009-04-09 Nick Clifton @@ -352,40 +406,40 @@ 2009-04-09 Paolo Bonzini - * config/i386/i386.md (cmpcc): New. - * config/i386/sync.md (sync_compare_and_swap*): Set FLAGS_REG. - (sync_compare_and_swap_cc*): Delete. - - * config/s390/s390.c (s390_compare_emitted): Remove. - (s390_emit_compare): Handle MODE_CC s390_compare_op0 like - s390_compare_emitted used to be handled. Assert that modes match. - (s390_emit_compare_and_swap): Use s390_emit_compare, do not - refer to sync_compare_and_swap_ccsi. - * config/s390/s390.h (s390_compare_emitted): Remove. - * config/s390/s390.md (seq): Look for MODE_CC s390_compare_op0 - instead of s390_compare_emitted. - (stack_protect_test, sync_compare_and_swap_cc): Set s390_compare_op0 - instead of s390_compare_emitted. - * config/s390/s390.md (cmpcc): New. - (sync_compare_and_swapqi, sync_compare_and_swaphi): Clobber - CC_REGNUM, do not pretend it's set. - (sync_compare_and_swap_cc*): Delete. - * config/s390/predicates.md (cc_reg_operand): New. - - * expr.c (sync_compare_and_swap_cc): Delete. - * optabs.h (sync_compare_and_swap_cc): Delete. - * optabs.c (prepare_cmp_insn): Ignore which specific CCmode - is being used with can_compare_p. - (emit_cmp_and_jump_insn_1): Likewise when looking in the optab. - (find_cc_set): New. - (expand_bool_compare_and_swap): Do not use sync_compare_and_swap_cc, - look for a MODE_CC set instead. Use emit_store_flag. - (expand_compare_and_swap_loop): Likewise, with some additional - complication to avoid a force_reg when useless. Use - emit_cmp_and_jump_insns. - * genopinit.c (optabs): Delete sync_compare_and_swap_cc. - * doc/md.texi (sync_compare_and_swap_cc): Merge with - sync_compare_and_swap documentation. + * config/i386/i386.md (cmpcc): New. + * config/i386/sync.md (sync_compare_and_swap*): Set FLAGS_REG. + (sync_compare_and_swap_cc*): Delete. + + * config/s390/s390.c (s390_compare_emitted): Remove. + (s390_emit_compare): Handle MODE_CC s390_compare_op0 like + s390_compare_emitted used to be handled. Assert that modes match. + (s390_emit_compare_and_swap): Use s390_emit_compare, do not + refer to sync_compare_and_swap_ccsi. + * config/s390/s390.h (s390_compare_emitted): Remove. + * config/s390/s390.md (seq): Look for MODE_CC s390_compare_op0 + instead of s390_compare_emitted. + (stack_protect_test, sync_compare_and_swap_cc): Set s390_compare_op0 + instead of s390_compare_emitted. + * config/s390/s390.md (cmpcc): New. + (sync_compare_and_swapqi, sync_compare_and_swaphi): Clobber + CC_REGNUM, do not pretend it's set. + (sync_compare_and_swap_cc*): Delete. + * config/s390/predicates.md (cc_reg_operand): New. + + * expr.c (sync_compare_and_swap_cc): Delete. + * optabs.h (sync_compare_and_swap_cc): Delete. + * optabs.c (prepare_cmp_insn): Ignore which specific CCmode + is being used with can_compare_p. + (emit_cmp_and_jump_insn_1): Likewise when looking in the optab. + (find_cc_set): New. + (expand_bool_compare_and_swap): Do not use sync_compare_and_swap_cc, + look for a MODE_CC set instead. Use emit_store_flag. + (expand_compare_and_swap_loop): Likewise, with some additional + complication to avoid a force_reg when useless. Use + emit_cmp_and_jump_insns. + * genopinit.c (optabs): Delete sync_compare_and_swap_cc. + * doc/md.texi (sync_compare_and_swap_cc): Merge with + sync_compare_and_swap documentation. 2009-04-09 Jan Hubicka