+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
2005-10-20 Steven Bosscher <stevenb@suse.de>
- PR tree-optimization/24225
+ PR tree-optimization/24307
* tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
2005-10-20 Alexandre Oliva <aoliva@redhat.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.