OSDN Git Service

2009-04-10 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5e51f85..24e0f46 100644 (file)
@@ -1,3 +1,63 @@
+2009-04-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR tree-optimization/39701
+       * doc/invoke.texi (Optimization Options): Document change in
+       meaning and initialization of -fdelete-null-pointer-checks.
+
+2009-04-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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  <fu@mips.com>
+
+       * 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  <bonzini@gnu.org>
+
+       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  <hongjiu.lu@intel.com>
+
+       * config/rs6000/darwin-vecsave.asm: Remove extra "*/".
+
+2009-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/39678
+       * config/i386/i386.c (classify_argument): Handle SCmode with
+       (bit_offset % 64) != 0.
+
+2009-04-09  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi (Optimize Options): Add cross-reference to
+       -Q --help=optimizers examples.
+
+2009-04-10  Ben Elliston  <bje@au.ibm.com>
+
+       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  <ayers@fsfe.org>
 
        PR objc/29200
@@ -10,8 +70,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  <nickc@redhat.com>
 
 
 2009-04-09  Paolo Bonzini  <bonzini@gnu.org>
 
-        * 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  <jh@suse.cz>