+2009-04-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.c (return_used_this_function): Remove.
+ (arm_output_function_prologue): Remove use of
+ return_used_this_function.
+ (output_return_instruction): Replace use of
+ return_used_this_function
+ by cfun->machine->return_used_this_function.
+ (arm_output_epilogue): Likewise.
+ (arm_output_function_epilogue): Likewise.
+ (thumb_unexpanded_epilogue): Likewise.
+ * config/arm/arm.h (struct machine_function):
+ New member return_used_this_function.
+
+2009-04-12 Mark Mitchell <mark@codesourcery.com>
+
+ * doc/install.texi: Correct description of default directory for
+ --with-gxx-include-dir.
+
+2009-04-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (build_range_check): Properly deal with enumeral and
+ boolean base types.
+
+2009-04-12 Steven Bosscher <steven@gcc.gnu.org>
+
+ * doc/invoke.texi (max_gcse_passes): Remove documentation.
+ * params.def (PARAM_MAX_GCSE_PASSES): Remove.
+ * params.h (MAX_GCSE_PASSES): Remove.
+ * gcse.c (gcse_main): Run CPROP1, PRE or HOIST, and CPROP2
+ in sequence. Remove ability to run multiple passes.
+ (bypass_jumps): Report run as third CPROP pass.
+
+2009-04-12 Adam Nemet <anemet@caviumnetworks.com>
+
+ PR middle-end/39651
+ * except.c (can_throw_external): Look at each insn in a SEQUENCE
+ when deciding whether the whole SEQUENCE can throw.
+
+2009-04-12 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/39740
+ * config/alpha/predicates.md (local_symbolic_operand): Return 1 for
+ offseted label references.
+
+2009-04-11 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-pre.c (eliminate): Fix call of update_stmt.
+
+2009-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/39732
+ * tree-inline.c (declare_return_variable): Mark DECL_BY_REFERENCE
+ return variables as TREE_ADDRESSABLE.
+
+2009-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/39713
+ * tree-ssa-sccvn.c (vn_get_expr_for): Make sure built
+ reference trees have SSA_NAME operands.
+
+2009-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR c/39712
+ * c-gimplify.c (c_gimplify_expr): Adjust check for mismatched
+ address expressions.
+
+2009-04-11 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config/i386/cygwin-stdint.h (INT_LEAST32_TYPE): Update to
+ match changes in Cygwin 1.7
+ (UINT_LEAST32_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE,
+ UINT_FAST16_TYPE, UINT_FAST32_TYPE): Likewise.
+
+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
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.
+ * 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>
* 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>