+2005-09-30 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.md (movqi): On thumb when optimizing, handle loading from
+ memory by describing this as taking a subreg of a zero-extended load
+ into an SImode register.
+ (movhi): Likewise.
+
+2005-09-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * reload1.c (merge_assigned_reloads): Do not change any
+ RELOAD_FOR_OUTPUT_ADDRESS reloads.
+
+2005-09-30 Geoffrey Keating <geoffk@apple.com>
+
+ * config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks
+ before creating new ones. Do symlinks before creating the actual
+ targets.
+
+ * config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib
+ to work out which multilibs are actually being built.
+
+2005-09-30 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree-vect-transform.c, config/ms1/ms1.md,
+ config/s390/s390.c, config/v850/v850.md: Fix comment typos.
+ Follow spelling conventions.
+ * doc/invoke.texi, doc/md.texi: Fix typos.
+
+2005-09-30 Andrew Macleod <amacleod@redat.com>
+
+ PR tree-optimization/21430
+ * tree-ssa-operands.c (set_virtual_use_link): New. Link new virtual
+ use operands, and set stmt pointer if need be.
+ (FINALIZE_CORRECT_USE: New. Macro to call appropriate use fixup routine.
+ tree-ssa-opfinalize.h (FINALIZE_FUNC): Call FINALIZE_CORRECT_USE if
+ present.
+
+2005-09-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ PR middle-end/24053
+ * stor-layout.c (set_sizetype): Set TYPE_MAIN_VARIANT of bitsizetype.
+
+2005-09-29 Mark Mitchell <mark@codesourcery.com>
+
+ * optabs.c (expand_binop): Initialize first_pass_p.
+
+2005-09-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/24109
+ * c-decl.c (c_write_global_declarations_1): If any
+ wrapup_global_declaration_2 call returned true, restart the loop.
+
+2005-09-29 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/24117
+ * tree-ssa-structalias.c (find_func_aliases): Strip nops
+ before considering whether to use anyoffset.
+
+2005-09-29 Paolo Bonzini <bonzini@gnu.org>
+
+ Revert this patch:
+
+ 2005-09-15 Paolo Bonzini <bonzini@gnu.org>
+
+ * optabs.c (expand_binop): Use swap_commutative_operands_with_target
+ to order operands.
+ (swap_commutative_operands_with_target): New.
+
+2005-09-29 Paolo Bonzini <bonzini@gnu.org>
+
+ PR c/21419
+ * gimplify.c (gimplify_asm_expr): Raise an error if an output is
+ read-only.
+
+2005-09-29 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/23911
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle REALPART_EXPR
+ and IMAGPART_EXPR too.
+
+2005-09-28 Mark Mitchell <mark@codesourcery.com>
+
+ PR 17886
+ * expmed.c (expand_shift): Move logic to reverse rotation
+ direction when rotating by constants ...
+ * optabs.c (expand_binop): ... here.
+ * config/i386/i386.md (rotrdi3): Handle 32-bit mode.
+ (ix86_rotrdi3): New pattern.
+ (rotldi3): Handle 32-bit mode.
+ (ix86_rotldi3): New pattern.
+
+2005-09-29 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/24102
+ * config/rs6000/rs6000.md (floatdisf2_internal2): Correct range
+ check for numbers that need no bit twiddle.
+
+2005-09-28 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/t-darwin8: Uncomment contents, allow -m64
+ multilib to be built.
+
+ * Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET.
+ (stage1-start): Delete old libgcc and libunwind before moving
+ anything into the stage directory.
+ (stage2-start): Likewise.
+ (stage3-start): Likewise.
+ (stage4-start): Likewise.
+ (stageprofile-start): Likewise.
+ (stagefeedback-start): Likewise.
+ * config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h
+ header in tm_file and CPU-specific t-darwin in tmake_file.
+ (i[34567]86-*-darwin*): Don't change tm_file.
+ (powerpc-*-darwin*): Don't change tm_file or tmake_file.
+ * config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc
+ shared library stub for target OS version.
+ * config/t-slibgcc-darwin (SHLIB_SOLINK): Delete.
+ (SHLIB_LINK): Don't make SHLIB_SOLINK.
+ (SHLIB_INSTALL): Don't install SHLIB_SOLINK.
+ (libgcc_s.%.dylib): New.
+ (LIBGCC): Define.
+ (install-darwin-libgcc-stubs): New.
+ (INSTALL_LIBGCC): New append.
+ * config/i386/darwin-libgcc.10.4.ver: New.
+ * config/i386/darwin-libgcc.10.5.ver: New.
+ * config/i386/t-darwin: New.
+ * config/rs6000/darwin-libgcc.10.4.ver: New.
+ * config/rs6000/darwin-libgcc.10.5.ver: New.
+ * config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete.
+ * config/rs6000/t-darwin (SHLIB_VERPFX): Define.
+
+2005-09-28 Paul Brook <paul@codesourcery.com>
+
+ * config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle
+ denormals.
+
+2005-09-28 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/23853
+ * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
+ host_integerp to verify misalignment value.
+
+2005-09-28 Richard Henderson <rth@redhat.com>
+
+ * builtins.c (get_builtin_sync_mode): New.
+ (expand_builtin_sync_operation): Pass in mode argument.
+ (expand_builtin_compare_and_swap): Likewise.
+ (expand_builtin_lock_test_and_set): Likewise.
+ (expand_builtin_lock_release): Likewise.
+ (expand_builtin): Update to match.
+
+2005-09-28 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up
+ formatting. Add check to PLUS case to ensure that the offset is
+ within an acceptable range.
+
+ * config/v850/v850.md (casesi): Disable the generation of the
+ switch pattern as it is not being handled properly at the moment.
+
+ * config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
+ for when the high words are identical.
+
+2005-09-27 Richard Henderson <rth@redhat.com>
+
+ * pretty-print.c (pp_base_format): Fix typo for %>.
+
+2005-09-27 Daniel Berlin <dberlin@dberlin.org>
+ Devang Patel <dpatel@apple.com>
+
+ PR tree-optimization/23625
+ * tree-flow-inline.h (bsi_after_labels): Remove, first statement is
+ LABEL_EXPR, assertion check.
+
+2005-09-27 J"orn Rennecke <joern.rennecke@st.com>
+
+ * optabs.c (no_conflict_move_test): Check if a result of a
+ to-be-moved insn would be clobbered by an originally
+ preceding insn.
+
+2005-09-27 Jeff Law <law@redhat.com>
+
+ * passes.c (init_optimization_passes): Replace copy propagation
+ passes immediately after DOM with phi-only copy propagation
+ pases. Add phi-only copy propagation pass after first DOM pass.
+ * tree-pass.h (pass_phi_only_copy_prop): Declare.
+ * tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
+ If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
+ (execute_copy_prop): Accept new PHI_ONLY argument. Pass it along
+ to init_copy_prop. Callers updated.
+ (do_phi_only_copy_prop): New function.
+ (pass_phi_only_copy_prop): New pass descriptor.
+
+2005-09-27 Nick Clifton <nickc@redhat.com>
+
+ * libgcc2.c (__popcount_tab): Remove redundant prototype.
+
+2005-09-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/13764
+ * c-common.c (finish_fname_decls): Use append_to_statement_list_force.
+
+ * doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
+
+2005-09-26 James E Wilson <wilson@specifix.com>
+
+ * config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
+ copyright. Add gcc copyright plus libgcc exception.
+ * config/ia64/crtfastmath.asm: Remove glibc copyright. Add gcc
+ copyright.
+ * config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
+
+2005-09-26 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
+ about when to iterate.
+
+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.
+
+2005-09-26 Sebastian Pop <pop@cri.ensmp.fr>
+
+ PR tree-optimization/23942
+ * Makefile.in (SCEV_H): Depends on PARAMS_H.
+ * tree-scalar-evolution.c: Include params.h.
+ (t_bool): New enum.
+ (follow_ssa_edge, follow_ssa_edge_in_rhs,
+ follow_ssa_edge_in_condition_phi_branch,
+ follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
+ Change return type to t_bool. Use a parameter to limit the size of
+ trees that are walked before stopping
+ (analyze_evolution_in_loop): Initialize the limit to 0.
+ (follow_ssa_edge): Give up by returning t_dont_know if the limit
+ exceeds PARAM_SCEV_MAX_EXPR_SIZE.
+
+2005-09-26 Uros Bizjak <uros@kss-loka.si>
+
+ PR middle-end/23831
+ * simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
+ simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
+
+2005-09-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ * combine.c (make_extraction): Check for valid use of subreg.
+
+2005-09-26 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/24055
+ * config/i386/i386.md ("*fistdi2_1"): New pattern.
+ ("*fist<mode>2_1"): Use only HImode and SImode register operands.
+ ("fist<mode>2_with_temp"): Use only register operands.
+
+2005-09-26 J"orn Rennecke <joern.rennecke@st.com>
+
+ * rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
+ CALL_INSN_FUNCTION_USAGE.
+
+2005-09-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/15855
+ * gcse.c: Include hashtab.h, define ldst entry hashtable.
+ (pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
+ (ldst_entry): Use the hashtable instead of list-walking.
+ (find_rtx_in_ldst): Likewise.
+ (free_ldst_entry): Free the hashtable.
+ (compute_ld_motion_mems): Create the hashtable.
+ (trim_ld_motion_mems): Remove entry from hashtable if
+ removing it from list.
+ (compute_store_table): Likewise^2.
+ (store_motion): Free hashtable in case we did not see
+ any stores.
+
+2005-09-25 Kazu Hirata <kazu@codesourcery.com>
+
+ * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
+ and arg1 if we are passing them to fold_build2.
+
+2005-09-25 Dan Nicolaescu <dann@ics.uci.edu>
+
+ PR 23828
+ * config/i386/i386.c (ix86_function_regparm): Fix the test for
+ a nested function.
+
+2005-09-25 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (tls_symbolic_operand_1): Trust
+ SYMBOL_REF_TLS_MODEL to be correct.
+
+2005-09-24 Richard Henderson <rth@redhat.com>
+
+ * ipa-type-escape.c (discover_unique_type): Remove dead code at
+ end of function. Reindent.
+
+2005-09-24 Ian Lance Taylor <ian@airs.com>
+
+ * convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
+ NEGATE_EXPR/BIT_NOT_EXPR case.
+
+2005-09-24 Richard Henderson <rth@redhat.com>
+
+ * c-common.c (handle_mode_attribute): When not modifying in place,
+ create subtypes for enumerations.
+ (sync_resolve_return): Use TYPE_MAIN_VARIANT.
+ * gimplify.c (create_tmp_from_val): Likewise.
+
+2005-09-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/i386/i386.md (*tls_global_dynamic_64,
+ *tls_local_dynamic_base_64): Add missing mode to call.
+ (tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
+
+2005-09-24 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
+ (cgraph_clone_node): Likewise.
+ * cgraph.h (cgraph_clone_edge): Update prototype.
+ (cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
+ duplicated prototypes; add updating argument.
+ * cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
+ * ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
+ updating profile.
+ (cgraph_mark_inline_edge): Likewise.
+ (cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
+ (cgraph_flatten_node): Likewise.
+ (cgraph_decide_recursive_inlining): Likewise.
+ (cgraph_decide_inlining_of_small_function): Likewise.
+ * tree-optimize.c (tree_rest_of_compilation): Likewise.
+
+2005-09-23 David Edelsohn <edelsohn@gnu.org>
+ Pete Steinmetz <steinmtz@us.ibm.com>
+
+ * config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
+ (rldic.): Set type to "compare".
+ (rldicr.): Same.
+ (movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR. Set type to
+ mfjmpr for MFCTR/MFLR.
+ (movdf_hardfloat64): Same.
+ (movdf_softfloat64): Same. Correct order of store and move types.
+ (movti_string): Set type to store_ux/load_ux.
+ (load_multiple): Set type to load_ux.
+ (store_multiple): Set type to store_ux.
+ (movmemsi): Set type to store_ux.
+ (output_cbranch direct_return): Set type to jmpreg.
+ (stmw): Set type to store_ux.
+ (lmw): Set type to load_ux.
+ * config/rs6000/40x.md (ppc403-store): Increase latency to 2.
+ * config/rs6000/440.md (ppc440-store): Increase latency to 6.
+ * config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
+ * config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
+ * config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
+ * config/rs6000/rios1.md (rios1-store): Increase latency to 2.
+ (rios1-fpstore): Increase latency to 3.
+ * config/rs6000/rios2.md (rios2-store): Increase latency to 2.
+ * config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
+
+2005-09-23 David Edelsohn <edelsohn@gnu.org>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
+ operand2 constraint to "b".
+ (sync_<fetchop_name>di_internal): Same.
+ (sync_old_<fetchop_name>si_internal): Change operand3 constraint
+ to "b".
+ (sync_old_<fetchop_name>di_internal): Same.
+ (sync_new_<fetchop_name>si_internal): Same.
+ (sync_new_<fetchop_name>di_internal): Same.
+
+2005-09-23 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR middle-end/23991
+ * final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
+ case, define as macros.
+
+ PR rtl-optimization/23837
+ * optabs.c (no_conflict_move_test): Don't set must_stay for a
+ clobber / clobber match between dest and p->first.
+
+ * optabs.c (emit_libcall_block): Use no_conflict_move_test.
+ (no_conflict_move_test): Update comments.
+
+2005-09-22 Ranjit Mathew <rmathew@gcc.gnu.org>
+
+ * doc/install.texi: Update URL for Jacks.
+ * doc/sourcebuild.texi: Likewise.
+
+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.
+
+2005-09-22 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * expmed.c (expand_shift): Don't use the target of the rotate as
+ target for the first expanded shift insn.
+ * testsuite/gcc.dg/20050922-1.c: Testcase added.
+
+2005-09-21 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/22438
+ * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
+ preserved iv rhs rewriting specially.
+
+2005-09-21 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-data-ref.c (analyze_array_indexes): Only estimate when
+ estimate_only is true.
+ * tree-flow.h (ref_contains_indirect_ref): New prototype.
+ * tree-flow-inline.h (ref_contains_indirect_ref): Moved from
+ tree-ssa-structalias.c
+ * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
+ ref_contains_indirect_ref.
+ * tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
+
+2005-09-21 DJ Delorie <dj@redhat.com>
+
+ * config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
+ MASK_PTR_A0D0.
+ (mn10300_return_in_memory): Support variable size types also.
+ (mn10300_pass_by_reference): Likewise.
+ (mn10300_function_value): New.
+ * config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
+ (FUNCTION_OUTGOING_VALUE): Likewise.
+ * config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
+ * doc/invoke.texi: Document it.
+
+2005-09-21 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/22585
+ * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
+ force integer op1 into register for XFmode compares.
+
+2005-09-21 Kazu Hirata <kazu@codesourcery.com>
+
+ PR middle-end/23971
+ * expmed.c (alg_code): Add alg_impossible.
+ (alg_hash_entry): Add cost.
+ (synth_mult): Record alg_impossible in the hash table if
+ multiplication by a given integer is impossble within the
+ limit. Speed up using alg_impossible.
+
+2005-09-20 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-structalias.c (get_constraint_for_component_ref): Add
+ argument. Allow and set any offset if needs_anyoffset is passed
+ in.
+ (get_constraint_for): Add argument here too.
+ Pass it down.
+ (do_structure_copy): Pass NULL to get_constraint_for.
+ (handle_ptr_arith): Ditto.
+ (find_func_aliases): Ditto.
+
+2005-09-20 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR rtl-optimization/23898
+ * output.h (get_attr_min_length): Declare.
+ * final.c (get_attr_length_1): New function, broken out of:
+ (get_attr_length).
+ (get_attr_min_length): New function.
+ * bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
+ (duplicate_computed_gotos): Likewise.
+ * genattr.c (insn_min_length): Generate declaration.
+ * genattrtab.c (min_fn, min_attr_value): New functions.
+ (make_length_attrs): Generate insn_min_length.
+
+2005-09-20 Steve Ellcey <sje@cup.hp.com>
+
+ * config/pa/pa.c (output_cbranch): Check for zero in operands[2].
+
+2005-09-20 Richard Henderson <rth@redhat.com>
+
+ PR tree-optimization/24059
+ * expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
+ EXPAND_STACK_PARM.
+
+2005-09-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c.opt (fextended-identifiers): New.
+ * c-opts.c (c_common_handle_option): Handle
+ -fextended-identifiers.
+ * doc/cpp.texi: Update documentation of extended identifiers.
+ * doc/cppopts.texi (-fextended-identifiers): Document.
+
+2005-09-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/23929
+ * tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
+ if expr is NULL.
+
+ PR tree-optimization/23818
+ * tree-stdarg.c (execute_optimize_stdarg): Call
+ calculate_dominance_info.
+
+2005-09-20 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-data-ref.c (get_number_of_iters_for_loop): New function.
+ (analyze_siv_subscript_cst_affine): Add weak SIV test.
+ (compute_overlap_steps_for_affine_1_2): Use
+ get_number_of_iters_for_loop.
+ (analyze_subscript_affine_affine): Check whether difference is
+ zero first.
+ Use get_number_of_iters_for_loop.
+ Check whether overlap occurs outside of bounds.
+ (analyze_miv_subscript): Use get_number_of_iters_for_loop.
+
+2005-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
+ base register if possible.
+
+2005-09-20 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/18463
+ * tree-chrec.c (chrec_convert): Return fold_converted chrec if
+ converting it directly is not possible.
+ (chrec_convert_aggressive): New function.
+ * tree-chrec.h (chrec_convert_aggressive): Declare.
+ * tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
+ Fold chrec conversions aggressively if asked to.
+ (instantiate_parameters): Modified because of changes in
+ instantiate_parameters_1.
+
+2005-09-19 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
+ (reduc_splus_v2df): New.
+
+2005-09-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
+ (ADDITIONAL_REGISTER_NAMES): Add missing comma. Remove final comma.
+
+2005-09-19 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (vcondu<SSEMODE124>): Rename from
+ vcondu<SSEMODE12>.
+
+2005-09-19 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_widen_sum): New.
+ (ia64_expand_dot_prod_v8qi): New.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
+ widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
+ sdot_prodv8qi, sdot_prodv4hi): New.
+ (reduc_splus_v2sf): Rename from reduc_plus_v2sf.
+
+2005-09-19 Richard Henderson <rth@redhat.com>
+
+ PR 23941
+ * real.c (exact_real_truncate): Return false if the format cannot
+ represent the number as a normal.
+
+ * config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
+ for a memory source.
+
+2005-09-19 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-ssa-operands.c (swap_tree_operands): Export.
+ * tree.h (swap_tree_operands): Declare.
+ * tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
+ Call swap_tree_operands.
+
+2005-09-19 Richard Henderson <rth@redhat.com>
+
+ * tree-flow.h (merge_alias_info): Declare.
+ * tree-ssa-copy.c (merge_alias_info): Export.
+ * tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
+ (vect_create_data_ref_ptr): Use create_iv directly.
+ (vectorizable_load): Use correct types for integer constants.
+ (vect_generate_tmps_on_preheader): Likewise.
+ (vect_gen_niters_for_prolog_loop): Likewise.
+
+2005-09-19 Steven Bosscher <stevenb@suse.de>
+
+ PR rtl-optimization/23943
+ * cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
+
+2005-09-18 Jan Hubicka <jh@suse.cz>
+
+ * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
+
+2005-09-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * varasm.c (output_constant): Do not abort on conversions to union
+ types between different sizes.
+
+2005-09-18 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/23944
+ * gimplify.c (fold_indirect_ref_rhs): Fix thinko in
+ fallback.
+
+2005-09-18 Paul Brook <paul@codesourcery.com>
+
+ * config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
+
+2005-09-17 Richard Henderson <rth@redhat.com>
+
+ * tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
+ * tree-ssa-loop.c (pass_vect_dce): Remove.
+ * passes.c (init_optimization_passes): Add pass_dce as a sub-pass
+ of pass_vectorize.
+
+2005-09-17 Richard Henderson <rth@redhat.com>
+
+ * tree-pass.h (pass_vect_dce): Declare.
+ * passes.c (init_optimization_passes): Add it.
+ * tree-flow.h (tree_ssa_dce): Declare.
+ * tree-ssa-dce.c (tree_ssa_dce): Export.
+ * tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
+ (gate_tree_vectorize): ... here.
+ (pass_vect_dce): New.
+
+2005-09-17 Jan Hubicka <jh@suse.cz>
+
+ * except.c (struct eh_status): Turn region_array into vec.
+ (expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
+ convert_from_eh_region_ranges, find_exception_handler_labels,
+ current_function_has_exception_handlers, assign_filter_values,
+ build_post_landing_pads, dw2_build_landing_pads,
+ sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
+ sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
+ foreach_reachable_handler, can_throw_internal_1,
+ convert_to_eh_region_ranges, verify_eh_tree): Update uses of
+ region_array.
+ (duplicate_eh_region_1): Update region_array.
+ (duplicate_eh_regions): Resize region_array and avoid recomputing.
+
+2005-09-17 David Edelsohn <edelsohn@gnu.org>
+
+ PR middle-end/22067
+ * expmed.c (expand_mult): Substitute simple register for op0 when
+ computing max_cost.
+
+2005-09-17 Richard Henderson <rth@redhat.com>
+
+ * expr.c (emit_move_via_integer): Add force argument, pass it on
+ to emit_move_change_mode. Update callers.
+ (emit_move_complex): Pass true to new force argument.
+ * function.c (expand_function_end): Move expand_eh_return call
+ earlier. Merge sub-word complex values into a pseudo before
+ copying to the return hard register.
+
+2005-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
+ between different sizes.
+
+2005-09-16 Paolo Bonzini <bonzini@gnu.org>
+
+ PR 23903
+
+ * passes.c (init_optimization_passes): Register dump files for
+ IPA passes first.
+
+2005-09-16 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390-protos.h (s390_overlap_p): Prototype added.
+ * config/s390/s390.c (s390_overlap_p): New function.
+ * config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
+ peephole2, "*xc" peephole2): Added overlap check to the peephole2
+ condition.
+
+2005-09-16 Richard Guenther <rguenther@suse.de>
+
+ * ipa-pure-const.c (static_execute): Free auxiliar information.
+ * ipa-type-escape.c (discover_unique_type): Free temporary key.
+ * tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
+
+2005-09-15 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
+
+2005-09-15 Paolo Bonzini <bonzini@gnu.org>
+
+ * optabs.c (expand_binop): Use swap_commutative_operands_with_target
+ to order operands.
+ (swap_commutative_operands_with_target): New.
+
+2005-09-15 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-data-ref.c (analyze_array_indexes): Add estimate_only
+ parameter.
+ Update callers.
+ (estimate_iters_using_array): New function.
+ * tree-data-ref.h (estimate_iters_using_array): Prototype
+ * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
+ Use estimate_iters_using_array instead of analyze_array.
+
+2005-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-nested.c (get_frame_type): Mark the "non-local frame structure"
+ as addressable.
+
+2005-09-15 Michael Matz <matz@suse.de>
+
+ * tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
+
+2005-09-14 Daniel Berlin <dberlin@dberlin.org>
+
+ PR tree-optimization/23835
+ * tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
+ (create_name_tags): Rewrite to be not O(num_ssa_names^2).
+
+2005-09-14 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
+ (addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
+
+2005-09-14 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
+ in the ARRAY_TYPE case.
+
+2005-09-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
+
+2005-09-14 Uros Bizjak <uros@kss-loka.si>
+
+ PR middle-end/22480
+ * tree-vect-transform.c (vectorizable_operation): Return false for
+ scalar shift operations and for vector shift operations with
+ non-invariant shift arguments. Use scalar tree operand op1 as
+ a shift operand when vector shift insn pattern uses scalar shift
+ operand.
+ * Makefile.in (tree-vect-transform.o): Depend on recog.h.
+
+2005-09-14 Olivier Hainque <hainque@adacore.com>
+
+ * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
+ value if it has side-effects.
+
+2005-09-14 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/22068
+ * config/rs6000/rs6000.md (muldi3): Add mulli alternative.
+
+2005-09-14 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
+ passed as NAME as if it were label at start of function code.
+
+2005-09-13 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.md (*movv4sf_i): Add general register cases to
+ the constraints.
+
+2005-09-13 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
+ as early clobber. Rewrite so the PIC register is not implicitly used.
+
+2005-09-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * tree.c (annotate_with_file_line): Compare line numbers before
+ file names.
+
+2005-09-13 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/23816
+ * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
+ (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
+
+2005-09-13 Ian Lance Taylor <ian@airs.com>
+
+ * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
+ than a HOST_WIDEST_INT to gen_doloop_begin.
+
+2005-09-13 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-dfa.c (dump_variable): Guard against NULL annotations.
+
+2005-09-13 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimize/23817
+ * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
+
+2005-09-13 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/23774
+ * config/rs6000/rs6000.md (restore_stack_block): Write the backchain
+ word before changing the stack pointer. Use gen_frame_mem for MEMs.
+ Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
+ (restore_stack_nonlocal): Likewise.
+ (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
+
+2005-09-12 Ian Lance Taylor <ian@airs.com>
+
+ PR g++/7874
+ * c.opt (ffriend-injection): New C++ option.
+ * doc/invoke.texi (Option Summary): Mention -ffriend-injection.
+ (C++ Dialect Options): Document -ffriend-injection.
+
+2005-09-12 Josh Conner <jconner@apple.com>
+
+ PR middle-end/23237
+ * ipa-reference.c (static_execute): Don't mark variables in
+ named sections TREE_READONLY.
+
+2005-09-12 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
+ stack_tie.
+
+2005-09-12 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
+ V_MUST_DEF instead of just the first_use_p.
+ Don't mark the virtual variables for renaming on the statement which
+ is being removed.
+ (pass_dse): Remove TODO_update_ssa.
+
+2005-09-12 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR middle-end/23290
+ * stor-layout.c (compute_record_mode): For records with a single
+ field, actually check the field's mode size against the type size.
+
+ * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
+ registers for TARGET_SHMEDIA.
+ (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
+ GENERAL_FP_REGS to GENERAL_DF_REGS. Add GENERAL_FP_REGS as union
+ of GENERAL_REGS and FP_REGS.
+
+2005-09-12 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
+
2005-09-12 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
2005-09-07 Richard Henderson <rth@redhat.com>
- * function.c (ARG_POINTER_CFA_OFFSET): Move ...
- * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
+ * function.c (ARG_POINTER_CFA_OFFSET): Move ...
+ * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
(INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
- * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
- rearrange for better packing.
+ * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
+ rearrange for better packing.
(INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
- (lookup_cfa_1): Remove inline marker.
- (cfa_equal_p): Split out of ...
- (def_cfa_1): ... here. Use INVALID_REGNUM.
- (build_cfa_loc): Handle !cfa->indirect.
- (frame_pointer_cfa_offset): New.
- (dbx_reg_number): Assert register elimination performed; do
- leaf register remapping.
- (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
- (eliminate_reg_to_offset): New.
- (based_loc_descr): Remove can_use_fbreg argument. Use fbreg only
- for verifiably local stack frame addresses; re-base to CFA.
- (mem_loc_descriptor): Remove can_use_fbreg argument.
- (concat_loc_descriptor, loc_descriptor): Likewise.
- (containing_function_has_frame_base): Remove.
- (rtl_for_decl_location): Don't do register elimination or
- leaf register remapping here.
- (secname_for_decl): Split out from ..
- (add_location_or_const_value_attribute): ... here.
- (convert_cfa_to_loc_list): New.
- (compute_frame_pointer_to_cfa_displacement): New.
- (gen_subprogram_die): Use them.
- * tree.h (frame_base_decl): Remove.
- * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
- (prologue_stack_adjust): Remove.
- (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
- (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
- (set_frame_base_location): Remove.
- (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
- (dump_attrs_list, dump_dataflow_set): Use string concatenation.
- (vt_add_function_parameters): Don't eliminate_regs.
- (vt_initialize): Don't create frame_base_decl.
+ (lookup_cfa_1): Remove inline marker.
+ (cfa_equal_p): Split out of ...
+ (def_cfa_1): ... here. Use INVALID_REGNUM.
+ (build_cfa_loc): Handle !cfa->indirect.
+ (frame_pointer_cfa_offset): New.
+ (dbx_reg_number): Assert register elimination performed; do
+ leaf register remapping.
+ (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
+ (eliminate_reg_to_offset): New.
+ (based_loc_descr): Remove can_use_fbreg argument. Use fbreg only
+ for verifiably local stack frame addresses; re-base to CFA.
+ (mem_loc_descriptor): Remove can_use_fbreg argument.
+ (concat_loc_descriptor, loc_descriptor): Likewise.
+ (containing_function_has_frame_base): Remove.
+ (rtl_for_decl_location): Don't do register elimination or
+ leaf register remapping here.
+ (secname_for_decl): Split out from ..
+ (add_location_or_const_value_attribute): ... here.
+ (convert_cfa_to_loc_list): New.
+ (compute_frame_pointer_to_cfa_displacement): New.
+ (gen_subprogram_die): Use them.
+ * tree.h (frame_base_decl): Remove.
+ * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
+ (prologue_stack_adjust): Remove.
+ (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
+ (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
+ (set_frame_base_location): Remove.
+ (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
+ (dump_attrs_list, dump_dataflow_set): Use string concatenation.
+ (vt_add_function_parameters): Don't eliminate_regs.
+ (vt_initialize): Don't create frame_base_decl.
2005-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>