Commit Graph

28288 Commits

Author SHA1 Message Date
Geoffrey Keating 040b1c5a5c Index: ChangeLog
2005-09-28  Geoffrey Keating  <geoffk@apple.com>

	* Makefile.tpl (BASE_TARGET_EXPORTS): Add LIPO, STRIP.
	(LIPO_FOR_TARGET): New.
	(CONFIGURED_LIPO_FOR_TARGET): New.
	(USUAL_LIPO_FOR_TARGET): New.
	(STRIP_FOR_TARGET): New.
	(CONFIGURED_STRIP_FOR_TARGET): New.
	(USUAL_STRIP_FOR_TARGET): New.
	* Makefile.def (flags_to_pass): Add LIPO_FOR_TARGET and
	STRIP_FOR_TARGET.
	* configure.in: Set LIPO_FOR_TARGET, STRIP_FOR_TARGET,
	CONFIGURED_LIPO_FOR_TARGET, CONFIGURED_STRIP_FOR_TARGET.
	* Makefile.in: Regenerate.
	* configure.in: Regenerate.

Index: gcc/ChangeLog
2005-09-28  Geoffrey Keating  <geoffk@apple.com>

	* 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.

From-SVN: r104747
2005-09-28 23:50:06 +00:00
Paul Brook 107bcc1133 fpgnulib.c (__extendsfdf2, [...]): Handle denormals.
2005-09-28  Paul Brook  <paul@codesourcery.com>

	* config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle
	denormals.

From-SVN: r104745
2005-09-28 22:12:55 +00:00
Richard Guenther 9b14a362a3 re PR tree-optimization/23853 (ICE: in tree_low_cst, at tree.c:4270)
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.

From-SVN: r104743
2005-09-28 21:30:40 +00:00
Richard Henderson 02ee605c6c builtins.c (get_builtin_sync_mode): New.
* 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.

From-SVN: r104741
2005-09-28 11:16:54 -07:00
Nick Clifton 7d866c52c5 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.

From-SVN: r104736
2005-09-28 15:56:53 +00:00
Nick Clifton 1b0792ddf7 config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction for when the
high words are identical.

From-SVN: r104730
2005-09-28 09:32:54 +00:00
Richard Henderson 241de8a07a * pretty-print.c (pp_base_format): Fix typo for %>.
From-SVN: r104728
2005-09-27 23:53:12 -07:00
Devang Patel 93954fcc89 re PR tree-optimization/23625 (ICE: in bsi_after_labels, at tree-flow-inline.h:758)
PR tree-optimization/23625
     * tree-flow-inline.h (bsi_after_labels): Remove, first statement is
     LABEL_EXPR, assertion check.

     * gcc.dg/PR23625.c: New test.

From-SVN: r104711
2005-09-27 14:44:55 -07:00
J"orn Rennecke ca7a5aec06 optabs.c (no_conflict_move_test): Check if a result of a to-be-moved insn would be clobbered by an originally...
* optabs.c (no_conflict_move_test): Check if a result of a
	to-be-moved insn would be clobbered by an originally
	preceding insn.

From-SVN: r104709
2005-09-27 22:09:28 +01:00
Jeff Law f20731b7ca passes.c (init_optimization_passes): Replace copy propagation passes immediately after DOM with phi-only copy...
* 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.

From-SVN: r104705
2005-09-27 12:47:27 -06:00
Nick Clifton 3542b7ccd2 * libgcc2.c (__popcount_tab): Remove redundant prototype.
From-SVN: r104702
2005-09-27 17:11:39 +00:00
Jason Merrill 86ad3aa989 re PR c++/13764 (c++ front-end creates extra blocks)
PR c++/13764
        * c-common.c (finish_fname_decls): Use append_to_statement_list_force.
        * cp/cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): New macro.
        * cp/name-lookup.c (pushdecl_maybe_friend): Check it.
        * cp/decl.c (begin_function_body): Do nothing if it's false.
        (finish_function_body): Ditto.
        (outer_curly_brace_block): New fn.
        (finish_function): Use it.

From-SVN: r104698
2005-09-27 12:04:25 -04:00
Jason Merrill 4381020e03 * doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
From-SVN: r104681
2005-09-26 23:11:28 -04:00
James E Wilson 92b4f0af9d Fix problems with copyrights for files that end up in libgcc.a.
* 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.

