X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=e111d5d87da24c9c97b6b813a9bce3faed4c4770;hb=6cffc0378ceae14ffd239aa731e5c3106151aefd;hp=a3dd7605b594dbf093208bd8b720b57d131677f8;hpb=acde5e690528b7c53894487dd8c841f032cf691c;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a3dd7605b59..9baa569fa21 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,712 @@ +2005-09-30 Richard Earnshaw + + * 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 + + * reload1.c (merge_assigned_reloads): Do not change any + RELOAD_FOR_OUTPUT_ADDRESS reloads. + +2005-09-30 Geoffrey Keating + + * 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 + + * 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 + + 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 + + PR middle-end/24053 + * stor-layout.c (set_sizetype): Set TYPE_MAIN_VARIANT of bitsizetype. + +2005-09-29 Mark Mitchell + + * optabs.c (expand_binop): Initialize first_pass_p. + +2005-09-29 Jakub Jelinek + + 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 + + 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 + + Revert this patch: + + 2005-09-15 Paolo Bonzini + + * optabs.c (expand_binop): Use swap_commutative_operands_with_target + to order operands. + (swap_commutative_operands_with_target): New. + +2005-09-29 Paolo Bonzini + + PR c/21419 + * gimplify.c (gimplify_asm_expr): Raise an error if an output is + read-only. + +2005-09-29 Steven Bosscher + + PR tree-optimization/23911 + * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle REALPART_EXPR + and IMAGPART_EXPR too. + +2005-09-28 Mark Mitchell + + 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 + + PR target/24102 + * config/rs6000/rs6000.md (floatdisf2_internal2): Correct range + check for numbers that need no bit twiddle. + +2005-09-28 Geoffrey Keating + + * 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 + + * config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle + denormals. + +2005-09-28 Richard Guenther + + 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 + + * 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 + + * 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 + + * pretty-print.c (pp_base_format): Fix typo for %>. + +2005-09-27 Daniel Berlin + Devang Patel + + 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 + + * 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 + + * 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 + + * libgcc2.c (__popcount_tab): Remove redundant prototype. + +2005-09-26 Jason Merrill + + 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 + + * 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 + + * tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective + about when to iterate. + +2005-09-23 Fariborz Jahanian + + PR target/23847 + * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern + for __complex__ double in -mcpu=G5 mode. + +2005-09-26 Sebastian Pop + + 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 + + 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 + + * combine.c (make_extraction): Check for valid use of subreg. + +2005-09-26 Uros Bizjak + + PR target/24055 + * config/i386/i386.md ("*fistdi2_1"): New pattern. + ("*fist2_1"): Use only HImode and SImode register operands. + ("fist2_with_temp"): Use only register operands. + +2005-09-26 J"orn Rennecke + + * rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in + CALL_INSN_FUNCTION_USAGE. + +2005-09-26 Richard Guenther + + 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 + + * 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 + + PR 23828 + * config/i386/i386.c (ix86_function_regparm): Fix the test for + a nested function. + +2005-09-25 Richard Henderson + + * config/alpha/alpha.c (tls_symbolic_operand_1): Trust + SYMBOL_REF_TLS_MODEL to be correct. + +2005-09-24 Richard Henderson + + * ipa-type-escape.c (discover_unique_type): Remove dead code at + end of function. Reindent. + +2005-09-24 Ian Lance Taylor + + * convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in + NEGATE_EXPR/BIT_NOT_EXPR case. + +2005-09-24 Richard Henderson + + * 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 + + * 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 + + * 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 + Pete Steinmetz + + * 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 + Andrew Pinski + + * config/rs6000/sync.md (sync_si_internal): Change + operand2 constraint to "b". + (sync_di_internal): Same. + (sync_old_si_internal): Change operand3 constraint + to "b". + (sync_old_di_internal): Same. + (sync_new_si_internal): Same. + (sync_new_di_internal): Same. + +2005-09-23 J"orn Rennecke + + 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 + + * doc/install.texi: Update URL for Jacks. + * doc/sourcebuild.texi: Likewise. + +2005-09-22 David Edelsohn + + PR target/24007 + * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special + registers when choosing register preferences. + (movdf_hardfloat64): Same. + +2005-09-22 Andreas Krebbel + + * 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 + + 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 + + * 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 + + * 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 + + 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 + + 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 + + * 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 + + 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 + + * config/pa/pa.c (output_cbranch): Check for zero in operands[2]. + +2005-09-20 Richard Henderson + + PR tree-optimization/24059 + * expr.c (expand_expr_real_1) : Allow modifier + EXPAND_STACK_PARM. + +2005-09-20 Joseph S. Myers + + * 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 + + 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 + + * 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 + + * tree-ssa-address.c (create_mem_ref): Put the symbol reference into the + base register if possible. + +2005-09-20 Zdenek Dvorak + + 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 + + * config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf. + (reduc_splus_v2df): New. + +2005-09-19 Richard Sandiford + + * config/arm/aof.h (REGISTER_NAMES): Add missing backslash. + (ADDITIONAL_REGISTER_NAMES): Add missing comma. Remove final comma. + +2005-09-19 Richard Henderson + + * config/i386/sse.md (vcondu): Rename from + vcondu. + +2005-09-19 Richard Henderson + + * 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 + + 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) : Cost 0 + for a memory source. + +2005-09-19 Dorit Nuzman + + * 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 + + * 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 + + PR rtl-optimization/23943 + * cse.c (find_best_addr): Never propagate an EXPR_LIST rtx. + +2005-09-18 Jan Hubicka + + * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK. + +2005-09-18 Eric Botcazou + + * varasm.c (output_constant): Do not abort on conversions to union + types between different sizes. + +2005-09-18 Richard Guenther + + PR middle-end/23944 + * gimplify.c (fold_indirect_ref_rhs): Fix thinko in + fallback. + +2005-09-18 Paul Brook + + * config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow. + +2005-09-17 Richard Henderson + + * 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 + + * 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 + + * 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 + + PR middle-end/22067 + * expmed.c (expand_mult): Substitute simple register for op0 when + computing max_cost. + +2005-09-17 Richard Henderson + + * 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 + + * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs + between different sizes. + +2005-09-16 Paolo Bonzini + + PR 23903 + + * passes.c (init_optimization_passes): Register dump files for + IPA passes first. + +2005-09-16 Andreas Krebbel + + * 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 + + * 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 + + * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo. + +2005-09-15 Paolo Bonzini + + * optabs.c (expand_binop): Use swap_commutative_operands_with_target + to order operands. + (swap_commutative_operands_with_target): New. + +2005-09-15 Daniel Berlin + + * 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 + + * tree-nested.c (get_frame_type): Mark the "non-local frame structure" + as addressable. + +2005-09-15 Michael Matz + + * tree-vrp.c (vrp_int_const_binop ): Handle 0 - -INF. + +2005-09-14 Daniel Berlin + + 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 * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand. @@ -309,43 +1018,43 @@ 2005-09-07 Richard Henderson - * 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