+2009-04-13 Ozkan Sezer <sezeroz@gmail.com>
+
+ PR/39066
+ * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Use __SIZE_TYPE__
+ instead of unsigned long.
+
+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
+ 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
+ * objc/objc-act.c (warn_with_method): Remove helper function.
+ (check_duplicates): Call warning and inform directly.
+ (really_start_method): Likewise.
+
+2009-04-09 Paolo Bonzini <bonzini@gnu.org>
+
+ * 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.
+
2009-04-09 Nick Clifton <nickc@redhat.com>
* unwind-compat.c: Change copyright header to refer to version
3 of the GNU General Public License with version 3.1 of the
GCC Runtime Library Exception and to point readers at the
- COPYING3 and COPYING3.RUNTIME files and the FSF's license web
- page.
+ COPYING3 and COPYING3.RUNTIME files and the FSF's license web page.
* config/alpha/crtfastmath.c: Likewise.
* config/alpha/linux-unwind.h: Likewise.
* config/alpha/qrnnd.asm: Likewise.
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>
2009-04-08 Paolo Bonzini <bonzini@gnu.org>
- * recog.c (ordered_comparison_operator): New.
- * gensupport.c (std_preds): Add it.
+ * recog.c (ordered_comparison_operator): New.
+ * gensupport.c (std_preds): Add it.
* doc/md.texi (Machine-Independent Predicates): Document it.
2009-04-08 Jan Hubicka <jh@suse.cz>
2009-04-08 Bingfeng Mei <bmei@broadcom.com>
* fold-const.c (const_binop): Combine two VECTOR_CST under operation
- CODE to produce a new one. Add a prototype to use fold_convert_const
+ CODE to produce a new one. Add a prototype to use fold_convert_const
2009-04-08 Danny Smith <dannysmith@users.sourceforge.net>
(vect_do_peeling_for_alignment): Adjust. Unconditionally apply
the cost model check.
(vect_loop_versioning): Take stmt and stmt list to put pre-condition
- guards if we are going to peel. Do not apply versioning in that
- case.
+ guards if we are going to peel. Do not apply versioning in that case.
* tree-vectorizer.h (vect_loop_versioning): Adjust declaration.
(vect_do_peeling_for_loop_bound): Likewise.
* tree-vect-loop.c (vect_transform_loop): If we are peeling for
PR rtl-optimization/39607
PR rtl-optimization/39631
- Revert
+
+ Revert:
+
2009-03-30 Vladimir Makarov <vmakarov@redhat.com>
* reload.c (push_reload, find_dummy_reload): Use df_get_live_out
instead of DF_LR_OUT.
(record_equivalences_from_stmt): Likewise.
(avail_expr_hash): Likewise.
(avail_expr_eq): Likewise.
- * tree-ssa-propagate.c (update_call_from_tree): Properly
- update VOPs.
+ * tree-ssa-propagate.c (update_call_from_tree): Properly update VOPs.
(stmt_makes_single_load): Likewise.
(stmt_makes_single_store): Likewise.
* tree-ssa-alias.c: Rewrite completely.
(PARAM_AVG_ALIASED_VOPS): Likewise.
* tree-ssanames.c (init_ssanames): Allocate SYMS_TO_RENAME.
(duplicate_ssa_name_ptr_info): No need to copy the shared bitmaps.
- * tree-ssa-operands.c: Simplify for new virtual operand
- representation.
+ * tree-ssa-operands.c: Simplify for new virtual operand representation.
(operand_build_cmp, copy_virtual_operands,
create_ssa_artificial_load_stmt, add_to_addressable_set,
gimple_add_to_addresses_taken): Remove public functions.
Also, make sure the function properly sets TYPE_STUB_DECL() on
the newly created typedef variant type.
* c-common.h (is_typedef_decl, set_underlying_type): Declare ...
- * c-common.c (is_typedef_decl, set_underlying_type): ... new entry points.
+ * c-common.c (is_typedef_decl, set_underlying_type): ... new entry
+ points.
2009-04-02 Richard Guenther <rguenther@suse.de>
* config/i386/i386.c (legitimate_constant_p): Recognize
all one vector constant.
-2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config/vax/vax.c: Add #includes to silence warnings.
Change #include order to silence two warnings.
-2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config/vax/linux.h (TARGET_DEFAULT): Add the MASK_QMATH flag bit.
(ASM_SPEC): Pass -k to the assembler for PIC code.
-2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config.gcc: Add vax-*-linux* to the switch.
* gcc/config/vax/linux.h: New file. (TARGET_VERSION,
TARGET_OS_CPP_BUILTINS, TARGET_DEFAULT, CPP_SPEC, LINK_SPEC): Define.
-2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config/vax/vax.c (vax_output_int_move, adjacent_operands_p):
Use predicate macros instead of GET_CODE() == foo.
* gcc/config/vax/vax.md (movsi_2, movstrictqi, and<mode>3, ashrsi3,
ashlsi3, rotrsi3, <unnamed>): Likewise.
-2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config/vax/builtins.md (jbbssiqi, jbbssihi, jbbssisi, jbbcciqi,
jbbccihi, jbbccisi): Remova trailing whitespace.
* gcc/config/vax/vax.h: Likewise.
* gcc/config/vax/vax.md (nonlocal_goto): Likewise.
-2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config/vax/vax.c (vax_float_literal, vax_output_int_move)
(indirectable_address_p, adjacent_operands_p): Add spaces around
braces.
* gcc/config/vax/vax-protos.h (adjacent_operands_p): Likewise.
-2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config/vax/vax.c (legitimate_constant_address_p,
legitimate_constant_p, indirectable_address_p, nonindexed_address_p,
vax_mode_dependent_address_p): Update comments to match functions
modified by the recent int->bool conversion.
-2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config/vax/builtins.md: Update copyright message.
* gcc/config/vax/constraints.md: Likewise.
* gcc/config/vax/vax.md: Likewise.
* gcc/config/vax/vax.opt: Likewise.
-2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
+2009-04-01 Jan-Benedict Glaw <jbglaw@jbglaw-dev.homezone.telefonica.de>
* gcc/config/vax/builtins.md (ffssi2, ffssi2_internal,
sync_lock_test_and_set<mode>, sync_lock_release<mode>): Fix indention.
* gcc/config/vax/vax.md (movsi, movsi_2, mov<mode>, call_value,
untyped_call): Likewise.
-2009-04-01 Matt Thomas <matt@3am-software.com>
+2009-04-01 Matt Thomas <matt@3am-software.com>
- * config/vax/predicates.md: New file. (symbolic_operand,
- local_symbolic_operand, external_symbolic_operand,
+ * config/vax/predicates.md: New file.
+ (symbolic_operand, local_symbolic_operand, external_symbolic_operand,
external_const_operand, nonsymbolic_operand, external_memory_operand,
indirect_memory_operand, indexed_memory_operand,
illegal_blk_memory_operand, illegal_addsub_di_memory_operand,
nonimmediate_addsub_di_operand, general_addsub_di_operand): New
predicate.
- * config/vax/constraints.md: New file. (Z0, U06, U08, U16, CN6, S08,
- S16, I, J, K, L, M, N, O, G, Q, B, R, T): New constraint.
- * config/vax/builtins.md: New file. (ffssi2, ffssi2_internal,
- sync_lock_test_and_set<mode>, jbbssiqi, jbbssihi, jbbssisi,
- sync_lock_release<mode>, jbbcciqi, jbbccihi, jbbccisi): Define.
+ * config/vax/constraints.md: New file.
+ (Z0, U06, U08, U16, CN6, S08, S16, I, J, K, L, M, N, O, G, Q, B, R, T):
+ New constraint.
+ * config/vax/builtins.md: New file.
+ (ffssi2, ffssi2_internal, sync_lock_test_and_set<mode>, jbbssiqi,
+ jbbssihi, jbbssisi, sync_lock_release<mode>, jbbcciqi, jbbccihi,
+ jbbccisi): Define.
* config/vax/vax.opt (mqmath): Add option.
* config/vax/vax.md (isfx): Extend with DI.
(VAXintQH, VAXintQHSD): Define.
ASM_OUTPUT_DWARF_PCREL): Define.
(ASM_SPEC): Change definition to allow PIC generation.
+2009-04-01 Steve Ellcey <sje@cup.hp.com>
+
+ * doc/sourcebuild.texi: Update front-end requirements.
+
2009-04-01 Jakub Jelinek <jakub@redhat.com>
PR target/39226
2009-04-01 Rafael Avila de Espindola <espindola@google.com>
- * varasm.c (default_function_rodata_section): Declare DOT as const char*.
+ * varasm.c (default_function_rodata_section): Declare DOT as
+ const char*.
2009-04-01 Kai Tietz <kai.tietz@onevision.com>
Andrey Galkin <agalkin@hypercom.com>
2009-03-31 Joseph Myers <joseph@codesourcery.com>
* c-common.c (c_get_ident): New.
- (c_common_nodes_and_builtins): Call it for type names that may be
- NULL.
+ (c_common_nodes_and_builtins): Call it for type names that may be NULL.
2009-04-01 Ben Elliston <bje@au.ibm.com>