From-SVN: r104675
2005-09-26 17:52:24 -07:00
Jeff Law 608af77dc1 tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective about when to iterate.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
        about when to iterate.

From-SVN: r104658
2005-09-26 13:40:20 -06:00
Fariborz Jahanian 0f086e42e3 re PR target/23847 (Darwin -mpowerpc64 complex ABI breakage)
PR target/23847.
Oked by David Edelsohn.

From-SVN: r104655
2005-09-26 19:12:30 +00:00
Sebastian Pop c59dabbe46 re PR tree-optimization/23942 (loop problem / testcase takes very long time to compile)
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.

From-SVN: r104653
2005-09-26 18:44:16 +00:00
Uros Bizjak 3242fbd83f re PR middle-end/23831 (ICE in immed_double_const with vectorized multipication)
PR middle-end/23831
	* simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
	simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.

From-SVN: r104650
2005-09-26 18:16:07 +00:00
Fariborz Jahanian b166bfd224 Check for valid use of subreg.
Oked by Richard Henderson.

From-SVN: r104649
2005-09-26 17:42:16 +00:00
Uros Bizjak 4d06b0a2fe re PR target/24055 ("could not split insn" with -O1 -ffast-math)
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.

From-SVN: r104647
2005-09-26 17:21:00 +00:00
J"orn Rennecke 76dd592360 rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in CALL_INSN_FUNCTION_USAGE.
* rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
	CALL_INSN_FUNCTION_USAGE.

From-SVN: r104643
2005-09-26 13:12:35 +01:00
Richard Guenther 9727e468b1 re PR middle-end/15855 (g++ crash with -O2 and -O3 on input file)
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.

From-SVN: r104641
2005-09-26 08:38:29 +00:00
Kazu Hirata 3f1dfb4145 re PR middle-end/23960 (ICE in compare_values in VRP)
gcc/
	PR tree-optimization/23960
	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
	and arg1 if we are passing them to fold_build2.

gcc/testsuite/
	PR tree-optimization/23960
	* gcc.c-torture/compile/pr23960.c: New.

From-SVN: r104634
2005-09-26 01:28:50 +00:00
Dan Nicolaescu ad90e28f8f re PR target/23828 (local calling convention not used when using --combine)
PR 23828
* config/i386/i386.c (ix86_function_regparm): Fix the test for
a nested function.

From-SVN: r104623
2005-09-25 20:01:07 +00:00
Richard Henderson f6326c19c7 alpha.c (tls_symbolic_operand_1): Trust SYMBOL_REF_TLS_MODEL to be correct.
* config/alpha/alpha.c (tls_symbolic_operand_1): Trust
        SYMBOL_REF_TLS_MODEL to be correct.

From-SVN: r104622
2005-09-25 11:34:45 -07:00
Richard Henderson 2eca7d1572 ipa-type-escape.c (discover_unique_type): Remove dead code at end of function.
* ipa-type-escape.c (discover_unique_type): Remove dead code at
        end of function.  Reindent.

From-SVN: r104619
2005-09-24 22:28:01 -07:00
Ian Lance Taylor 1f6f3d15c6 convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in NEGATE_EXPR/BIT_NOT_EXPR case.
* convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
	NEGATE_EXPR/BIT_NOT_EXPR case.

From-SVN: r104615
2005-09-25 03:05:57 +00:00
Richard Henderson 99db1ef0e2 c-common.c (handle_mode_attribute): When not modifying in place, create subtypes for enumerations.
* 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.

From-SVN: r104603
2005-09-24 09:21:43 -07:00
Alexandre Oliva e347ff9e3d * 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.

From-SVN: r104602
2005-09-24 15:47:57 +00:00
Jan Hubicka 06191a239b cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
* 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.

From-SVN: r104601
2005-09-24 12:43:30 +00:00
David Edelsohn 9c6fdb4671 rs6000.md (neg-minus-mult): Set type to dmul.
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.

Co-Authored-By: Pete Steinmetz <steinmtz@us.ibm.com>

From-SVN: r104568
2005-09-23 10:32:22 -04:00
David Edelsohn 66684b7e9b sync.md (sync_<fetchop_name>si_internal): Change operand2 constraint to "b".
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.

Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>

