+2005-04-19 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
+
+2005-04-19 Andrew Haley <aph@redhat.com>
+
+ PR java/21022
+ * dbxout.c (dbxout_type_fields): Check DECL_IGNORED_P before
+ looking at a field's bitpos.
+
+2005-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * system.h (fopen, fdopen, freopen): Define these to the unlocked
+ libiberty functions.
+
+2005-04-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/21096
+ * tree-ssa-copy.c (fini_copy_prop): Free cached_last_copy_of.
+
+2005-04-19 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/21098
+ * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
+ * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.
+
+2005-04-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-cfg.c (dump_function_to_file): Use cfun info only if it
+ refers to the function being dumped.
+
+2005-04-18 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * varasm.c (assemble_start_function): Remove reset of in_section.
+
+2005-04-18 James A. Morrison <phython@gcc.gnu.org>
+
+ PR tree-optimization/21085
+ * fold-const (fold_binary): Don't change X % -C to X % C if C has
+ overflowed.
+
+2005-04-19 Ben Elliston <bje@au.ibm.com>
+
+ * doc/invoke.texi (Optimize Options): Refer to the correct
+ optimisation flag -ftree-dominator-opts, not -ftree-dom.
+
+2005-04-18 Christopher Jaillet <christophe.jaillet@wanadoo.fr>
+
+ * config/rs6000/rs6000.c (machopic_output_stub): Increase
+ alloca argument to be big enough.
+
+2005-04-18 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/21049
+ * tree-cfg.c (dump_function_to_file): Do not crash if cfun or
+ cfun->cfg are NULL.
+
+2005-04-18 Tom Tromey <tromey@redhat.com>
+
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Fix a comment
+ typo.
+
+2005-04-18 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_split_atomic_op): New.
+ (alphaev5_insn_pipe): Add LD_L, ST_C, MB types.
+ (alphaev4_insn_pipe): Likewise. Correct IST and LDSYM pipes.
+ * config/alpha/alpha-protos.h: Update.
+ * config/alpha/alpha.md (UNSPECV_MB, UNSPECV_LL, UNSPECV_SC): New.
+ (UNSPECV_ATOMIC, UNSPECV_CMPXCHG, UNSPECV_XCHG): New.
+ (attr type): Add ld_l, st_c, mb.
+ (andsi_internal, andnotsi3, iorsi_internal, one_cmplsi_internal,
+ iornotsi3, xorsi_internal, xornotsi3): New.
+ * config/alpha/ev4.md (ev4_ld): Add ld_l.
+ (ev4_ist_c, ev4_mb): New.
+ * config/alpha/ev5.md (ev5_st): Add st_c, mb.
+ (ev5_ld_l): New.
+ * config/alpha/ev6.md (ev6_ild): Add ld_l.
+ (ev6_ist): Add st_c.
+ (ev6_mb): New.
+ * config/alpha/sync.md: New file.
+
+2005-04-18 Richard Henderson <rth@redhat.com>
+
+ * builtins.c (expand_builtin_sync_operation): Fold nand to and
+ for constants.
+
+ * optabs.c (expand_sync_operation): Fix typo expanding nand to and.
+
+2005-04-18 Devang Patel <dpatel@apple.com>
+
+ * config/rs6000/atlivec.md (mulv4si3): New pattern.
+
+2005-04-18 James A. Morrison <phython@gcc.gnu.org>
+
+ PR tree-optimization/20922
+ * fold-const.c (fold_binary): Fold X - c > X and X + c < X to false.
+ Fold X + c >= X and fold X - c <= X to true.
+
+2005-04-18 James A. Morrison <phython@gcc.gnu.org>
+
+ * config/ia64/unwind-ia64.c (emergency_reg_state_free): Make an
+ unsigned int.
+ (emergency_labeled_state_free): Likewise.
+
+2005-04-18 Nick Clifton <nickc@redhat.com>
+
+ * config/h8300/h8300.md (jump): Remove prescan parameter from
+ calls to final_scan_insn.
+
+ * config/arc/arc.c (arc_output_function_epilogue): Remove prescan
+ parameter from calls to final_scan_insn.
+
+ * config.gcc (m68hc12): Use the m68hc11.opt file for target
+ specific options.
+ (v850e, v850e1): Use the v850.opt file for target specific
+ options.
+
+2005-04-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/21001
+ * tree-optimize.c (init_tree_optimization_passes): Move the
+ first pass_forwprop immediately before pass_vrp.
+
+2005-04-17 Ian Lance Taylor <ian@airs.com>
+
+ * c-common.def (SIZEOF_EXPR, ARROW_EXPR, ALIGNOF_EXPR): Remove.
+ * c-common.c (c_sizeof_or_alignof_type): Change second parameter
+ from enum tree_code op to bool is_sizeof.
+ * c-common.h (c_sizeof_or_alignof_type): Update declaration.
+ (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
+ * c-pretty-print.c (pp_c_postfix_expression): Remove ARROW_EXPR
+ case.
+ (pp_c_unary_expression): Remove SIZEOF_EXPR and ALIGNOF_EXPR
+ cases.
+ (pp_c_expression): Remove ARROW_EXPR, SIZEOF_EXPR, and
+ ALIGNOF_EXPR cases.
+
+2005-04-17 Ian Lance Taylor <ian@airs.com>
+
+ * system.h: Poison DONT_ACCESS_GBLS_AFTER_EPILOGUE.
+
+2005-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (va_list_skip_additions): Only define if
+ TARGET_ABI_OSF.
+ (TARGET_STDARG_OPTIMIZE_HOOK): Likewise.
+ (alpha_stdarg_optimize_hook): Likewise. Allow for one more round
+ of indirection through ssa names while looking for the gpr counter
+ field.
+ (alpha_setup_incoming_varargs) <TARGET_ABI_OSF>: Make use of the
+ saved va_list_gpr_size and va_list_fpr_size.
+
+2005-04-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-vrp.c (compare_values): Check that VAL1 and VAL2 are
+ both pointers or both integers.
+
+ * tree-vrp.c (maybe_add_assert_expr): Don't assert
+ ASSERT_EXPRs for single-use variable.
+
+ * tree-into-ssa.c: Fix a comment typo.
+
+2005-04-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/iris6.h (DRIVER_SELF_SPECS): Check -march as well as
+ -mipsN before forcing a default of -mips2.
+
+2005-04-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ * predict.h (IS_TAKEN): Remove.
+ * rtl.h (NOTE_PREDICTION): Likewise.
+
+ * modulo-sched.c (CFG_HOOKS): Remove.
+
+ * c-parser.c (N_C_TTYPES): Remove.
+
+ * tree-flow-inline.h (get_stmt_operands): Remove.
+ * lambda-code.c, tree-ssa-loop-unswitch.c,
+ tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa-propagate.c,
+ tree-ssa-sink.c, tree-ssa.c, tree-tailcall.c,
+ tree-vect-transform.c, tree-vectorizer.c, tree-vrp.c): Remove
+ calls to get_stmt_operands.
+ * doc/tree-ssa.texi: Don't mention get_stmt_operands.
+
+2005-04-17 Richard Henderson <rth@redhat.com>
+
+ PR target/20375
+ * config/alpha/alpha.c (alpha_setup_incoming_varargs): Advance a copy
+ of CUMULATIVE_ARGS past the last named argument.
+ (alpha_va_start): Expect pretend_args_size only if strictly less than
+ 6 named arguments.
+
+2005-04-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR middle-end/21024
+ * builtins.c (expand_builtin_strcat): Convert the result of
+ strlen to the right type.
+ * fold-const.c (fold_binary) <PLUS_EXPR>: Use fold_convert to
+ avoid creating type mismatches.
+ <GE_EXPR>: Pass op0 and op1 to fold_build2 to avoid creating
+ type mismatches.
+
+ * c-lex.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Remove.
+
+2005-04-16 Richard Henderson <rth@redhat.com>
+
+ PR target/21051
+ * builtins.c (expand_builtin) <BUILT_IN_BOOL_COMPARE_AND_SWAP_*>:
+ Use the mode of boolean_type_node when the user doesn't provide one.
+ * config/ia64/sync.md (sync_lock_release<I48MODE>): Use operand 1.
+
+2005-04-16 Alexandre Oliva <aoliva@redhat.com>
+
+ PR target/20126
+ * loop.c (loop_givs_rescan): Handle non-replaceable (plus (reg)
+ (const)).
+
+ * tree-scalar-evolution.c (interpret_rhs_modify_expr): Fix typo in
+ comment.
+
+2005-04-16 Roger Sayle <roger@eyesopen.com>
+ Steven Bosscher <stevenb@suse.de>
+
+ * fold-const.c (fold_binary_to_constant): Delete obsolete comment.
+ (fold_unary_to_constant): Likewise.
+
+2005-04-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * basic-block.h: Adjust the value of PROP_SCAN_DEAD_STORES,
+ PROP_ASM_SCAN.
+
+2005-04-16 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Specific): Avoid using asterisks in @anchor
+ names related to target triplets.
+ Remove i?86-*-esix from platform directory.
+ Remove powerpc-*-eabiaix from platform directory.
+
+2005-04-16 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR middle-end/20491
+ * config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of
+ falling through from SUBREG case to REG.
+
+2005-04-15 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_relational_hi_lo): Delete function and prototype.
+ (fold_binary): Update comment mentioning fold_relational_hi_lo.
+ (fold_binary_to_constant): Simplify using fold_binary.
+ (fold_unary_to_constant): Likewise, simplify using fold_unary.
+
+2005-04-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * gthr-posix.c (pthread_cancel): Define.
+ (pthread_mutexattr_init): Likewise.
+ (pthread_mutexattr_settype): Likewise.
+ (pthread_mutexattr_destroy): Likewise.
+
+2005-04-15 David S. Miller <davem@davemloft.net>
+
+ PR target/20673
+ * config/sparc/sparc.h (sparc_hard_reg_printed): Mark as GTY(()).
+
+2005-04-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/21031
+ * tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): New.
+ (forward_propagate_into_cond_1): Call it. Forward propagate
+ integer-integer casts into COND_EXPRs.
+
+2005-04-15 Dave Korn <dave.korn@artimi.com>
+
+ * gcc.c (default_compilers): Clarify obscure error message when
+ reading from standard input.
+
+2005-04-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * basic-block.h (PROP_EQUAL_NOTES): Remove.
+ * flow.c (propagate_one_insn): Don't use PROP_EQUAL_NOTES.
+
+ * tree-ssa-alias.c (init_alias_info): Remove a call to
+ get_stmt_operands.
+
+2005-04-15 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree-vect-analyze.c (vect_stmt_relevant_p): Process immediate uses
+ of non-virtual PHI nodes like we use to.
+
+2005-05-15 Paolo Bonzini <bonzini@gnu.org>
+
+ * genattrtab.c (ATTR_EQ_ATTR_P): Remove.
+ (attr_copy_rtx): Do not use it.
+
+2005-04-15 Andrew Macleod <amacleod@redhat.com>
+
+ * doc/tree-ssa.texi: Grammer/abbreviation updates.
+
+2005-04-15 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-vect-transform.c (vectorizable_store): Mark necessary
+ objects in the vectorized store needing renaming. Update the
+ SSA graph for V_MAY_DEF operands in the original store.
+
+2005-04-14 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-pre.c (compute_avail): It's okay to have
+ TREE_INVARIANT's here, and value number the resulting expressions.
+ (create_expression_by_pieces): Make sure operands that were
+ min_invariant when we started, stay that way.
+
+2005-04-15 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi (*-ibm-aix*): Add comment about system limits.
+
+2005-04-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/20936.
+ * tree-ssa-ccp.c (visit_assignment): Fix a typo.
+
+2005-04-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * doc/invoke.texi: Fix typos.
+ * doc/md.texi: Likewise.
+ * doc/rtl.texi: Likewise.
+ * doc/sourcebuild.texi: Likewise.
+ * doc/tm.texi: Likewise.
+
+2005-04-15 Uros Bizjak <uros@kss-loka.si>
+
+ PR tree-optimization/21004
+ * convert.c (convert_to_integer): Convert ceilf, ceill, floorf
+ and floorl in c99 mode only.
+ * builtins.c (expand_builtin_int_roundingfn): Assert that
+ fallback_fndecl is not NULL_TREE.
+
+2005-04-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cfgrtl.c (purge_all_dead_edge): Remove an unused argument.
+ * basic-block.h: Update the prototype for
+ purge_all_dead_edges.
+ * cfgexpand.c (tree_expand_cfg): Update a call to
+ purge_all_dead_edges.
+ * combine.c (combine_instructions): Likewise.
+ * passes.c (rest_of_handle_old_regalloc, rest_of_handle_cse,
+ rest_of_handle_cse2, rest_of_handle_gcse,
+ rest_of_handle_postreload): likewise.
+
+2005-04-15 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/20739
+ * gimplify.c (gimplify_addr_expr): Compensate for removal of
+ e.g. cv-qualification conversions.
+
+2005-04-14 Mike Stump <mrs@apple.com>
+
+ * config/darwin-c.c (framework_construct_pathname): We must
+ find all headers of a framework in the first instance of it
+ found in the seach path.
+
+2005-04-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/21021
+ * tree-vrp.c (compare_values): Work around a bug in the front
+ end that produces a comparison of mismatched types.
+
+2004-04-14 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.h (enum fetchop_code): Remove.
+ (enum ia64_builtins): Move ...
+ * config/ia64/ia64.c (enum ia64_builtins): ... here. Remove all
+ members except BSP and FLUSHRS.
+ (ia64_init_builtins): Remove __sync builtins.
+ (ia64_expand_builtin): Likewise.
+ (ia64_expand_fetch_and_op, ia64_expand_op_and_fetch): Remove.
+ (ia64_expand_compare_and_swap, ia64_expand_lock_test_and_set): Remove.
+ (ia64_expand_lock_release): Remove.
+ * config/ia64/ia64.md (mf): Move to sync.md.
+ (mf_internal, fetchadd_acq_si, fetchadd_acq_di, cmpxchg_acq_si,
+ cmpxchg_acq_di, xchgsi, xchgdi): Likewise.
+ * config/ia64/sync.md: New file.
+ (memory_barrier): Rename from mf.
+ (fetchadd_acq_<I48MODE>): Macroize from _si/_di patterns.
+ (cmpxchg_acq_<I48MODE>): Likewise.
+ (sync_lock_test_and_set<I48MODE>): Likewise.
+
+ * config/ia64/ia64intrin.h: Define nothing for C; limit #defines
+ to c++. Remove __sync* declarations. s/_si/_4/. s/_di/_8/.
+
+2004-04-14 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (x86_cmpxchg, x86_xadd): New.
+ (ix86_compare_emitted): New.
+ (ix86_expand_compare): Use ix86_compare_emitted if set.
+ (ix86_expand_setcc): Only emit REG_EQUAL if both ix86_compare_op0
+ and ix86_compare_op0 are set.
+ * config/i386/i386.h (x86_cmpxchg, x86_xadd): Declare.
+ (TARGET_CMPXCHG, TARGET_XADD): New.
+ (ix86_compare_emitted): Declare.
+ * config/i386/i386.md: Include sync.md
+ (UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2): New.
+ (UNSPECV_XCHG, UNSPECV_LOCK): New.
+ * config/i386/sync.md: New file.
+
+2004-04-14 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/14311
+ * builtin-types.def (BT_BOOL, BT_VOLATILE_PTR, BT_I1, BT_I2,
+ BT_I4, BT_I8, BT_FN_VOID_VPTR, BT_FN_I1_VPTR_I1, BT_FN_I2_VPTR_I2,
+ BT_FN_I4_VPTR_I4, BT_FN_I8_VPTR_I8, BT_FN_BOOL_VPTR_I1_I1,
+ BT_FN_BOOL_VPTR_I2_I2, BT_FN_BOOL_VPTR_I4_I4, BT_FN_BOOL_VPTR_I8_I8,
+ BT_FN_I1_VPTR_I1_I1, BT_FN_I2_VPTR_I2_I2, BT_FN_I4_VPTR_I4_I4,
+ BT_FN_I8_VPTR_I8_I8): New.
+ * builtins.def (DEF_SYNC_BUILTIN): New.
+ (BUILT_IN_FETCH_AND_ADD_N, BUILT_IN_FETCH_AND_ADD_1,
+ BUILT_IN_FETCH_AND_ADD_2, BUILT_IN_FETCH_AND_ADD_4,
+ BUILT_IN_FETCH_AND_ADD_8, BUILT_IN_FETCH_AND_SUB_N,
+ BUILT_IN_FETCH_AND_SUB_1, BUILT_IN_FETCH_AND_SUB_2,
+ BUILT_IN_FETCH_AND_SUB_4, BUILT_IN_FETCH_AND_SUB_8,
+ BUILT_IN_FETCH_AND_OR_N, BUILT_IN_FETCH_AND_OR_1,
+ BUILT_IN_FETCH_AND_OR_2, BUILT_IN_FETCH_AND_OR_4,
+ BUILT_IN_FETCH_AND_OR_8, BUILT_IN_FETCH_AND_AND_N,
+ BUILT_IN_FETCH_AND_AND_1, BUILT_IN_FETCH_AND_AND_2,
+ BUILT_IN_FETCH_AND_AND_4, BUILT_IN_FETCH_AND_AND_8,
+ BUILT_IN_FETCH_AND_XOR_N, BUILT_IN_FETCH_AND_XOR_1,
+ BUILT_IN_FETCH_AND_XOR_2, BUILT_IN_FETCH_AND_XOR_4,
+ BUILT_IN_FETCH_AND_XOR_8, BUILT_IN_FETCH_AND_NAND_N,
+ BUILT_IN_FETCH_AND_NAND_1, BUILT_IN_FETCH_AND_NAND_2,
+ BUILT_IN_FETCH_AND_NAND_4, BUILT_IN_FETCH_AND_NAND_8,
+ BUILT_IN_ADD_AND_FETCH_N, BUILT_IN_ADD_AND_FETCH_1,
+ BUILT_IN_ADD_AND_FETCH_2, BUILT_IN_ADD_AND_FETCH_4,
+ BUILT_IN_ADD_AND_FETCH_8, BUILT_IN_SUB_AND_FETCH_N,
+ BUILT_IN_SUB_AND_FETCH_1, BUILT_IN_SUB_AND_FETCH_2,
+ BUILT_IN_SUB_AND_FETCH_4, BUILT_IN_SUB_AND_FETCH_8,
+ BUILT_IN_OR_AND_FETCH_N, BUILT_IN_OR_AND_FETCH_1,
+ BUILT_IN_OR_AND_FETCH_2, BUILT_IN_OR_AND_FETCH_4,
+ BUILT_IN_OR_AND_FETCH_8, BUILT_IN_AND_AND_FETCH_N,
+ BUILT_IN_AND_AND_FETCH_1, BUILT_IN_AND_AND_FETCH_2,
+ BUILT_IN_AND_AND_FETCH_4, BUILT_IN_AND_AND_FETCH_8,
+ BUILT_IN_XOR_AND_FETCH_N, BUILT_IN_XOR_AND_FETCH_1,
+ BUILT_IN_XOR_AND_FETCH_2, BUILT_IN_XOR_AND_FETCH_4,
+ BUILT_IN_XOR_AND_FETCH_8, BUILT_IN_NAND_AND_FETCH_N,
+ BUILT_IN_NAND_AND_FETCH_1, BUILT_IN_NAND_AND_FETCH_2,
+ BUILT_IN_NAND_AND_FETCH_4, BUILT_IN_NAND_AND_FETCH_8,
+ BUILT_IN_BOOL_COMPARE_AND_SWAP_N, BUILT_IN_BOOL_COMPARE_AND_SWAP_1,
+ BUILT_IN_BOOL_COMPARE_AND_SWAP_2, BUILT_IN_BOOL_COMPARE_AND_SWAP_4,
+ BUILT_IN_BOOL_COMPARE_AND_SWAP_8, BUILT_IN_VAL_COMPARE_AND_SWAP_N,
+ BUILT_IN_VAL_COMPARE_AND_SWAP_1, BUILT_IN_VAL_COMPARE_AND_SWAP_2,
+ BUILT_IN_VAL_COMPARE_AND_SWAP_4, BUILT_IN_VAL_COMPARE_AND_SWAP_8,
+ BUILT_IN_LOCK_TEST_AND_SET_N, BUILT_IN_LOCK_TEST_AND_SET_1,
+ BUILT_IN_LOCK_TEST_AND_SET_2, BUILT_IN_LOCK_TEST_AND_SET_4,
+ BUILT_IN_LOCK_TEST_AND_SET_8, BUILT_IN_LOCK_RELEASE_N,
+ BUILT_IN_LOCK_RELEASE_1, BUILT_IN_LOCK_RELEASE_2,
+ BUILT_IN_LOCK_RELEASE_4, BUILT_IN_LOCK_RELEASE_8,
+ BUILT_IN_SYNCHRONIZE: New.
+ * builtins.c (called_as_built_in): Rewrite from CALLED_AS_BUILT_IN
+ as a function. Accept __sync_ as a prefix as well.
+ (expand_builtin_sync_operation, expand_builtin_compare_and_swap,
+ expand_builtin_lock_test_and_set, expand_builtin_synchronize,
+ expand_builtin_lock_release): New.
+ (expand_builtin): Call them.
+ * c-common.c (DEF_BUILTIN): Don't require __builtin_ prefix if
+ neither BOTH_P nor FALLBACK_P are defined.
+ (builtin_type_for_size): New.
+ (sync_resolve_size, sync_resolve_params, sync_resolve_return): New.
+ (resolve_overloaded_builtin): New.
+ * c-common.h (resolve_overloaded_builtin): Declare.
+ (builtin_type_for_size): Declare.
+ * c-typeck.c (build_function_call): Invoke resolve_overloaded_builtin.
+ * expr.c (sync_add_optab, sync_sub_optab, sync_ior_optab,
+ sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab,
+ sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab,
+ sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab,
+ sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab,
+ sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap,
+ sync_compare_and_swap_cc, sync_lock_test_and_set,
+ sync_lock_release): New.
+ * optabs.h: Declare them.
+ * expr.h (expand_val_compare_and_swap, expand_bool_compare_and_swap,
+ expand_sync_operation, expand_sync_fetch_operation,
+ expand_sync_lock_test_and_set): Declare.
+ * genopinit.c (optabs): Add sync optabs.
+ * optabs.c (init_optabs): Initialize sync optabs.
+ (expand_val_compare_and_swap_1, expand_val_compare_and_swap,
+ expand_bool_compare_and_swap, expand_compare_and_swap_loop,
+ expand_sync_operation, expand_sync_fetch_operation,
+ expand_sync_lock_test_and_set): New.
+ * doc/extend.texi (Atomic Builtins): New section
+ * doc/md.texi (Standard Names): Add sync patterns.
+
+2005-04-14 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-eh.c (lower_try_finally_copy): Generate new code in
+ response to goto_queue entries as if the queue was sorted by
+ index, not pointers.
+ (lower_try_finally_switch): Likewise.
+
+2005-04-14 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_sse_cmp): Split out from ...
+ (ix86_expand_sse_movcc): ... here. Take cmp as a pre-computed
+ register.
+ (ix86_expand_fp_movcc): Update to match.
+ (ix86_expand_fp_vcond, ix86_expand_int_vcond): New.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/sse.md (vcondv4sf, vcondv2df): New.
+ (vcond<SSEMODE124>, vcondu<SSEMODE12>): New.
+
+2005-04-14 Joseph S. Myers <joseph@codesourcery.com>
+
+ * doc/cpp.texi, doc/install.texi: Change references to GCC 3.5 to
+ refer to 4.0.
+
+2005-04-14 Julian Brown <julian@codesourcery.com>
+
+ * Revert elfos.h part of my patch from 2005-04-13 for causing libstdc++
+ link failures on ppc64 Linux.
+
+2005-04-14 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config.gcc: Set cpu_type for s390.
+
+2005-04-14 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/20963
+ * tree-ssa-pre.c (compute_avail): Remove special case for
+ TREE_INVARIANT.
+ (create_expression_by_pieces): Add value numbers for forced out
+ statements.
+
+2005-04-14 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md: Replace references to (reg:SI 16) with
+ (reg:SI CRIS_SRP_REGNUM).
+
+2005-04-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/20657
+ * tree-vrp.c (extract_range_from_expr): Notice INTEGER_CST to
+ create an appropriate range from it.
+
+2005-04-14 Uros Bizjak <uros@kss-loka.si>
+
+ * reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST_FLOOR> and
+ <UNSPEC_FIST_CEIL> case.
+
+ * config/i386/i386.md (UNSPEC_FIST_FLOOR, UNSPEC_FIST_CEIL): New.
+ (*fist<mode>2_floor_1, fistdi2_floor, fistdi2_floor_with_temp)
+ (fist<mode>2_floor, fist<mode>2_floor_with_temp): New isns patterns
+ to implement lfloor and llfloor built-ins as x87 intrinsic function.
+ (fistdi2_floor, fist<mode>2_floor splitters): New splitters.
+ (lfloor<mode>2): New expanders.
+ (*fist<mode>2_ceil_1, fistdi2_ceil, fistdi2_ceil_with_temp)
+ (fist<mode>2_ceil, fist<mode>2_ceil_with_temp): New isns patterns
+ to implement lceil and llceil built-ins as x87 intrinsic function.
+ (fistdi2_ceil, fist<mode>2_ceil splitters): New splitters.
+ (lceil<mode>2): New expanders.
+
+2005-04-14 Uros Bizjak <uros@kss-loka.si>
+
+ * convert.c (convert_to_integer): Convert (long int)trunc{,f,l},
+ and (long long int)ceil{,f,l} into FIX_TRUNC_EXPR.
+
+2005-04-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR target/20927
+ * config/s390/s390-modes.def: Define TFmode.
+
+2005-04-13 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete.
+ (JUMP_TABLES_IN_TEXT_SECTION): Define.
+ * config/mips/mips.c (mips16_insn_length): Remove reference to
+ JUMP_TABLES_IN_TEXT_SECTION.
+
+2005-04-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Return
+ scalar or vector of constant 0, depending on the xor's
+ mode.
+
+2005-04-13 Dale Johannesen <dalej@apple.com>
+
+ * objc/Make-lang.in (objc-lang.o): Depend on tree-gimple.h.
+ (objc-act.o): Ditto.
+ * objc/objc-act.c (objc_gimplify_expr): New.
+ (objc_get_callee_fndecl): New.
+ * objc/objc-act.h: Include tree-gimple.h. Declare new functions.
+ * objc/objc-lang.c (LANG_HOOKS_GIMPLIFY_EXPR): Define.
+ (LANG_HOOKS_GET_CALLEE_FNDECL): Define.
+
2005-04-13 Devang Patel <dpatel@apple.com>
* tree-if-conv.c (tree_if_convert_cond_expr): Do not create extra
temp variables.
-
+
2005-04-13 Hans-Peter Nilsson <hp@axis.com>
CRIS prologue as RTL.
* config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK from
being used for symbols with vague linkage when HAVE_GAS_COMDAT_GROUP
- is true.
+ is true.
2005-04-13 Kazu Hirata <kazu@cs.umass.edu>
Var(bfin_lib_id_given).
2005-04-13 Matt Thomas <matt@3am-software.com>
-
+
* config/rs6000/sysv4.h (NO_IMPLICIT_EXTERN_C): undefine before
defining.
2005-04-12 Richard Henderson <rth@redhat.com>
* config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Split ...
- (ix86_expand_sse_fp_minmax): ... from ...
+ (ix86_expand_sse_fp_minmax): ... from ...
(ix86_expand_fp_movcc): ... here.
(ix86_expand_sse_movcc): Rewrite from ix86_split_sse_movcc.
* config/i386/i386-protos.h: Update.
2005-04-12 Caroline Tice <ctice@apple.com>
Temporary fix for partitioning problems.
- * passes.c (rest_of_handle_final): Remove code that
+ * passes.c (rest_of_handle_final): Remove code that
frees unlikely_text_section_name,
* varasm.c (assemble_start_function): Test for partitioning
flag before writing out section labels.
(assemble_end_function): Test for partitioning flag before
writing out section labels.
-
+
2005-04-12 Steven Bosscher <stevenb@suse.de>
Stuart Hastings <stuart@apple.com>
Jan Hubicka <jh@suse.cz>
* function.h (struct function): Revert my patch from April 9.
* opts.c (decode_options): Revert my patch from April 9.
* output.h (unlikely_section_label, hot_section_label,
- hot_section_end_label, cold_section_end_label,
+ hot_section_end_label, cold_section_end_label,
unlikely_text_section_name): Revert my patch from April 9.
* passes.c (rest_of_handle_final): Revert my patch from April 9.
* varasm.c (unlikely_section_label, hot_section_label,
(assemble_start_function): Revert my patch from April 9.
(assemble_end_function): Revert my patch from April 9.
(default_section_type_flags_1): Revert my patch from April 9.
-
+
2005-04-12 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.h (APPLY_RESULT_SIZE): Set to 24 in 64-bit mode.
2005-04-11 Devang Patel <dpatel@apple.com>
- * tree-data-ref.c (build_classic_dist_vector,
- compute_subscript_distance): Make externally visible.
- * tree-data-ref.h (build_classic_dist_vector,
- compute_subscript_distance): Same.
- * tree-vect-analyze.c (vect_analyze_data_ref_dependence):
- Check distance vector against vectorization factor.
- (vect_analyze_loop): Determine vectorizaion factor before
- analyzing data dependences.
- * tree-vectorizer.c (loops_num): Make it externally visible and
- rename ...
- * tree-vectorizer.c (vect_loops_num): ... new name.
- * tree-vectorizer.h (vect_loops_num): New.
+ * tree-data-ref.c (build_classic_dist_vector,
+ compute_subscript_distance): Make externally visible.
+ * tree-data-ref.h (build_classic_dist_vector,
+ compute_subscript_distance): Same.
+ * tree-vect-analyze.c (vect_analyze_data_ref_dependence):
+ Check distance vector against vectorization factor.
+ (vect_analyze_loop): Determine vectorizaion factor before
+ analyzing data dependences.
+ * tree-vectorizer.c (loops_num): Make it externally visible and
+ rename ...
+ * tree-vectorizer.c (vect_loops_num): ... new name.
+ * tree-vectorizer.h (vect_loops_num): New.
2005-04-11 Devang Patel <dpatel@apple.com>
- * tree-vect-analyze.c (vect_analyze_operations): Check
- vectorizable codition.
- * tree-vect-transform.c (vect_is_simple_cond): New function.
- (vectorizable_condition): New function.
- (vect_transform_stmt): Handle condition_vec_info_type.
- * tree-vectorizer.h (enum stmt_vec_info_type): Add
- condition_vec_info_type.
- (vectorizable_condition): New.
-
+ * tree-vect-analyze.c (vect_analyze_operations): Check
+ vectorizable codition.
+ * tree-vect-transform.c (vect_is_simple_cond): New function.
+ (vectorizable_condition): New function.
+ (vect_transform_stmt): Handle condition_vec_info_type.
+ * tree-vectorizer.h (enum stmt_vec_info_type): Add
+ condition_vec_info_type.
+ (vectorizable_condition): New.
+
2005-04-11 Geoffrey Keating <geoffk@apple.com>
* config/i386/i386.h (TARGET_FPMATH_DEFAULT): New.
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.
-
+
* configure, config.in: Regenerate.
2005-04-11 David Edelsohn <edelsohn@gnu.org>
2005-04-11 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/20926
-
+
* tree-ssa-alias.c (add_type_alias): Handle subvars.
-
+
2005-04-11 Devang Patel <dpatel@apple.com>
* config/rs6000.c (rs6000_emit_vector_select): Fix vector select
operand ordering.
-
+
2005-04-11 Andrew Pinski <pinskia@physics.uc.edu>
* fold-const.c (fold_binary_op_with_conditional_arg):
(fold_binary): Likewise.
2005-04-11 Daniel Berlin <dberlin@dberlin.org>
-
+
Fix PR tree-optimization/20612
* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix increment
handling
(current_function_section): Likewise.
(assemble_start_function): Modify to get/put unlikely_text_section_name
in current function struct; modify to get hot/cold section labels
- from function struct; initialize labels using
+ from function struct; initialize labels using
ASM_GENERATE_INTERNAL_LABEL;
test partitioning flag before writing out hot section label.
(assemble_end_function): Test partitioning flag before writing out
* tree-sra.c (decide_instantiations): Mark all symbols in
SRA_CANDIDATES for renaming.
(mark_all_v_defs_1): Rename from mark_all_v_defs.
- (mark_all_v_defs): New function. Update all users to call it
+ (mark_all_v_defs): New function. Update all users to call it
with the whole list of scalarized statements, not just the
first one.
* tree-ssa-alias.c (count_ptr_derefs): Make extern.
PR target/20814
* config/rs6000/predicates.md (altivec_register_operand): Accept
- SUBREG.
+ SUBREG.
(and64_operand): Do not limit CONST_INT to mask64_operand.
(and64_2_operand): Do not limit CONST_INT to mask64_1or2_operand.
(and_operand): Do not limit CONST_INT to mask_operand.
2005-04-08 Mike Stump <mrs@apple.com>
* config/darwin.c (indirect_data): Fix typo in strncmp logic.
-
+
* config/rs6000/rs6000.c (rs6000_emit_prologue): Use 5 nops,
instead of 4.
using gen_lowpart and gen_highpart_mode.
(note_invalid_constants): All constants in an RTX with a constraint
that permits memory are now pushed to the constant pool.
- (output_move_double): Delete code to handle reg to reg and
+ (output_move_double): Delete code to handle reg to reg and
constant to reg moves.
(const_double_needs_minipool, output_mov_immediate): Delete.
* arm.h (EXTRA_CONSTRAINT_STR_ARM): All 'D' variants now handle
2005-04-06 Dorit Naishlos <dorit@il.ibm.com>
* tree-vect-analyze.c (vect_analyze_loop_form): Call
- split_loop_exit_edge instead of loop_split_edge_with.
+ split_loop_exit_edge instead of loop_split_edge_with.
2005-04-06 Paolo Bonzini <bonzini@gnu.org>
dump_immediate_uses_for, debug_immediate_uses_for): Delete.
(mark_new_vars_to_rename): Call update_stmt.
* tree-dump.c (dump_option_value_in): Add "stmtaddr".
- * tree-flow-inline.h (modify_stmt): Rename to mark_stmt_modified.
+ * tree-flow-inline.h (modify_stmt): Rename to mark_stmt_modified.
Ignore PHI nodes.
(unmodify_stmt): Delete.
(update_stmt): New. Force an update of a stmt.
(update_stmt_if_modified): update a stmt if it is out of date.
- (get_stmt_operands): Verify stmt is NOT modified.
+ (get_stmt_operands): Verify stmt is NOT modified.
(stmt_modified_p): Update comment.
(delink_imm_use): Remove a use node from its immuse list.
(link_imm_use_to_list): Link a use node to a specific list.
(num_imm_uses): New. Return the number of immediate uses.
(get_v_must_def_ops): Use is now a pointer.
(use_operand_p, get_v_may_def_op_ptr, get_vuse_op_ptr,
- get_v_must_def_kill_ptr, get_phi_arg_def_ptr): Return the address of
+ get_v_must_def_kill_ptr, get_phi_arg_def_ptr): Return the address of
the use node.
(get_immediate_uses, num_immediate_uses, immediate_use): Delete.
(delink_stmt_imm_use): Delink all immuses from a stmt.
(immediate_use_iterator_d): New. Immediate use iterator struct.
(FOR_EACH_IMM_USE_FAST): New. Macro for read only immuse iteration.
(FOR_EACH_IMM_USE_SAFE): New. Macro for write-safe immuse iteration.
- (BREAK_FROM_SAFE_IMM_USE): New. Macro for earlyu exit from write-safe
+ (BREAK_FROM_SAFE_IMM_USE): New. Macro for earlyu exit from write-safe
iteration.
(struct stmt_ann_d): Remove dataflow_t from struct.
* tree-if-conv.c (tree_if_conversion). Don't call free_df.
(if_convertible_phi_p): Use FAST immuse iterator.
(if_convertible_loop_p): Don't call compute_immediate_uses.
(replace_phi_with_cond_modify_expr): Call update_stmt.
- * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites): Call
+ * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites): Call
update_stmt_if_modified.
(rewrite_all_into_ssa): Initialize ssa operands.
* tree-loop-linear.c (linear_transform_loops): Don't call free_df or
compute_immediate_uses.
- * tree-optimize.c (execute_todo): Call verify_ssa whenever the
+ * tree-optimize.c (execute_todo): Call verify_ssa whenever the
ssa_property is available.
(execute_one_pass): Change parameters passed to execute_todo.
* tree-outof-ssa.c (rewrite_trees): Don't call modify_stmt.
* tree-ssa-cpp.c (need_imm_uses_for): Delete.
(ccp_initialize): Remove call to compute_immediate_uses.
(substitute_and_fold, execute_fold_all_builtins): Call update_stmt.
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Update all modified
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Update all modified
stmts.
(simplify_cond_and_lookup_avail_expr): Call mark_stmt_modified.
(simplify_switch_and_lookup_avail_expr): Call mark_stmt_modified.
(substitute_single_use_vars): Use new immuse interface.
(tree_ssa_forward_propagate_single_use_vars): Remove calls to free_df
and compute_immediate_uses.
- * tree-ssa-loop-im.c (single_reachable_address): Use new immuse
+ * tree-ssa-loop-im.c (single_reachable_address): Use new immuse
interface.
(rewrite_mem_refs): Call update_stmt.
(determine_lsm): Remove call to compute_imm_uses and free_df.
(compute_phi_arg_on_exit): Insert each stmt before trying to process.
(rewrite_use) : Call update_stmt.
* tree-ssa-loop-manip.c (verify_loop_closed_ssa): Add arg to call.
- * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Call
+ * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Call
update_stmt.
* tree-ssa-operands.c (NULL_USE_OPERAND_P): Remove declaration.
(allocate_use_optype, allocate_vuse_optype): Adjust allocation size.
(SET_USE): Call set_ssa_use_from_ptr.
(USE_STMT): Define.
(PHI_ARG_INDEX_FROM_USE): Define.
- * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Set the phi
+ * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Set the phi
argument via SET_USE, not PHI_ARG_DEF_TREE.
* tree-ssa-pre.c (eliminate): Call update_stmt.
* tree-ssa-propagate.c (cfg_blocks_get): Use imm_use iterators. Don't
was changed.
(replace_immediate_uses): Use imm_use iterator, call update_stmt.
(check_phi_redundancy): Use imm_use iterator.
- (kill_redundant_phi_nodes): Don't call compute_immediate_uses or
+ (kill_redundant_phi_nodes): Don't call compute_immediate_uses or
free_df.
* tree-ssanames.c (make_ssa_name): Initialize imm_use node.
(release_ssa_name): Delink node and all elements in its imm_use list.
* c-decl.c (finish_function): If USE_MAPPED_LOCATION set the location
of the artification 'return 0' in main() to BUILTINS_LOCATION.
* tree-cfg.c (remove_bb): Check that location isn't BUILTINS_LOCATION
- before warning.
+ before warning.
2004-04-05 Devang Patel <dpatel@apple.com>
(ashr<mode>3): ... new name.
* config/rs6000/rs6000.c (builtin_description): Rename shift
operations.
-
+
2004-04-05 Paolo Bonzini <bonzini@gnu.org>
* combine.c (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Use
* config.gcc: Add bfin*-* and bfin*-elf configurations.
2005-04-05 Olivier Hainque <hainque@adacore.com>
-
+
* config/mips/iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to
match what the system unwinder expects.
* config/mips/mips.c (mips_frame_set): If we're saving the return
* config/i386/i386.md (frndintxf2_floor, frndintxf2_ceil)
(frndintxf2_trunc, frndintxf2_mask_pm): Add FLAGS_REG clobber.
Allocate local stack slots here. Set ix86_optimize_mode_switching.
- flag here. Implement using define_insn_and_split.
+ flag here. Implement using define_insn_and_split.
(frndintxf2_floor_i387, frndintxf2_ceil_i387, frndintxf2_trunc_i387)
(frndintxf2_mask_pm_i387): New insn patterns.
(floorsf2, floordf2, floorxf2): Remove local stack slot allocations.
2005-04-02 Daniel Berlin <dberlin@dberlin.org>
Diego Novillo <dnovillo@redhat.com>
-
+
Fix PR tree-optimization/20703
Fix PR tree-optimization/20725
-
+
* tree-ssa-pre.c (phi_translate): Handle tcc_comparison.
(create_expression_by_pieces): Ditto.
(valid_in_set): Ditto. Also handle tcc_declaration.
attribute.
("imul"): Removed from "type" attribute.
("*muldi3_sign", "muldi3"): Changed type to imuldi.
- ("mulsi3/1", "mulsi3/3", "mulsi/4", "mulsidi3", "umulsidi3"):
+ ("mulsi3/1", "mulsi3/3", "mulsi/4", "mulsidi3", "umulsidi3"):
Changed type to imulsi.
("*mulsi3_sign", "mulsi3/2"): Changed type to imulhi.
(compare_negsi_si): New pattern.
(cmpsi_negshiftsi_si): New pattern.
(negated_cbranchsi4): Restrict to equality_operator.
-
+
* arm.md (movhi_insn_arch4): delete trailing white space from assembler
template.
* doc/md.texi: Remove remark about impossibility to query unit
presence in non nondeterministic automaton state.
-
+
* config/ia64/ia64.c (get_template): Change order of unit querying.
2005-03-31 Kazu Hirata <kazu@cs.umass.edu>
cold blocks to last round.
(find_traces): Remove code that added extra round of trace finding
when doing partitioning.
- (find_traces_1_round) : Remove variable last_round; add code to
- update new struct field, in_trace; correct trace_length where it was
- incorrect before (after call to copy_bb); change code that pushed all
- cold blocks to last round. Instead verify that all blocks going into
+ (find_traces_1_round) : Remove variable last_round; add code to
+ update new struct field, in_trace; correct trace_length where it was
+ incorrect before (after call to copy_bb); change code that pushed all
+ cold blocks to last round. Instead verify that all blocks going into
a trace belong in the same partition.
(connect_traces): Modify to connect the traces in two passes, if the
- function contains both hot and cold blocks. The first pass connects
- all the traces for blocks in the partition that the first block in
- the function belongs to; the second pass connnects all the traces
+ function contains both hot and cold blocks. The first pass connects
+ all the traces for blocks in the partition that the first block in
+ the function belongs to; the second pass connnects all the traces
containing blocks that belong in the other partition.
(find_rarely_executed_basic_blocks_and_crossing_edges): Remove
code that automatically put the first block in a function into the
hot partition if the function had any hot blocks.
- (fix_crossing_unconditional_branches): Check number of succ edges
+ (fix_crossing_unconditional_branches): Check number of succ edges
before attempting to get one.
(fix_edges_for_rarely_executed_code): Update comment describing
function.
(reorder_basic_blocks): Add code to initialize new field (in_trace);
- remove call to add_unlikely_executed_notes; add call to
+ remove call to add_unlikely_executed_notes; add call to
verify_hot_cold_block_grouping.
- (duplicate_computed_gotos): Don't change computed goto if it's a
+ (duplicate_computed_gotos): Don't change computed goto if it's a
crossing edge.
(partition_hot_cold_basic_blocks): Update function comment.
- * cfgcleanup.c (try_simplify_condjump): Remove redundacy from
+ * cfgcleanup.c (try_simplify_condjump): Remove redundacy from
condition.
(try_forward_edges): Likewise.
(merge_blocks_move_predecessor_nojumps): Likewise.
UNLIKELY_EXECUTED_CODE notes to cold bb's.
(commit_one_edge_insertion): Likewise.
(cfg_layout_can_merge_blocks_p): Remove redundancy from condition.
- * dbxout.c (FORCE_TEXT): Replace function_section with
+ * dbxout.c (FORCE_TEXT): Replace function_section with
current_function_section.
(struct dbx_debug_h): Add do_nothing function for new debug_hooks
function, switch_text_section.
for new debug_hooks funciton, switch_text_section..
* debug.h (struct gcc_debug_hooks): Add new function to debug_hooks,
switch_text_section.
- * dwarf2out.c (struct dw_fde_struct): Add five new fields:
- dw_fde_hot_section_label, dw_fde_hot_section_end_label,
- dw_fde_unlikely_section_label, dw_fde_unlikely_section_end_label and
+ * dwarf2out.c (struct dw_fde_struct): Add five new fields:
+ dw_fde_hot_section_label, dw_fde_hot_section_end_label,
+ dw_fde_unlikely_section_label, dw_fde_unlikely_section_end_label and
dw_fde_switched_sections.
(output_call_frame_info): Add test to see if function switches text
- sections in the middle; if so, use appropriate extra hot and cold
+ sections in the middle; if so, use appropriate extra hot and cold
section labels to compute size deltas for the hot and cold sections.
- (dwarf2out_begin_prologue): Add code to initialize new fields in
+ (dwarf2out_begin_prologue): Add code to initialize new fields in
dw_fde_struct.
- (dwarf2out_switch_text_section): New function (invoked through
+ (dwarf2out_switch_text_section): New function (invoked through
debug_hook); updates new fields in dw_fde_struct appropriately and
increments separate_line_info_table_in_use.
(dwarf2_debug_hooks): Initialize switch_text_section function to be
current_function_section.
(dwarf2out_end_block): Likewise.
(dwarf2out_source_line): Likewise.
- (dwarf2out_var_location): Add code to check whether in hot or cold
+ (dwarf2out_var_location): Add code to check whether in hot or cold
section and use the appropriate label.
- * except.c (output_function_exception_table): Change call to
+ * except.c (output_function_exception_table): Change call to
function_section into call to current_function_section.
* final.c (profile_function): Likewise.
(scan_ahead_for_unlikely_executed_note): Remove function.
- (final_scan_insn): Remove calls to
- scan_ahead_for_unlikely_executed_note, and related code for switching
- to cold section, except for the single time
- NOTE_INSN_SWITCH_TEXT_SECTIONS may be encountered; add calls to
- debug_hooks->switch_text_sections; replace appropriate calls to
+ (final_scan_insn): Remove calls to
+ scan_ahead_for_unlikely_executed_note, and related code for switching
+ to cold section, except for the single time
+ NOTE_INSN_SWITCH_TEXT_SECTIONS may be encountered; add calls to
+ debug_hooks->switch_text_sections; replace appropriate calls to
function_section with calls to current_function_section.
- * ifcvt.c (find_if_case_1): Remove redundancy from condition, add
+ * ifcvt.c (find_if_case_1): Remove redundancy from condition, add
test_bb to condition.
(find_if_case_2): Likewise.
* insn-notes.def: Change NOTE_INSN_UNLIKELY_EXECUTED_CODE to
* passes.c (rest_of_handle_final): Free unlikely_text_section_name.
* print-rtl.c (print_rtx): Change NOTE_INSN_UNLIKELY_EXECUTED_CODE
to NOTE_INSN_SWITCH_TEXT_SECTIONS.
- * reg-stack.c (emit_swap_insn): Remove UNLIKELY_EXECUTED_CODE note
+ * reg-stack.c (emit_swap_insn): Remove UNLIKELY_EXECUTED_CODE note
insn from consideration.
- * sdbout.c (sdb_debug_hooks): Add do_nothing for new function,
+ * sdbout.c (sdb_debug_hooks): Add do_nothing for new function,
switch_text_section.
* varasm.c (basic-block.h): Add new include.
(unlikely_section_label_printed): Remove global variable.
(initialize_cold_section_name): New function.
(enum in_section): Move declaration to output.h.
(text_section): Update last_text_section.
- (unlikely_text_section): Replace code to determine cold section name
- with call to initialize_cold_section_name; Add code to update
+ (unlikely_text_section): Replace code to determine cold section name
+ with call to initialize_cold_section_name; Add code to update
last_text_section; remove code for printing out label.
- (named_section_real): Add code to update last_text_section and
+ (named_section_real): Add code to update last_text_section and
last_text_section_name as appropriate.
(function_section): Change test for 'unlikely' to depend on
- first_function_block_is_cold (moved old test to
+ first_function_block_is_cold (moved old test to
current_function_section).
(current_function_section): New function.
- (assemble_start_function): Move code that frees
- unlikely_text_section_name; initialize hot_section_end_label;
- print hot and cold section labels at the start of the function;
+ (assemble_start_function): Move code that frees
+ unlikely_text_section_name; initialize hot_section_end_label;
+ print hot and cold section labels at the start of the function;
set first_function_block_is_cold, if appropriate; initialize l
ast_text_section; add call to insert_section_boundary_note.
(assemble_end_function): Add code to write out hot and cold section
end labels.
*vmsdbgout.c (vmsdbg_debug_hooks): Add do_nothing for new function,
switch_text_section.
- * config/darwin.c (machopic_select_section): Replace incorrect
+ * config/darwin.c (machopic_select_section): Replace incorrect
function in base_funs; update reloc for cold sections if necessary.
- * config/darwin.h (SECTION_FUNCTION): Add code to update
+ * config/darwin.h (SECTION_FUNCTION): Add code to update
last_text_section if appropriate.
(text_unlikely_section): Remove.
* config/sparc/sparc.c (sparc_output_deferred_case_vectors): Likewise.
PR c++/18644
* doc/invoke.texi (-Wsynth): Don't document, as it now is void of
- semantics.
+ semantics.
2005-03-31 Alan Modra <amodra@bigpond.net.au>
* tree-sra.c (decide_block_copy): Disable scalarization of
sub-elements.
-
+
2005-03-30 Stuart Hastings <stuart@apple.com>
Dale Johannesen <dalej@apple.com>
* config/mips/mips.c: Follow the spelling convensions.
* doc/invoke.texi: Fix typos.
-2005-03-18 Dale Johannese <dalej@apple.com>
-
- * cp/tree.c (cp_tree_equal): Handle SSA_NAME.
-
2005-03-23 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/20601