OSDN Git Service

PR c++/22489
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2ea7396..c2932f5 100644 (file)
+2005-11-13  Jason Merrill  <jason@redhat.com>
+
+       PR c++/22489
+       * dwarf2out.c (gen_subprogram_die): Force a declaration die for
+       lazily declared methods.
+       (force_decl_die): Stop if forcing out the context already make a
+       DIE for the decl.
+       (force_type_die): Likewise.
+
+2005-11-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/24820
+       * builtins.c (integer_valued_real_p): Add break in
+       REAL_CST having TREE_OVERFLOW set.
+
+2005-11-13  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting
+       addressing modes during calculation of costs.
+
+2005-11-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * function.c (assign_stack_local_1): Restrict sanity check
+       on frame size overflow to 32-bit and above platforms.
+
+2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
+       * config/cris/cris.c: Include reload.h.
+       (cris_initial_elimination_offset): New function.
+       * config/cris/cris-protos.h: (cris_initial_elimination_offset):
+       Prototype.
+
+2005-11-12  Richard Guenther  <rguenther@suse.de>
+
+       * gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table.
+
+2005-11-12  Jan Hubicka  <jh@suse.cz>
+
+       * expr.c (expand_expr_real_1): <MAX_EXPR, MIN_EXPR>: Canonicalize
+       to compare against 0 when possible.
+
+2005-11-12  Jie Zhang  <jie.zhang@analog.com>
+
+       * config/bfin/bfin.h (REGISTER_NAMES, SHORT_REGISTER_NAMES,
+       HIGH_REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
+       REG_ALLOC_ORDER, enum reg_class): Rearrange I/B/L registers.
+       * config/bfin/bfin.md: Redefine REG_ constants for I/B/L registers
+       in the new order.
+
+2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
+
+       * recog.c (constrain_operands) <case 'g'>: For a match, require
+       that a non-register matches general_operand when strict >= 0.
+
+2005-11-11  Steven Bosscher  <stevenb@suse.de>
+
+       * loop-invariant.c (move_loop_invariants): Fix a thinko in the
+       previous checkin.
+
+2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * tree-ssa-dse.c (struct address_walk_data, memory_ssa_name_same)
+       (memory_address_same): New.
+       (dse_optimize_stmt): Call memory_address_same.
+
+2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR middle-end/24750
+       * reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND,
+       ZERO_EXTEND>: New cases.
+
+2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * longlong.h (__clz_tab): Always provide.
+
+2005-11-11  Steven Bosscher  <stevenb@suse.de>
+
+       PR 24265
+       * loop-invariant.c (may_assign_reg_p): Make sure a hard register
+       can be assigned to.
+       (find_invariant_insn): Do the cheapest check, may_assign_reg_p,
+       before check_maybe_invariant.
+       (move_invariant_reg): Use gen_move_insn instead of replacing
+       SET_DEST with the temporary for the invariant.
+       (move_loop_invariants): If checking is enabled, do internal
+       consistency checks after completing the pass.
+
+2005-11-11  David Edelsohn  <edelsohn@gnu.org>
+
+       PR 24644
+       * common.opt (Wvolatile-register-var): New.
+       * varasm.c (make_decl_rtl): Only emit warning when option
+       specified.  Clarify warning message.
+       * doc/invoke.texi (Wvolatile-register-var): Document new option.
+
+       * doc/md.texi (copysign): Document standard named pattern.
+
+2005-11-11  Jie Zhang  <jie.zhang@analog.com>
+
+       * config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
+       bytes when align is 2.
+       * config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed
+       by the first instruction of the loop.
+
+2005-11-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/24686
+       * gimplify.c (gimplify_cleanup_point_expr): Also save and restore 
+       the cleanup list.
+
+2005-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR rtl-optimization/22509
+       * local-alloc.c (memref_used_between_p): Check whether a function call
+       could not reference the memref.
+
+2005-11-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * postreload.c (reload_cse_simplify_operands): Fix bug in sorting
+       algorithm so as to choose the best, not the worst, alternative.
+       Reset accumulated register class before processing next alternative.
+
+2005-11-11  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/24445
+       * calls.c (expand_call): Copy a return value to a plain register
+       if needed.
+
+2005-11-10  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/24778
+       * varasm.c (assemble_name): Recompute name only for transparent
+       aliases.
+
+2005-11-10  Hans-Peter Nilsson  <hp@axis.com>
+
+       * tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from.
+
+2005-11-04  Jeff Law  <law@redhat.com>
+
+       PR middle-end/23181
+       * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not
+       perform reassociation if the parent statement will not die as
+       a result of the optimization.
+
+2005-11-10  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-alias.c (compute_may_aliases): Remove call to 
+       delete_old_heap_vars.
+       * tree-dfa.c (referenced_var_remove): Remove function.
+       * tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
+       (delete_tree_ssa): Remove call to delete_old_heapvars.
+       Add call to delete_alias_heapvars.
+       * tree-flow.h (referenced_var_remove): Remove prototype
+       (init_alias_heapvars): New prototype.
+       (delete_alias_heapvars): Ditto.
+       * Makefile.in (tree-ssa-structalias.o): Add
+       gt-tree-ssa-structalias.o
+       (GTFILES): Add tree-ssa-structalias.h and
+       tree-ssa-structalias.c.
+       (s-gtype): Add gt-tree-ssa-structalias.h.
+       * tree-ssa-structalias.c (heapvars): Remove.
+       (oldheapvars): Remove.
+       (heapvar_for_stmt): New variable.
+       (heapvar_lookup): New function.
+       (heapvar_insert): Ditto.
+       (get_constraint_for): See if we have an old heapvar
+       to reuse.
+       (init_alias_heapvars): New function.
+       (delete_alias_heapvars): Ditto.
+       Add include of gt-tree-ssa-structalias.h.
+
+2005-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/22127
+       * calls.c (special_function_p): Set ECF_RETURNS_TWICE for getcontext.
+
+2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (int_fits_type_p): Only look at the base type
+       if it has the same precision as the original type.
+
+2005-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/4372
+       * varasm.c (assemble_alias): Use %q+D in the error
+       message instead of %J and %qD.
+
+2005-11-10  Richard Guenther  <rguenther@suse.de>
+
+       * gcse.c (free_ldst_entry): Only free hashtable if
+       it exists.
+
+2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * function.c (assign_stack_local_1): Issue an error message if
+       the frame size overflows in the signed target arithmetics.
+
+2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (build_qualified_type): Chain the new type to the original
+       type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
+       a POINTER_TYPE or a REFERENCE_TYPE respectively.
+       (build_pointer_type_for_mode): Only return unqualified types.
+       (build_reference_type_for_mode): Likewise.
+
+2005-11-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (gnucompare): Do comparison of all files using one of
+       the chosen methods and only afterwards decide if just warning should
+       be issued or comparison failure raised.
+
+2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn.
+       (noce_try_abs): Negate if the comparison is reversed.
+       Look only one instruction backwards for a REG_EQUAL note.
+
+2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR other/4372
+       * gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
+       gthr-tpf.h: Define __gthrw.  For all identifiers that might
+       be weak, introduce weakrefs or non-weak aliases with __gthrw,
+       and prefix all uses with __ghtrw.
+
+2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR other/4372
+       * tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
+       (TREE_DEPRECATED): Adjust comment.  Check for a DECL.
+       * c-common.c (handle_weakref_attribute): New.
+       (c_common_attribute_table): Add weakref.
+       * configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
+       in the assembler.
+       * configure, config.in: Rebuilt.
+       * defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
+       * doc/extend.texi: Document weakref attribute.
+       * varasm.c (ultimate_transparent_alias_target): New
+       (assemble_name): Use it.
+       (weak_finish_1): Split out of...
+       (weak_finish): ... and deal with weakrefs in...
+       (weakref_targets): ... new list.
+       (globalize_decl): Clean up weakref_targets.
+       (do_assemble_alias): Handle weakrefs.
+       (finish_aliases_1): Do not reject weakrefs to external symbols.
+       (assemble_alias): Handle weakrefs.
+
+2005-11-09  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/24716
+       * tree-scalar-evolution.c (analyze_evolution_in_loop): Use
+       t_bool to track results from follow_ssa_edge.
+
+2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * final.c (force_source_line): New global variable.
+       (final_scan_insn): Set it to true instead of clearing last_filename.
+       (notice_source_line): Return true if force_source_line is true,
+       unless source info is absent.
+
+2005-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c/24644
+       * dwarf2-out.c (add_name_and_src_coords_attributes): Don't add
+       a linkage name for a variable if it a register variable.
+       * c-decl.c (grokdeclarator): Global register variables
+       should be set as PUBLIC.
+
+2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR 24624
+       * config/s390/s390.c (struct s390_frame_layout): New fields 
+       first_save_gpr_slot and last_save_gpr_slot.
+       (cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,  
+       s390_emit_epilogue, s390_initial_elimination_offset): Replaced 
+       first_save_gpr and last_save_gpr with the _slot variants.
+       (s390_register_info): Calculate first_save_gpr_slot and 
+       last_save_gpr_slot using regs_ever_live.
+
+2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR 24623
+       * config/s390/s390.c (s390_regs_ever_clobbered): Only save live eh regs
+       for a function containing a landing pad.
+
+2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR 24034
+       * flow.c (mark_set_1): Handle CLOBBERs like SETs if the register
+       is live afterwards.
+
+2005-11-08  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DEFAULTS,
+       MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): New.
+
+2005-11-09  Nathan Sidwell  <nathan@codesourcery.com>
+
+       Add ms2 support
+       * config/ms1/ms1.md (UNSPEC_BLOCKAGE, UNSPEC_EI, UNSPEC_DI): New
+       constants.
+       (call,load,store): New insn types.
+       (mem_access, branch_access): Adjust reservation conditions.
+       (define_delay): Adjust condition.
+       (decrement_and_branch_until_zero): Allow for ms2.  Set branch
+       type.
+       (*decrement_and_rbanch_until_zero_no_clobber): Allow for ms2.
+       (*movqi_internal,*movsi_internal,*movsf_internal): Use load,store
+       insn type.
+       (call_internal, call_value_internal, return_internal,
+       return_interrupt_internal, eh_return_internal, indirect_jump,
+       tablejump): Set call insn type.
+       (blockage, ei, di): Use appropriate unspec const.
+       * config/ms1/ms1.c (ms1_flag_delayed_branch): New.
+       (ms1_get_attr_type): Adjust to give load & store types.
+       (ms1_final_prescan_insn): Adjust for new insn types.  Don't look
+       backwards past a barrier.
+       (ms1_override_options): Accept ms2 arch.  Copy and reset delayed
+       branch scheduling.
+       (struct branch_info, struct label_info): New.
+       (ms1_labels): New.
+       (ms1_add_branches, ms1_check_delay_slot, ms1_reorg_hazard): New.
+       (ms1_machine_reorg): New.
+       (TARGET_MACHINE_DEPENDENT_REORG): Override.
+       * config/ms1/crtn.asm: Add nop for ms2 JAL hazard.
+       * config/ms1/ms1.h (processor_type): Add PROCESSOR_MS2.
+       (ASM_SPEC, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Add ms2.
+       (TARGET_MS2): New.
+
+2005-11-09  Per Bothner  <per@bothner.com>
+           Uros Bizjak  <uros@kss-loka.si>
+       
+       PR c/24101
+       * toplev.c (process_options): Initialize debug_hooks early
+       in case lang_hooks.post_options ends up calling a debug_hook.
+
+2005-11-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
+       DBX_REGISTER_NUMBER being contiguous.
+
+2005-11-08  James A. Morrison  <phython@gcc.gnu.org>
+           Diego Novillo  <dnovillo@redhat.com>
+
+       PR 23046
+       * tree-vrp.c (register_edge_assert_for): Do not register
+       always-false predicates.
+
+2005-11-08  Devang Patel <dpatel@apple.com>
+
+       PR tree-optimization/23115
+       * tree-if-conv.c (find_phi_replacement_condition): Check domninated_by
+       relation.
+
+2005-11-08  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include
+       -mcpu=440.
+
+2005-11-08  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/23382
+
+       * tree-ssa-alias.c (compute_may_aliases): Call
+       delete_old_heap_vars.
+       * tree-dfa.c (referenced_var_remove): New function.
+       * tree-ssa.c (delete_tree_ssa): Call delete_old_heap_vars.
+       * tree-flow.h (referenced_var_remove): Add prototype.
+       (delete_old_heap_vars): Ditto.
+       * tree-ssa-structalias.c (heapvars): New variable.
+       (oldheapvars): Ditto.
+       (get_constraint_for): Put heap vars on heapvars list.
+       (delete_old_heap_vars): New function.
+       
+2005-11-08  Jason Merrill  <jason@redhat.com>
+
+       * tree.h (CALL_FROM_THUNK_P): Add CALL_EXPR_CHECK.
+
+2005-11-08  Uros Bizjak  <uros@kss-loka.si>
+
+       PR target/19340
+       * reg-stack.c (reg_to_stack): Update register liveness also
+       for flag_sched2_use_traces.
+
+2005-11-08  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/23704
+       * config/rs6000/rs6000.c (rs6000_handle_option <OPT_m64>): Don't
+       override prior explicit -mno-powerpc-gfxopt.
+
+2005-11-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * expmed.c (extract_bit_field): Do not use insv/extv/extzv patterns
+       if the bitsize is zero.
+       * doc/md.texi (Standard Pattern Names): Document it.
+
+       * config/ia64/ia64.c (ia64_pass_by_reference): Delete.
+       (TARGET_PASS_BY_REFERENCE): Likewise.
+
+2005-11-07  Ian Lance Taylor  <ian@airs.com>
+
+       PR rtl-optimization/24683
+       * config/i386/i386.c (legitimize_pic_address): If constant operand
+       to PLUS is too large, put it in a register.
+
+2005-11-07  Jie Zhang  <jie.zhang@analog.com>
+
+       * configure.ac: Enable checking assembler dwarf2 support for bfin
+       target.
+       * configure: Regenerate.
+
+2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR target/24230
+
+       * config/rs6000/rs6000.c (easy_vector_splat_const, easy_vector_same,
+       gen_easy_vector_constant_add_self): Delete.
+       (vspltis_constant, easy_altivec_constant, gen_easy_altivec_constant):
+       New.
+       (output_vec_const_move): Use gen_easy_altivec_constant.
+       (rs6000_expand_vector_init): Do not emit a set of a VEC_DUPLICATE.
+       * config/rs6000/predicates.md (easy_vector_constant): Reorganize tests.
+       (easy_vector_constant_add_self): Rewritten.
+       * config/rs6000/rs6000-protos.h (easy_vector_splat_const,
+       easy_vector_same, gen_easy_vector_constant_add_self): Remove prototype.
+       (easy_altivec_constant, gen_easy_altivec_constant): Add prototype.
+       * config/rs6000/altivec.md (easy_vector_constant_add_self splitters):
+       Macroize and adjust for the other changes.
+
+2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR c/24599
+
+        * c-typeck.c (build_c_cast): Try using a shared constant, and see
+        if TREE_OVERFLOW or TREE_CONSTANT_OVERFLOW really changed.
+
+2005-11-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/23567
+       * ifcvt.c (noce_mem_write_may_trap_or_fault_p): New function.
+       (noce_process_if_block): Don't do any optimizations except
+       if (cond) x = x; if !set_b and write into orig_x may trap
+       or fault.  Remove the MEM_READONLY_P check.
+
+2005-11-06  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 24670
+       * tree-vrp.c (fix_equivalence_set): New.
+       (extract_range_from_assert): Call it.
+
+2005-11-05  Ian Lance Taylor  <ian@airs.com>
+
+       PR target/22432
+       * combine.c (apply_distributive_law): Don't distribute across a
+       vector mode subreg.
+
+2005-11-05  Kazu Hirata  <kazu@codesourcery.com>
+
+       * c-typeck.c, config/i386/netware.h, config/m32c/cond.md,
+       config/ms1/ms1.h, config/rs6000/predicates.md,
+       config/s390/s390.c, params.def, postreload-gcse.c,
+       tree-flow-inline.h, tree-ssa-operands.c, tree-vectorizer.c,
+       tree-vrp.c, tree.c: Fix comment typos.
+       * doc/invoke.texi: Fix typos.
+
+2005-11-05  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * lambda-code.c (lambda_transform_legal_p): Use DDR_NUM_DIST_VECTS
+       for testing whether the data_dependence_relation contains distance
+       vectors.  Iterate over all distance vectors of the ddr.
+       * lambda.h: Define a vec of lambda_vector pointers.
+       * tree-data-ref.c (dump_data_dependence_relation,
+       dump_data_dependence_direction): Iterate over all distance and
+       direction vectors of the ddr.
+       (initialize_data_dependence_relation): Initialize DDR_DIR_VECTS and
+       DDR_DIST_VECTS.
+       (build_classic_dist_vector, build_classic_dir_vector): Push a set
+       of distance/direction vectors instead of a single one.
+       * tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist 
+       lambda_vectors with a vec of lambda_vectors.
+       (DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
+       (DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
+       DDR_NUM_DIST_VECTS): New.
+       * tree-loop-linear.c (gather_interchange_stats): Test for the
+       existence of distance vectors only after having checked that there
+       is a dependence.  Iterate over all distance vectors of the ddr.
+       (linear_transform_loops): Use dump_data_dependence_relation.
+       * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Test for
+       distance vectors using DDR_NUM_DIST_VECTS.  Iterate over all the
+       distance vectors of the ddr.
+
+2005-11-05  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (n_dregs_to_save, n_pregs_to_save,
+       expand_prologue_reg_save, expand_epilogue_reg_restore): New argument
+       IS_INTHANDLER; all callers changed.
+       (n_regs_saved_by_prologue): Take interrupt handler attributes into
+       account.
+       (do_link, do_unlink): New argument ALL; all callers changed.
+       (expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
+       If function isn't leaf, save and restore all registers.
+       (bfin_function_ok_for_sibcall): Only true if not an interrupt or
+       exception handler.
+
+2005-11-05  Jan Hubicka  <jh@suse.cz>
+
+       PR rtl-optimization/23490
+       * doc/invoke.texi (max-predicted-iterations, max-cse-insns,
+       max-flow-memory-location): Document.
+       * flow.c: Include params.h
+       (MAX_MEM_SET_LIST_LEN): Kill.
+       (add_to_mem_set_list): Use new param.
+       * cse.c (cse_basic_block): Replace 1000 by new param.
+       * params.def (PARAM_MAX_PREDICTED_ITERATIONS, PARAM_MAX_CSE_INSNS,
+       PARAM_MAX_FLOW_MEMORY_LOCATIONS): New.
+       * predict.c (predict_loops): Use new param.
+       * predict.def (MAX_PRED_LOOP_ITERATIONS): Remove.
+
+       * ipa-inline.c (cgraph_decide_inlining_of_small_function, 
+       cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
+       Do not hold memory returned by cgraph_node_name across other call.
+
+2005-11-04  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/23424
+       * config/cris/predicates.md ("cris_bdap_sign_extend_operand"):
+       Disable.
+
+2005-11-04  Jeff Law  <law@redhat.com>
+
+       PR/21883
+       * doc/invoke.texi: Document max-jump-thread-duplication-stmts PARAM.
+       * tree-ssa-dom.c: Include params.h.
+       (thread_across_edge): If there are too many statements in the
+       target block, then do not thread through it.
+       * Makefile.in (tree-ssa-dom.o): Depend on $(PARAMS_H).
+       * params.def (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS): New PARAM.
+
+2005-11-03  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 24627
+       * tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Use
+       TODO_update_ssa instead of TODO_update_ssa_no_phi.
+
+2005-11-04  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR/18595
+       * tree-scalar-evolution.c (instantiate_parameters_1,
+       instantiate_parameters, resolve_mixers): Compute the size of an
+       expression to be instantiated and give up the instantiation if the
+       size exceeds PARAM_SCEV_MAX_EXPR_SIZE.
+
+2005-11-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow.h (ref_contains_indirect_ref): Rename to
+       array_ref_contains_indirect_ref.
+       * tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
+       (array_ref_contains_indirect_ref): Make comment match the code
+       and vice-versa.
+       (ref_contains_array_ref): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases): Remove call to
+       ref_contains_indirect_ref.
+       * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
+       Rename calls to ref_contains_indirect_ref.
+
+2005-11-04 Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_load_pic_register): Pass extra reg to
+       gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
+       (arm_call_tls_get_addr, legitimize_tls_address): Likewise.
+       * config/arm/arm.md: Use match_operand in peephole input templates
+       and match_dup in peephole output templates.
+
+2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
+       __aeabi_uidiv.
+
+2005-11-04  Mark Mitchell  <mark@codesourcery.com>
+           Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * longlong.h (add_ssaaaa): Clobber condition code register
+       in ARM version.
+       (sub_ddmmss): Likewise.
+       (umul_ppmm): Likewise.
+
+2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
+           Paul Brook  <paul@codesourcery.com>
+           Phil Blundell  <pb@reciva.com>
+
+       * configure.ac: Add test for ARM TLS support.
+       * configure: Regenerated.
+       * config/arm/arm-protos.h (legitimize_tls_address)
+       (arm_tls_referenced_p, tls_mentioned_p)
+       (arm_output_addr_const_extra): New prototypes.
+       (thumb_legitimize_pic_address): Delete.
+       * config/arm/arm.c: Include "gt-arm.h".
+       (enum tls_reloc): New.
+       (arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand)
+       (pcrel_constant_p, get_tls_get_addr, arm_load_tp)
+       (arm_call_tls_get_addr, legitimize_tls_address)
+       (arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p)
+       (arm_init_tls_builtins, arm_emit_tls_decoration)
+       (arm_output_addr_const_extra): New functions.
+       (TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM)
+       (TARGET_HAVE_TLS): Define.
+       (target_thread_pointer): New.
+       (arm_override_options): Handle -mtp=.
+       (legitimize_pic_address): Ignore UNSPECs.
+       (arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC
+       relative symbols.
+       (arm_legitimize_address, thumb_legitimize_address): Handle TLS.
+       (tls_get_addr_libfunc): New variable.
+       (symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS.
+       (arm_init_builtins): Call arm_init_tls_builtins.
+       (arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
+       (arm_encode_section_info): Call default_encode_section_info.
+       * config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define.
+       (enum arm_tp_type): New.
+       (target_thread_pointer): Add declaration.
+       (LEGITIMATE_CONSTANT_P): Handle TLS.
+       (LEGITIMATE_PIC_OPERAND_P): Handle TLS.
+       (OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
+       (enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
+       * config/arm/arm.md: Add UNSPEC_TLS.
+       (movsi): Handle TLS.
+       (pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
+       non-PIC.
+       (tls_load_dot_plus_eight): New insn and a peephole to create it.
+       (load_tp_hard, load_tp_soft): New insns.
+       * arm.opt: Add -mtp=.
+       * doc/invoke.texi (ARM Options): Document -mtp.
+
+2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/arm/lib1funcs.asm: Don't include "libunwind.S".
+       * config/arm/libunwind.S: Include "lib1funcs.asm".
+       * config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
+       (LIB2ADDEH): Add libunwind.S.
+       (LIB2ADDEHDEP): Add lib1funcs.asm.
+       * mklibgcc.in: Handle asm files in libgcc_eh.a.
+
+2005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR fortran/18452
+       * gcc/c.opt: Add a -lang-fortran option.
+       * gcc/c-opts.c: Add a lang_fortran flag.
+       (c_common_init_options): Handling the -lang-fortran option.
+       (c_common_handle_option): Add a case for Fortran options in
+       preprocessing. Remove cases for -ffixed-form and
+       -ffixed-line-length. Add a case for -lang-fortran.
+
+2005-11-03  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c: Include params.h
+       (optimization_options): Set max-grow-copy-bb-insns default to 16.
+       (bdesc_2arg): Delete vpkuhss and vpkuwss.
+       * config/rs6000/altivec.md (UNSPEC_VPKUHSS): Delete.
+       (UNSPEC_VPKUWSS): Delete.
+       (altivec_vpkuhss): Delete.
+       (altivec_vpkuwss): Delete.
+       * config/rs6000/rs6000.md (plus_eqsi): Remove optimize_size from
+       final condition.
+       (neg_eq0<mode>): Remove final condition.
+       (neg_eq<mode>): Remove condition and split-condition.
+
+2005-11-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (output_toc): Make "offset" HOST_WIDE_INT.
+       Use associated print macros.
+
+2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c++/17964
+       * diagnostic.c (diagnostic_set_info_translated): New function.
+       (diagnostic_set_info): Use it.  Add comment.
+       * diagnostic.h (diagnostic_set_info_translated): Declare.
+
+2005-11-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
+       On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
+       reference only if 'public' is true.
+       (dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
+       emit the .hidden directive only if the indirect reference is public.
+       (dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
+       Pass it to dw2_force_const_mem.
+       * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
+       * dwarf2out.c (output_cfi): Adjust calls to above function.
+       (output_call_frame_info): Likewise.
+       * except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
+       as 'public' argument to dw2_asm_output_encoded_addr_rtx.
+
+2005-11-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/24483
+       * tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
+       field to elts if possible.
+
+2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/23155
+       * gimplifier.c (gimplify_expr): Create a temporary for lvalue
+       CONSTRUCTOR.
+
+2005-11-03  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/24351
+
+       * tree-ssa-structalias.c (struct variable_info): Add
+       collapsed_into.
+       (get_varinfo_fc): New function to follow collapsing.
+       (new_var_info): Set collapsed_to to NULL.
+       (dump_constraint): Follow collapsing.
+       (build_constraint_graph): Handle collapsing.
+       (do_simple_structure_copy): Return false if something bad
+       happened.
+       (collapse_rest_of_var): New function.
+       (do_structure_copy): Collapse if do_simple_structure_copy returns
+       false.
+       
+2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/24589
+       * gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
+       expressions to a statement list instead of gimplifying them.
+
+2005-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/23585
+       * rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
+       that can't trap plus a constant integer, if the mode has zero size.
+
+2005-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/24620
+       * config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
+       as operand 2.
+       ("*insv<mode>_reg_extimm"): Likewise.
+
+2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/24329
+       * c-pretty-print.c (pp_c_type_specifier): Do not recurse if
+       c_common_type_for_mode returns an unnamed type.
+
+2005-11-02  Richard Henderson  <rth@redhat.com>
+
+       PR target/9350
+       PR target/24374
+       * dwarf2out.c (dwarf2out_reg_save_reg): New.
+       (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
+       * function.c (assign_parms): Use calls.internal_arg_pointer.
+       (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
+       code.
+       * target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
+       (TARGET_CALLS): Add it.
+       * target.h (struct gcc_target): Add calls.internal_arg_pointer.
+       * targhooks.c (default_internal_arg_pointer): New.
+       * targhooks.h (default_internal_arg_pointer): Declare.
+       * tree.h (dwarf2out_reg_save_reg): Declare.
+       * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
+       * config/i386/i386.c (dbx_register_map): Add return column.
+       (dbx64_register_map, svr4_dbx_register_map): Likewise.
+       (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
+       (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
+       (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
+       (ix86_save_reg): Save force_align_arg_pointer.
+       (ix86_emit_save_regs): Make regno unsigned.
+       (ix86_emit_save_regs_using_mov): Likewise.
+       (ix86_expand_prologue): Handle force_align_arg_pointer.
+       (ix86_expand_epilogue): Likewise.
+       * config/i386/i386.h: (dbx_register_map): Update.
+       (dbx64_register_map, svr4_dbx_register_map): Update.
+       (struct machine_function): Add force_align_arg_pointer.
+       * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
+       (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
+       (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
+
+2005-11-02  Jan Hubicka  <jh@suse.cz>
+
+       PR target/23303
+       * i386.md: Add peep2 for simplyfing array accesses.
+
+2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/24615
+       * config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
+       * config/s390/s390.c (s390_decompose_shift_count): New function.
+       (s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
+       (print_shift_count_operand): Use s390_decompose_shift_count.
+       * config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
+       Use s390_decompose_shift_count.  Do not accept any non-base hard regs.
+
+2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/24600
+       * loop.c (loop_givs_rescan): Use force_operand to expand
+       complex GIVs.
+
+2005-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR 22429
+       * fold-const.c (build_range_check): Use unsigned when signed
+       overflow is undefined also.  If etype is subtype, make sure that
+       the subtraction is in the supertype.
+
+2005-11-02  Richard Henderson  <rth@redhat.com>
+
+       PR target/24178
+       * config/alpha/alpha.c (get_aligned_mem): Honor alignment given
+       by MEM_ALIGN.
+
+2005-11-01  Richard Henderson  <rth@redhat.com>
+
+       PR 21518
+       * loop.c (scan_loop): Do not propagate computations to a hard
+       register destination with SMALL_REGISTER_CLASSES.
+
+2005-11-01  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
+       costs for MULT inside PLUS or MINUS.
+
+2005-11-01  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
+       (TRAMPOLINE_SIZE): Round up to 60.
+       * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
+
+2005-10-31  James E. Wilson  <wilson@specifix.com>
+
+       PR debug/24444
+       * dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
+       ifdef.  Put ifdefs around call in gen_subprogram_die.
+       (compute_frame_pointer_to_cfa_displacement): Likewise.
+       (gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
+       not defined.
+       
+       PR rtl-optimization/17356
+       *  cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
+       add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
+
+2005-10-31  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/24093
+       * cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
+
+       PR target/20928
+       * i386.c (legitimize_pic_address): Deal with large immediates.
+
+       PR profile/20815
+       * coverage.c (coverage_checksum_string): Fix code to stip random seeds
+       from symbol names while computing checkup.
+
+       PR profile/24487
+       * predict.c (predict_loops): Do not estimate more than
+       MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
+       * predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
+
+2005-10-31  Andrew MacLeod  <amacleod@redhat.com>
+       
+       PR tree-optimization/19097
+       * tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
+
+2005-10-31  J"orn Rennecke <joern.rennecke@st.com>
+
+       * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
+
+2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/23492
+       * tree-inline.c (setup_one_parameter): If the init_stmt
+       is NULL, don't insert the statement.
+
+2005-10-30  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/24172
+       * tree-inline.c (copy_body_r): Unshare the substituted value first.
+
+2005-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
+       constants for hosts with long != 32 bits.
+
+2005-10-28  Andreas Krebbel <krebbel1@de.ibm.com>
+
+       PR middle-end/24093
+       * ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
+
+2005-10-28  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/ms1/ms1.h (TARGET_MS1_64_001): New.
+        (TARGET_MS1_16_002): New.
+        (TARGET_MS1_16_003): New.
+
+        * config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
+        ("*decrement_and_branch_until_zero_no_clobber"): New.
+        Add corresponding splitter for decrement_and_branch_until_zero
+        instruction.
+        Key all decrement_and_branch_until_zero patterns off of
+        TARGET_MS1_16_003.
+
+2005-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/24362
+       * tree-complex.c (extract_component): Treat RESULT_DECL
+       like the rest of the decls.
+
+2005-10-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/ia64/ia64.c (ia64_output_function_profiler): Emit an
+       indirect call to _mcount if the function needs a static chain.
+
+2005-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
+            Caroline Tice  <ctice@apple.com>
+
+       PR rtl-optimization/24460
+       * dwarf2out.c (have_switched_text_sections): New boolean variable.
+       (dwarf2out_switch_text_section): Set it to true instead of
+       incrementing separate_line_info_table_in_use.
+       (output_loc_list): Additionally test have_switched_text_sections.
+       (output_ranges): Likewise.
+       (dwarf2out_finish): Likewise.
+       * varasm.c (assemble_start_function): Do not call
+       insert_section_boundary_note.
+       (assemble_end_function): If flag_reorder_blocks_and_partition,
+       switch to the function's section before emitting the .size directive.
+       * bb-reorder.c (insert_section_boundary_note): Staticify.
+       (rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
+       * output.h (insert_section_boundary_note): Delete.
+
+2005-10-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c/23103
+       * c-format.c (check_format_types): Use lang_hooks.types_compatible_p
+       instead of pointer equality when comparing types.
+
+2005-10-24  James E. Wilson  <wilson@specifix.com>
+
+       * sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
+       add_dependence_list_and_free calls.
+
+2005-10-24  Steven Bosscher  <stevenb@suse.de>
+
+       * contrib.texi: Add the names of the LLNL folks who donated
+       Cray pointer support for gfortran.
+
+2005-10-24  Steven Bosscher  <stevenb@suse.de>
+
+       PR tree-optimization/24225
+       * profile.c (branch_prob): Look from end to start through a
+       basic block when looking for a locus.
+
+2005-10-24  Richard Henderson  <rth@redhat.com>
+
+       * pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
+       parallel.
+       (hppa_expand_prologue): Likewise.
+
+2005-10-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
+       (NO_DEFERRED_PROFILE_COUNTERS): Define.
+       * pa.h (NO_PROFILE_COUNTERS): Define.
+       * pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
+       (funcdef_nos): New vector to hold label numbers of deferred profile
+       counters.
+       (output_deferred_profile_counters): New function.
+       (hppa_profile_hook): Push label number onto funcdef_nos.
+       (pa_hpux_file_end): Call output_deferred_profile_counters if
+       NO_DEFERRED_PROFILE_COUNTERS is false.
+
+       * pa-protos.h (get_deferred_plabel): New prototype.
+       * pa.c (get_plabel): Rename to get_deferred_plabel.  Return plabel.
+       Make global.
+       (output_call): Adjust calls.
+
+2005-10-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
+       peculiarity of GOT/TOC section usage.
+
+2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR objc/24435
+        * c-common.c (constant_string_class_name): Add documentation.
+
+2005-10-23  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/23832
+       * recog.c (peephole2_optimize): Increment peep2_current_count
+       only when the slot is empty.
+
+2005-10-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR ada/23957
+       * except.c (output_function_exception_table): Call
+       assemble_external_libcall if we need a personality function.
+
+2005-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/24460
+       * bb-reorder.c (fix_crossing_unconditional_branches): Do not
+       set the basic block for barriers.
+
+2005-10-21  Janis Johnson  <janis187@us.ibm.com>
+
+       * var-tracking.c (vt_initialize): Initialize post.
+
+2005-10-21  Devang Patel  <dpatel@apple.com>
+
+       PR/24220
+       * c-common.c (vector_types_convertible_p): Check vector element type.
+       
+2005-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (prepare_move_operands): Handle the address
+       constant which is a tls symbolic address plus a constant.
+
+2005-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR driver/24473
+       * gcc.c (main): Use the correct counter for erroring out
+       about mulitple files.
+
+2005-10-21  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/24465
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
+       use r2 for 64-bit tls .got access.
+
+2005-10-21  Paolo Bonzini  <bonzini@gnu.org>
+
+       * dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
+       TRUTH_OR_EXPR.
+
+2005-10-20  Steven Bosscher  <stevenb@suse.de>
+
+       PR tree-optimization/24307
+       * tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
+
+2005-10-20  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/24295
+       * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
+       alias targets.
+       * varasm.c (find_decl_and_mark_needed): After cgraph global info
+       is ready, stop marking functions, but still mark variables.
+
+2005-10-20  Richard Guenther  <rguenther@suse.de>
+
+       PR c++/24439
+       * fold-const.c (invert_truthvalue): Handle COND_EXPR with
+       void type operands.
+
+2005-10-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/23585
+       * rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
+       (rtx_addr_can_trap_p): ... here.  Invoke rtx_addr_can_trap_p_1.
+       (may_trap_p_1): New predicate extracted from...
+       (may_trap_p): ... here.  Invoke may_trap_p_1.
+       (may_trap_or_fault_p): New predicate.
+       * rtl.h (may_trap_or_fault_p): Declare it.
+       * reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
+       instead of may_trap_p.
+       (steal_delay_list_from_fallthrough): Likewise.
+       (fill_simple_delay_slots): Likewise.
+       (fill_slots_from_thread): Likewise.
+       * function.c (pad_to_arg_alignment): Rework comment about
+       SPARC_STACK_BOUNDARY_HACK.
+       * config/sparc/sparc.h: Likewise.
+
+2005-10-19  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.c (s390_expand_insv): New.
+       * config/s390/s390-protos.h (s390_expand_insv): Declare.
+       * config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
+       ("icm_hi"): Remove mode attribute.
+       ("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
+       Adjust all uses.
+       ("*extracthi", "*extractqi"): Remove.
+       (extv<mode>", "*extzv<mode>"): New.
+       ("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
+       "*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.
+
+2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * cfgexpand.c (discover_nonconstant_array_refs_r,
+       discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
+       (tree_expand_cfg): Call discover_nonconstant_array_refs.
+       * tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
+       discover_nonconstant_array_refs.
+
+2005-10-19  Steven Bosscher  <stevenb@suse.de>
+
+       PR c/23228
+       * c-decl.c (pop_scope): Don't warn about an unused variable
+       if it is marked with TREE_NO_WARNING.
+       (duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
+       somenow mismatch and olddecl is to be replaced.
+
+2005-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/23199
+       * cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
+       whether registers live on the edge can be saved/restored.
+
+2005-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (fixup_mova): Skip notes.
+
+2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
+       * config/s390/s390.c (s390_hard_regno_rename_ok): New function.
+       (s390_can_eliminate): Handle BASE_REGNUM elimination.
+       (s390_initial_elimination_offset): Likewise.
+       (s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
+       register on TARGET_ZARCH targets.
+       * config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
+       (INITIAL_FRAME_POINTER_OFFSET): Remove.
+       (REG_ALLOC_ORDER): Move BASE_REGNUM lower.
+       (ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.
+
+2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md: Comment describing output modifiers updated.
+       * config/s390/s390.c (print_operand): Likewise.
+
+2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (override_options): Added check for -mstack-size
+       64k limitation.
+       * doc/invoke.texi: Mention that limit in the documenation.
+
+2005-10-18  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR #19672
+       * dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
+
+2005-10-18  Daniel Berlin <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/24231
+
+       * tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
+       (compute_avail): Ditto.
+
+2005-10-18  Richard Henderson  <rth@redhat.com>
+
+       PR target/24428
+       * config/i386/i386.c (legitimate_constant_p): Check
+       SYMBOL_REF_TLS_MODEL directly.  Don't fallthru to SYMBOL_REF
+       if LABEL_REF.
+       (legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
+       (legitimate_pic_address_disp_p): Reorg CONST checking to make
+       sure SYMBOL_REF_TLS_MODEL is tested.  Test SYMBOL_REF_TLS_MODEL
+       directly.
+       (print_operand_address): Likewise.
+       * config/i386/predicates.md (x86_64_immediate_operand): Test
+       SYMBOL_REF_TLS_MODEL properly inside CONST.
+       (x86_64_zext_immediate_operand): Likewise.
+       (global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
+       initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
+       * config/i386/i386-protos.h: Remove predicates.md entries.
+
+2005-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
+       Check that elements of TYPE_METHODS are FUNCTION_DECLs.
+
+2005-10-17  Alexey Starovoytov  <alexey.starovoytov@sun.com>
+            Ian Lance Taylor <ian@airs.com>
+
+       PR middle-end/23522
+       * fold-const.c (fold_widened_comparison): Do not allow range based
+       constant folding when right operand cannot be unwidened.
+
+2005-10-17  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (expand_builtin_synchronize): Build a new-style asm
+       with a memory clobber.
+
+2005-10-17  James E Wilson  <wilson@specifix.com>
+
+       PR rtl-optimization/17356
+       * cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
+       checking for EDGE_EH.
+
+2005-10-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
+       the slot on an even boundary for any type with 16-byte alignment.
+
+2005-10-17  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/23424
+       * md.texi (Modifiers) <%>: Clarify that % doesn't work
+       after register allocation.
+
+2005-10-17  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
+       as frame related.
+
+2005-10-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/22551
+       * c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
+       overflow flags.
+
+2005-10-17  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
+       to 2 if it's already non-zero.
+       (OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
+       is set and warn about it if flag_schedule_insns is 1.
+
+2005-10-17  Paul Woegerer  <paul.woegerer@nsc.com>
+
+       * config/crx/crx.md: Compare-and-branch instructions need to
+       invalidate CC.
+
+2005-10-17  Uros Bizjak  <uros@kss-loka.si>
+
+       PR target/24315
+       * config/i386/i386.md (*pushdi2_rex64 splitter)
+       (*movdi_1_rex64 splitter, *ashldi3_1 splitter)
+       (*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
+       flow2 pass only when (optimize > 0 && flag_peephole2).
+
+2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR driver/22544
+       * gcc.c (have_c): New static variable.
+       (have_o): Likewise.
+       (process_command): Remove declation of have_c.
+       Set have_o to 1 when handling -o.
+       (main): Add a fatel error if there are multiple
+       files specified and -o and -c/-S is passed witout
+       -combine or multiple languages.
+
+2005-10-16  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/22444
+       * tree-ssa-alias.c (compute_flow_insensitive_aliasing):
+       Assert that we don't hit something with subvars.
+       (setup_pointers_and_addressables): Don't add things with subvars,
+       because we'll already process the subvars for aliasing purposes.
+
+2005-10-16  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/23424
+       * config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
+       ("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
+       ("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
+       ("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
+       ("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
+       swapped, alternatives for the R constraint.
+
+       PR middle-end/24341
+       * builtins.c (get_builtin_sync_mode): Make unlimited
+       mode_for_size request.
+
+2005-10-15  Richard Henderson  <rth@redhat.com>
+
+       * gimplify.c (gimplify_var_or_parm_decl): Split out from ...
+       (gimplify_expr): ... here.
+       (gimplify_compound_lval): Use it in initial scan loop.  Allow
+       fb_lvalue in base expression.
+
+2005-10-15  Richard Henderson  <rth@redhat.com>
+
+       PR 23714
+       * builtins.c (expand_builtin_trap): Export.
+       * expr.h (expand_builtin_trap): Declare.
+       * expr.c (expand_assignment): Emit a trap for integral offsets 
+       from registers that weren't reduced to bitpos.
+
+       * tree-cfg.c (mark_array_ref_addressable_1): Remove.
+       (mark_array_ref_addressable): Remove.
+       * tree-flow.h (mark_array_ref_addressable): Remove.
+       * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.
+
+2005-10-15  James E Wilson  <wilson@specifix.com>
+
+       PR target/24232
+       * sched-deps.c (add_dependence_list): New arg UNCOND.  Fix all callers.
+       (add_dependence_list_and_free): Likewise.
+       (sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
+       call.
+
+2005-10-15  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 23141
+       PR 23142
+       * tree-vrp.c (vrp_meet): Fix the intersection of equivalence
+       sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
+       anti-range.
+       (vrp_visit_phi_node): Only prevent infinite iterations when
+       the previous result and the new result are both VR_RANGEs.
+
+2005-10-15  Ranjit Mathew  <rmathew@gcc.gnu.org>
+
+       * tree-into-ssa.c (mark_def_sites): Correct minor typo in
+       function comment.
+
+2005-10-14  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c/23439
+       * c-parser.c (c_parser_for_statement): Use location of RID_FOR
+       to initialize loc.
+
+2005-10-14  Per Bothner  <per@bothner.com>
+
+       PR preprocessor/21250
+       * c-ppoutput.c (print_line): Print internal line 0 as 1.
+
+2005-10-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/22551
+       * c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
+       overflow flags.  Refactor some conditionals.
+
+2005-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/21304
+       * tree-dfa.c (add_referenced_var): Only look at decls which
+       have TREE_CONSTANT or TREE_READONLY set instead of if
+       !TREE_PUBLIC or !TREE_CONSTANT.
+
+2005-10-13  James E Wilson  <wilson@specifix.com>
+
+       * doc/invoke.texi: For -x, add f95-cpp-input.
+       * doc/install.texi: For --enable-languages doc, change f95 to fortran.
+
+2005-10-12  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR tree-optimization/24262
+       * tree-data-ref.c (analyze_offset_expr): Check that init is invariant
+       in loop all the time.
+
+2005-10-12  Richard Henderson  <rth@redhat.com>
+
+       PR c/24255
+       * tree.h (DECL_TRANSPARENT_UNION): Remove.
+       * function.c (assign_parm_find_data_types): Don't support it.
+       * print-tree.c (print_node): Likewise.
+       * c-common.c (handle_transparent_union_attribute): Likewise.
+       Use build_duplicate_type.
+       * tree-inline.c (remap_type_1): Split out of remap_type;
+       properly remap aggregate fields.
+       (build_duplicate_type): New.
+       * doc/extend.texi (Variable Attributes): Remove documentation
+       for transparent_union.
+
+2005-10-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/24284
+       * config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
+       (gen_stack_pointer_dec): Likewise.
+
+2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR middle-end/21275
+       PR middle-end/21766
+       * target.h (struct gcc_target): Add valid_dllimport_attribute_p
+       target hook.
+       (struct cxx): Add adjust_class_at_definition target hook.
+       * target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
+       defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
+       (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to 
+       hook_void_tree. Add to TARGET_CXX.
+       * tree.h (struct decl_with_vis): Rename non_addr_const_p field to
+       dllimport_flag.
+       (DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
+       * tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
+       instead of attribute. Check for dllexport override.  Warn if
+       inconsistent dll linkage. Don't lose old dllimport if decl has
+       had address referenced.   Tweak lookup of dllimport atribute.  
+       (handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
+       for target specific rules.  Don't add dllimport attribute if
+       DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
+       dllimport attribute. 
+       (staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
+       * varasm.c (initializer_constant_valid_p): Replace
+       DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
+
+       PR target/21801
+       PR target/23589
+       * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to 
+       'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
+       (i[34567]86-*-mingw32*): Likewise.
+
+       * doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
+       (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
+                       
+       * config/i386/winnt.c (i386_pe_dllimport_p): Factor out
+       C++-specific code. Change return value to bool. 
+       (i386_pe_dllimport_p): Likewise.
+       (associated_type): Simplify and make language-independent
+       (i386_pe_encode_section_info): Replace override of ambiguous
+       dllimport symbol refs with a gcc_assert.
+       (i386_pe_valid_dllimport_attribute_p): Define.
+       * config/i386/winnt-cxx.c: New file. Define C++ versions of
+       i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
+       i386_pe_adjust_class_at_definition.
+       * config/i386/winnt-stubs.c: New file. Define stub versions of
+       lang-specific functions.
+       * config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
+       i386_pe_type_dllimport_p, i386_pe_type_dllexport_p, 
+       i386_pe_adjust_class_at_definition.
+       (i386_pe_valid_dllimport_attribute_p): Declare. 
+       * config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
+       (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
+       * config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
+
+       PR target/19704
+       * config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
+       dllimport attribute with test of DECL_DLLIMPORT_P.
+
+2005-10-12  Adrian Straetling <straetling@de.ibm.com>
+
+       * combine.c (make_extraction): Correct offset computation.
+
+2005-10-12  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/t-linux (LIMITS_H_TEST): Define.
+
+2005-10-12  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/23324
+       * cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
+
+2005-10-12  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (CGRAPH_H): Depend on $(TREE_H).
+
+2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/19964
+       * stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
+       DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
+       type.
+
+2005-10-12  Richard Guenther  <rguenther@suse.de>
+
+       PR c++/23799
+       * varasm.c (output_constant): Correct typo from previous
+       patch by DJ.
+
+2005-10-11  Ian Lance Taylor  <ian@airs.com>
+
+       PR rtl-optimization/13931
+       * combine.c: Revert patch of 2003-05-14, and:
+       (try_combine): Only set elim_i1 and elim_i2 if the destination is
+       completely killed in the appropriate insn.
+       (distribute_notes): Don't skip multiple hard register test for
+       elim_i1 and elim_i2.
+
+2005-10-11  Richard Henderson  <rth@redhat.com>
+
+       PR c/24255
+       * c-typeck.c (convert_for_assignment): Use build_constructor_single
+       to initialize a transparent union instead of a nop_expr.
+
+2005-10-11  Richard Henderson  <rth@redhat.com>
+
+       * Makefile.in (tree-ssa-dce.o): Depend on SCEV_H.
+       * tree-ssa-dce.c: Include tree-scalar-evolution.h.
+       (tree_ssa_dce_loop): Call scev_reset.
+
+       PR tree-opt/24300
+       * Makefile.in (tree-ssa-dce.o): Depend on CFGLOOP_H.
+       * tree-ssa-dce.c: Include cfgloop.h.
+       (tree_ssa_dce_loop, pass_dce_loop): New.
+       * tree-pass.h (pass_dce_loop): Declare it.
+       * passes.c (init_optimization_passes): Use it.
+
+2005-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/24263 
+       * convert.c (convert_to_real): Revert 2005-10-05 patch.
+       Only apply the optimization for rounding builtins if the inner
+       cast is also an extension.
+
+2005-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/23946
+       * tree-ssa-ccp.c (execute_fold_all_builtins): Call
+       mark_new_vars_to_rename instead of update_stmt.
+
+2005-10-11  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/crti.s (__init, __fini): Renamed from _init, _fini.
+
+2005-10-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
+       for setting MMX register to 0 rather than mmx.
+
+2005-10-10  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/12098
+       * configure.ac: Move gas check from mips specific case to common case.
+       Do check for GNU as for mips*-*-* and *-*-hpux* targets.
+       * configure: Regenerate
+       * doc/install.texi: Update.
+
+2005-10-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/24284
+       * config/sparc/sparc.c (sparc_expand_prologue): Remove bogus PATTERN.
+
+2005-10-10  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gcc.c (do_spec_1): Accept numeric characters in file name
+       suffixes.
+
 2005-10-10  Nick Clifton  <nickc@redhat.com>
 
        * config/arm/arm.c: Remove extraneous whitespace.  Remove comment
 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
        
        * tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
-        change.
+       change.
 
 2005-10-06  Richard Henderson  <rth@redhat.com>
 
 2005-09-23  Fariborz Jahanian <fjahanian@apple.com>
 
        PR target/23847
-        * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
-        for __complex__ double in -mcpu=G5 mode.
+       * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
+       for __complex__ double in -mcpu=G5 mode.
 
 2005-09-26  Sebastian Pop  <pop@cri.ensmp.fr>
 
 
 2005-09-26    Fariborz Jahanian <fjahanian@apple.com>
 
-        * combine.c (make_extraction): Check for valid use of subreg.
+       * combine.c (make_extraction): Check for valid use of subreg.
 
 2005-09-26  Uros Bizjak  <uros@kss-loka.si>
 
 
 2005-09-22  David Edelsohn  <edelsohn@gnu.org>
 
-        PR target/24007
-        * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
-        registers when choosing register preferences.
-        (movdf_hardfloat64): Same.
+       PR target/24007
+       * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
+       registers when choosing register preferences.
+       (movdf_hardfloat64): Same.
 
 2005-09-22  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * gcc.c (main): Compare language[0] with '*' when iterating over
        the infiles.
 
-2005-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
+2005-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
 
        * config/s390/s390.c: (s390_cc_modes_compatible): Move before
        "s390_emit_compare".  Add handling of CCZ1mode.
        Use CCZ1mode instead of CCZmode.
        * config/s390/s390-modes.def: Add CCZ1mode.  Comment new mode.
 
-2006-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
+2006-07-13  Adrian Strae½tling  <straetling@de.ibm.com>
 
        * config/s390/s390.md: ("cmpstrsi", "*cmpstr<mode>"): New
        pattern.