From-SVN: r104567
2005-09-23 09:43:38 -04:00
Joern Rennecke 3a1680a591 Add PR number in this entry:
PR middle-end/23991
	* final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
	case, define as macros.

From-SVN: r104564
2005-09-23 13:14:59 +01:00
J"orn Rennecke 748ebfc7f9 optabs.c (emit_libcall_block): Use no_conflict_move_test.
* optabs.c (emit_libcall_block): Use no_conflict_move_test.
	(no_conflict_move_test): Update comments.

From-SVN: r104563
2005-09-23 13:13:07 +01:00
J"orn Rennecke 9617ccfdc4 re PR rtl-optimization/23837 (Wrong code with REG_NO_CONFLICT notes (caused by combine))
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.

From-SVN: r104562
2005-09-23 13:05:56 +01:00
J"orn Rennecke a9305dcbcb final.c (insn_default_length, [...]): In !HAVE_ATTR_length case, define as macros.
* final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
	case, define as macros.

From-SVN: r104561
2005-09-23 12:56:28 +01:00
Ranjit Mathew 07a647a31a install.texi: Updated URL for Jacks.
* doc/install.texi: Updated URL for Jacks.
	* doc/sourcebuild.texi: Likewise.

From-SVN: r104554
2005-09-23 01:43:48 +00:00
David Edelsohn 861fd9a03a Fix typo in previous ChangeLog entry.
From-SVN: r104530
2005-09-22 11:19:23 -04:00
David Edelsohn fb3249eff2 re PR target/24007 (very weird register allocation, putting a fp in the ctr register)
PR target/24007
        * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
        registers when choosing register preferences.
        (movdf_hardfloat): Same.

From-SVN: r104529
2005-09-22 11:03:27 -04:00
Andreas Krebbel 6231646a02 expmed.c (expand_shift): Don't use the target of the rotate as target for the first expanded shift insn.
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.

From-SVN: r104528
2005-09-22 14:45:27 +00:00
Zdenek Dvorak 7b9d4f7084 re PR tree-optimization/22438 (ICE SEGV in is_gimple_variable at tree-gimple.c:239)
PR tree-optimization/22438
	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
	preserved iv rhs rewriting specially.

From-SVN: r104522
2005-09-22 11:24:00 +00:00
Daniel Berlin b13476386f tree-data-ref.c (analyze_array_indexes): Only estimate when estimate_only is true.
2005-09-20  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.

From-SVN: r104518
2005-09-22 00:42:28 +00:00
DJ Delorie b1eb8119ac mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_PTR_A0D0.
* 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.

From-SVN: r104508
2005-09-21 20:10:28 -04:00
Uros Bizjak d06e6434d4 re PR target/22585 (ICE with long doubles in expand_simple_unop)
PR target/22585
	* config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
	force integer op1 into register for XFmode compares.

From-SVN: r104498
2005-09-21 18:39:07 +00:00
Kazu Hirata 647c66cd63 re PR middle-end/23971 (synth_mult running amok)
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.

From-SVN: r104494
2005-09-21 16:47:11 +00:00
Kazu Hirata 0178027cd5 expmed.c (alg_code): Add alg_impossible.
* 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.

From-SVN: r104492
2005-09-21 16:32:10 +00:00
Dorit Nuzman 1c8cd54dd9 vect-dv-2.c: Change loop bound and restore original functionality of the testcase.
* gcc.dg/vect/vect-dv-2.c: Change loop bound and restore original
        functionality of the testcase.

From-SVN: r104481
2005-09-21 10:26:39 +00:00
Daniel Berlin d52225bef5 tree-ssa-structalias.c (get_constraint_for_component_ref): Add argument.
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.

From-SVN: r104476
2005-09-21 01:42:53 +00:00
J"orn Rennecke 070a7956aa re PR rtl-optimization/23898 (basic block reordering excessively increases code size; get_uncond_jump_length pessimistic)
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.

From-SVN: r104468
2005-09-20 22:48:36 +01:00
Steve Ellcey 9972f30d1c * config/pa/pa.c (output_cbranch): Check for zero in operands[2].
From-SVN: r104465
2005-09-20 21:29:30 +00:00