Commit Graph

31371 Commits

Author SHA1 Message Date
Carlos O'Donell fe037b8a3d tm.texi: Update documentation to reflect reality of exec and start file search behaviours.
gcc/

2007-01-09  Carlos O'Donell  <carlos@codesourcery.com>

	* doc/tm.texi: Update documentation to reflect reality of exec
	and start file search behaviours. Update copyright year.
	* doc/invoke.texi: Explain how GCC_EXEC_PREFIX is used to find
	header file directories.

From-SVN: r120622
2007-01-09 21:08:19 +00:00
Uros Bizjak c648dedbde i386.md (*sinxf2): Rename to *sinxf2_i387.
* config/i386/i386.md (*sinxf2): Rename to *sinxf2_i387.
        (*cosxf2): Rename to cosxf2_i387.

        (*sindf2, *sinsf2): Extend operand 1 to XFmode.  Macroize patterns
        using X87MODEF12 mode macro. Rename patterns to
        *sin_extend<mode>xf2_i387.  Use SSE_FLOAT_MODE_P to disable patterns
        for SSE math.
        (*cosdf2, *cossf2): Ditto.
        (sincosdf3, sincossf3): Ditto.  Rewrite corresponding splitters
        to match extended input operands.

        (sincos<mode>3): New expander.

        (*sinextendsfdf2, *cosextendsfdf2, *sincosextendsfdf3): Remove
        insn patterns and corresponding splitters.

From-SVN: r120620
2007-01-09 13:46:17 +01:00
Kaz Kojima 269008262e t-linux (TARGET_LIBGCC2_CFLAGS): Delete.
gcc/
	* config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Delete.
	(SHLIB_MAPFILES, SHLIB_LINK, SHLIB_INSTALL): Likewise.
libgcc/
	* config/sh/t-linux: New.
	* config.host (sh*-*-linux*): Set tmake_file.

From-SVN: r120619
2007-01-09 10:50:23 +00:00
Nicolas Pitre 1ba008b772 re PR target/30173 (Error in ARM softfloat routine __adddf3)
2007-01-09  Nicolas Pitre  <nico@cam.org>

	PR target/30173
	* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.

From-SVN: r120613
2007-01-09 10:08:49 +00:00
Geoffrey Keating 157600d084 Index: ChangeLog
2007-01-08  Geoffrey Keating  <geoffk@apple.com>

	* target.h (struct gcc_target): New field library_rtti_comdat.
	* target-def.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): New.
	(TARGET_CXX): Add TARGET_CXX_LIBRARY_RTTI_COMDAT.
	* doc/tm.texi (C++ ABI): Document TARGET_CXX_LIBRARY_RTTI_COMDAT.
	* config/darwin.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define.

Index: testsuite/ChangeLog
2007-01-08  Geoffrey Keating  <geoffk@apple.com>

	* g++.dg/rtti/darwin-builtin-linkage.C: New.

Index: cp/ChangeLog
2007-01-08  Geoffrey Keating  <geoffk@apple.com>

	* rtti.c: Include target.h.
	(emit_support_tinfos): If ! targetm.cxx.library_rtti_comdat (),
	don't emit typeinfo for fundamental types as weak.
	* Make-lang.in (cp/rtti.o): Update and correct dependencies.

From-SVN: r120611
2007-01-09 07:48:38 +00:00
Geoffrey Keating b061615db8 * doc/invoke.texi (Optimize Options): Correct description of -O0.
From-SVN: r120608
2007-01-09 07:30:17 +00:00
Richard Guenther b8fca551db tree.h (force_fit_type_double): Export.
2007-01-08  Richard Guenther  <rguenther@suse.de>

	* tree.h (force_fit_type_double): Export.
	(force_fit_type): Remove.
	* fold-const.c (force_fit_type_double): New function.
	(force_fit_type): Remove.
	(int_const_binop): Use it.
	(fold_convert_const_int_from_int): Likewise.
	(fold_convert_const_int_from_real): Likewise.
	(fold_div_compare): Likewise.
	(fold_sign_changed_comparison): Likewise.
	(fold_unary): Likewise.
	(fold_negate_const): Likewise.
	(fold_abs_const): Likewise. 
	(fold_not_const): Likewise.
	* c-common.c (shorten_compare): Use force_fit_type_double.
	* convert.c (convert_to_pointer): Likewise.

From-SVN: r120597
2007-01-08 23:07:44 +00:00
Richard Guenther 2ac7cbb532 tree.h (build_int_cst_wide_type): Export.
2007-01-08  Richard Guenther  <rguenther@suse.de>

	* tree.h (build_int_cst_wide_type): Export.
	* tree.c (build_int_cst_wide_type): New function.
	(build_int_cst_wide): Fix comment.
	* builtins.c (fold_builtin_object_size): Use build_int_cst
	to build -1 or 0 of the correct type.  Use fit_double_type
	to check for overflow.
	* fold-const.c (optimize_bit_field_compare): Use build_int_cst_type
	to build the mask.
	(decode_field_reference): Likewise.
	(all_ones_mask_p): Likewise.
	(native_interpret_int): Use build_int_cst_wide_type.
	(fold_binary): Use build_int_cst_type to build an all-ones
	value.
	* stor-layout.c (set_sizetype): Use build_int_cst_wide_type.

	java/
	* lex.c (do_java_lex): Use build_int_cst_wide_type.
	* jcf-parse.c (get_constant): Likewise.

	cp/
	* cvt.c (cp_convert_to_pointer): Use build_int_cst_type.

	ada/
	* cuintp.c (build_cst_from_int): Use built_int_cst_type.
	* trans.c (gnat_to_gnu): Likewise.

From-SVN: r120596
2007-01-08 22:53:20 +00:00
Daniel Jacobowitz 1c61ff2946 * config/pa/t-pa64 (libgcc_stub.a): Use $(T).
From-SVN: r120595
2007-01-08 22:50:43 +00:00
Ben Elliston df1133a62c genautomata.c (STATS_OPTION): New option.
* genautomata.c (STATS_OPTION): New option.
	(stats_flag): New flag.
	(gen_automata_option): Handle it.
	(initiate_automaton_gen): Ditto.
	(write_automata): Output statistics only if stats_flag is
	set. Likewise, output time statistics only if time_flag is set.
	* doc/md.texi (Processor pipeline description): Document new flag.

From-SVN: r120594
2007-01-09 09:24:13 +11:00
Richard Guenther 2b60792f2b builtins.c (fold_builtin_int_roundingfn): Use fit_double_type.
2007-01-08  Richard Guenther  <rguenther@suse.de>

	* builtins.c (fold_builtin_int_roundingfn): Use fit_double_type.
	* tree.c (build_int_cst_type): Likewise.
	(size_in_bytes): Don't call force_fit_type on the result.
	(int_fits_type_p): Use fit_double_type.
	* fold-const.c (fit_double_type): New function.
	(force_fit_type): Use it.
	* tree.h (fit_double_type): Export.

From-SVN: r120593
2007-01-08 22:17:43 +00:00
Jan Hubicka 4e2603091d * ipa.c (function_and_variable_visibility): Fix return type.
From-SVN: r120590
2007-01-08 22:02:26 +00:00
Jan Hubicka fe1c75466e * tree-vectorizer.c (gate_increase_alignment): Fix return type.
From-SVN: r120589
2007-01-08 21:51:44 +00:00
Richard Guenther 7fb41a42a9 tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type of offset to build the index.
2007-01-08  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type
	of offset to build the index.
	* tree-pretty-print.c (dump_generic_node): Don't build negated
	const just for printing.
	* c-pretty-print.c (pp_c_integer_constant): Likewise.
	* builtins.c (fold_builtin_int_roundingfn): Check if result
	fits the type by using force_fit_type and comparing the result.
	* predict.c (predict_loops): Use compare_tree_int for comparison.
	* tree.c (build_int_cst): Fall back to integer_type_node for
	NULL_TREE type.
	(build_int_cst_wide): Assert type is non-null.

	fortran/
	* trans-io.c (transfer_array_desc): Use build_int_cst instead
	of build_int_cstu.

From-SVN: r120586
2007-01-08 18:29:18 +00:00
Roberto Costa f255541fb7 Better handling of COND_EXPRs in rhs
From-SVN: r120581
2007-01-08 13:52:42 +00:00
Jan Hubicka feb8476ac4 tree-ssa-forwprop.c (forward_propagate_into_cond, [...]): Release defs of propagated statement.
* tree-ssa-forwprop.c (forward_propagate_into_cond,
	tree_ssa_forward_propagate_single_use_va): Release defs of propagated
	statement.

From-SVN: r120580
2007-01-08 13:13:09 +00:00
Richard Guenther 31ab1cc9db re PR tree-optimization/23603 (VRP does not say range for a in a = b == c; is [0,1])
2007-01-08  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/23603
        * tree-vrp.c (set_value_range_to_truthvalue): New function.
        (extract_range_from_binary): Fall back to truthvalue instead of
        varying for TRUTH_*_EXPR.
        (extract_range_from_comparison): Fall back to truthvalue instead of
        varying.
        (vrp_visit_phi_node): Don't adjust new range bounds to +INF/-INF
        if all visited PHI values were constant.

        * gcc.dg/tree-ssa/vrp31.c: New testcase.
        * gcc.dg/tree-ssa/vrp32.c: Likewise.

From-SVN: r120578
2007-01-08 11:20:00 +00:00
Jan Hubicka 151e6f2437 cgraphunit.c (cgraph_process_new_functions): Reset reachable flag.
* cgraphunit.c (cgraph_process_new_functions): Reset reachable flag.
	(cgraph_analyze_function): break out from ...
	(cgraph_finalize_compilation_unit): ... here.
	(cgraph_expand_function): Remove forgoten commented out line.
	(cgraph_optimize): Analyze functions.

From-SVN: r120577
2007-01-08 11:18:40 +00:00
Jan Hubicka f4b3ca7277 tree-pas.h (TODO_remove_function): New flag.
* tree-pas.h (TODO_remove_function): New flag.
	(TODO_update*): Renumber.
	(pass_ipa_increase_alignment,
	pass_ipa_function_and_variable_visibility): New passes.
	* cgraphunit.c (cgraph_increase_alignment): Move to tree-vectorizer.c
	(cgraph_function_and_variable_visibility): Move to ipa.c
	(cgraph_optimize): Don't call cgraph_function_and_variable_visibility,
	cgraph_increase_alignment.
	* ipa-inline.c (cgraph_decide_inlining): Don't push timevar.
	(cgraph_decide_inlining_incrementally): Push TV_INTEGRATION before
	calling tree-inline.
	(cgraph_early_inlining): Do not call cgraph_remove_unreachable_nodes.
	(pass_ipa_inline, pass_early_ipa_inlining): Set TODO_remove_functions
	* tree-vectorizer.c (increase_alignment): Move here from cgraphunit.c
	(gate_increase_alignment): New function.
	(pass_ipa_increase_alignment): New pass.
	* ipa.c: Inline tree-pass.h and timevar.h
	(function_and_variable_visibility): Move here from cgraphunit.c
	* tree-optimize.c (pass_early_local_passes): Add TODO_remove_functions.
	* passes.c (init_optimization_passes): Add the two new passes.
	(execute_todo): Handle cgraph_remove_functions.

From-SVN: r120576
2007-01-08 11:13:14 +00:00
Nick Clifton 2fe2972995 * config/frv/predicates.md (reg_or_0_operand): Accept CONST_DOUBLEs.
From-SVN: r120574
2007-01-08 09:45:55 +00:00
Ralf Corsepius 152167d5d9 rtems.h, t-rtems: New.
* config/bfin/rtems.h, config/bfin/t-rtems: New.
	* config.gcc: Add bfin*-rtems*.

From-SVN: r120573
2007-01-08 10:33:47 +01:00
Mark Shinwell 00c8e9f613 c.opt: Add -flax-vector-conversions.
gcc/
	* c.opt: Add -flax-vector-conversions.
	* c-typeck.c (convert_for_assignment): Pass flag to
	vector_types_convertible_p to allow emission of note.
	(digest_init): Likewise.
	(comptypes_internal): Use vector_types_convertible_p.
	* c-opts.c: Handle -flax-vector-conversions.
	* c-common.c (flag_lax_vector_conversions): New.
	(vector_types_convertible_p): Unless -flax-vector conversions
	has been passed, disallow conversions between vectors with
	differing numbers of subparts and/or element types.  If such
	a conversion is disallowed, possibly emit a note on the first
	occasion only to inform the user of -flax-vector-conversions.
	The new last argument specifies this.
	* c-common.h (flag_lax_vector_conversions): New.
	(vector_types_convertible_p): Add extra argument.
	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
	char_type_node for V*QI type vectors.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
	Update to satisfy new typechecking rules.
	* config/rs6000/altivec.h (vec_cmple): Use vec_cmpge.
	* doc/invoke.texi (C Dialect Options): Document
	-flax-vector-conversions.

	gcc/cp/
	* call.c (standard_conversion): Pass flag to
	vector_types_convertible_p to disallow emission of note.
	* typeck.c (convert_for_assignment): Pass flag to
	vector_types_convertible_p to allow emission of note.
	(ptr_reasonably_similar): Pass flag to vector_types_convertible_p
	to disallow emission of note.

	gcc/testsuite/
	* gcc.target/i386/20020531-1.c: Use "char" not "unsigned char"
	in __v8qi typedef.
	* gcc.target/powerpc/altivec-vec-merge.c (foo): Add casts.
	* gcc.dg/simd-1.c: Update dg-error directives to reflect new
	compiler behaviour.
	* gcc.dg/simd-5.c: Likewise.
	* gcc.dg/simd-6.c: Likewise.
	* g++.dg/conversion/simd1.C: Likewise.
	* g++.dg/conversion/simd3.C: Likewise.
	* g++.dg/ext/attribute-test-2.C (data): Add "vs" member.
	(main): Use it.

From-SVN: r120572
2007-01-08 09:25:07 +00:00
Mark Shinwell 46e3b90f7e re PR tree-optimization/29877 (out of SSA (TER) extends variable life of variable beyond original declared)
PR tree-optimization/29877
	gcc/
	* tree-ssa-ter.c (is_replaceable_p): Deem assignments with
	a register variable on the RHS to not be replaceable.

	gcc/testsuite/
	* gcc.dg/pr16194.c: Skip test entirely if we don't know the
	name of a hard register for the target concerned.  Adjust dg-error
	directives to cope with new behaviour of TER.

From-SVN: r120571
2007-01-08 08:33:42 +00:00
Chen Liqin 99fc25020d t-score-elf (MULTILIB_OPTIONS): Change.
* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
	* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
	const_simm15, const_pow2, const_npow2): Added.
	* config/score/misc.md (insv, extv, extzv, movmemsi, 
	move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
	* config/score/score.c (score_address_cost, score_select_cc_mode): 
	Added.
	Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
	Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
	Update score_print_operand.
	* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
	Adjust register allocate order and update some macro define.
	* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
	mdx_block_move_straight, mdx_block_move_loop_head,
	mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
	mdx_block_move): Added.
	(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
	mdp_limm): Updated and fix some bug and typo.
	* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
	(movsf, movdf, doloop_end): Added.

From-SVN: r120570
2007-01-08 04:47:33 +00:00
Kazu Hirata 7a085dce62 arm.c, [...]: Fix comment typos.
* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
	config/arm/thumb2.md: Fix comment typos.
	* doc/extend.texi: Fix a typo.

From-SVN: r120566
2007-01-08 01:17:57 +00:00
Eric Christopher a6ccdbabfd configure.ac: Check for __stack_chk_fail for darwin.
2007-01-07  Eric Christopher  <echristo@apple.com>

        * configure.ac: Check for __stack_chk_fail for darwin.
        * configure: Regenerate.

From-SVN: r120559
2007-01-07 23:53:21 +00:00
Richard Guenther b881887e66 tree-vrp.c (extract_range_from_assert): CSE calls to compare_values where possible.
2007-01-07  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (extract_range_from_assert): CSE calls to
	compare_values where possible.
	(extract_range_from_unary_expr): Likewise.

From-SVN: r120547
2007-01-07 15:21:45 +00:00
Anatoly Sokolov 696e990bdb avr-protos.h (call_insn_operand): Delete prototype.
* config/avr/avr-protos.h (call_insn_operand): Delete prototype.
	* config/avr/avr.c (call_insn_operand): Delete function.
	* config/avr/avr.md (*pushqi, *pushhi, *pushsi, *pushsf): Use REG_SP
	instead of register number. Use predicates.
	* config/avr/predicates.md (const0_operand, reg_or_0_operand, 
	call_insn_operand): Add.

From-SVN: r120546
2007-01-07 06:45:24 +03:00
Jan Hubicka 2dee695bfc tree-pass.h (pass_build_cgraph_edges): Declare.
* tree-pass.h (pass_build_cgraph_edges): Declare.
	* cgraphunit.c (record_refernece): Move to cgraphbuild.c
	(visited_nodes): Remove.
	(cgraph_create_edges): Move to cgraphbuild.c; rename to
	build_cgrpah_edges; make visited_nodes local.
	(cgraph_process_new_functions): DO not call initialize_inline_failed.
	(record_references_in_initializer): Move to cgraphbuild.c
	(initialize_inline_failed, rebuild_cgraph_edges,
	pass_rebuild_cgraph_edges): Move to cgraphbuild.c.
	(verify_cgraph_node): Make visited_nodes local.
	(cgraph_analyze_function): Do not call cgraph_create_edges and
	initialize_inline_failed.
	(cgraph_expand_function): Do not call cgraph_lower_function;
	assert that function is already lowered.
	* Makefile.in (cgraphbuild.o): New.
	* passes.c (init_optimization_passes): Add pass_build_cgraph_edges
	at the end of lowering passes.

From-SVN: r120527
2007-01-06 17:58:40 +00:00
Steven Bosscher dc1f5a1118 ifcvt.c (cond_move_convert_if_block): New function, code factored out from...
* ifcvt.c (cond_move_convert_if_block): New function, code
	factored out from...
	(cond_move_process_if_block): ...here.  Call the new function
	on the THEN and ELSE blocks.
	(merge_if_block): Do not copy global_live_at_end, merge_blocks
	already takes care of this.

From-SVN: r120524
2007-01-06 13:56:53 +00:00
Manuel López-Ibáñez 59c0753dd3 re PR c/19978 (overflow in expression of constants should not cause multiple warnings)
2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c/19978
	* tree.h (TREE_OVERFLOW_P): New.
	* c-typeck.c (parser_build_unary_op): Warn only if result
	overflowed and operands did not.
	(parser_build_binary_op): Likewise.
	(convert_for_assignment): Remove redundant overflow_warning.
	* c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW.

cp/
	* semantics.c (finish_unary_op_expr): Warn only if result
	overflowed and operands did not.

testsuite/
	* gcc.dg/multiple-overflow-warn-1.c: New.
	* gcc.dg/multiple-overflow-warn-2.c: New.
	* gcc.dg/overflow-warn-6.c: New.
	* g++.dg/warn/multiple-overflow-warn-1.C: New.

From-SVN: r120505
2007-01-05 21:57:01 +00:00
Manuel López-Ibáñez c2658540a3 c-typeck.c (store_init_value): Split over two lines to follow the GNU coding style.
2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* c-typeck.c (store_init_value): Split over two lines to follow
	the GNU coding style.

From-SVN: r120504
2007-01-05 21:41:32 +00:00
Benjamin Kosnik c573f4d5c6 c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to __GXX_EXPERIMENTAL_CXX0X__.
2007-01-05  Benjamin Kosnik  <bkoz@redhat.com>

	* c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to
	__GXX_EXPERIMENTAL_CXX0X__.
	* doc/cpp.texi: Same.

From-SVN: r120502
2007-01-05 21:24:16 +00:00
Richard Guenther afe1a916d7 re PR c++/27826 (ICE in copy_to_mode_reg)
2007-01-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/27826
	* tree.c (get_narrower): Do not construct COMPONENT_REFs
	with mismatched types.  Instead explicitly build a
	conversion NOP_EXPR.

	* g++.dg/opt/pr27826.C: New testcase.

From-SVN: r120498
2007-01-05 21:04:23 +00:00
Ian Lance Taylor b3c6d2ea00 c-common.c (decl_with_nonnull_addr_p): New function.
./:	* c-common.c (decl_with_nonnull_addr_p): New function.
	(c_common_truthvalue_conversion): Call it.
	* c-typeck.c (build_binary_op): Likewise.
	* c-common.h (decl_with_nonnull_addr_p): Declare.
cp/:
	* typeck.c (build_binary_op): Warn about comparing a non-weak
	address to NULL.
testsuite/:
	* gcc.dg/Walways-true-1.c: New test.
	* gcc.dg/Walways-true-2.c: New test.
	* g++.dg/warn/Walways-true-1.C: New test.
	* g++.dg/warn/Walways-true-2.C: New test.

From-SVN: r120493
2007-01-05 19:05:46 +00:00
Jakub Jelinek 698ac9345a re PR c/30360 (Complex divide bug)
PR c/30360
	* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
	denom against 0.0.

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

From-SVN: r120486
2007-01-05 16:49:05 +01:00
Joel Brobecker 4b322f430a install.texi (Final install): Document the fact that the GNAT runtime should not be stripped.
* doc/install.texi (Final install): Document the fact that
        the GNAT runtime should not be stripped.

From-SVN: r120484
2007-01-05 14:40:05 +00:00
Jan Hubicka 9477eb38c6 tree-inline.c (fold_marked_statements): Update operand caches and EH after folding
* tree-inline.c (fold_marked_statements): Update operand caches
	and EH after folding

From-SVN: r120477
2007-01-05 12:18:21 +00:00
Ian Lance Taylor dfd0a3de8f * c-common.c (check_function_nonnull): Whitespace fix.
From-SVN: r120470
2007-01-05 06:16:56 +00:00
Jan Hubicka 59e504989c tree-optimize.c (execute_fixup_cfg): Correct previously mistakely comitted older version of patch.
* tree-optimize.c (execute_fixup_cfg): Correct previously mistakely
	comitted older version of patch.
	(pass_fixup_cfg): Add TODOs to verify flow and statements, dump
	function, celanup cfg and collect garbage.

From-SVN: r120469
2007-01-05 02:00:56 +00:00
Mike Stump a87948f7fb Makefile.in (mostlyclean): Don't remove libgcc anymore.
* Makefile.in (mostlyclean): Don't remove libgcc anymore.
	(clean): Likewise.

From-SVN: r120465
2007-01-05 00:38:22 +00:00
Eric Christopher e4b6bec2f1 libgcc2.c (__bswapsi2): Use SItype.
2007-01-04  Eric Christopher  <echristo@apple.com>

	    * libgcc2.c (__bswapsi2): Use SItype.
	      (__bswapdi2): Use DItype.
	    * libgcc2.h: Update for above.

From-SVN: r120454
2007-01-04 23:16:34 +00:00
Paul Brook d6c397b0ff arm.md (arm_mulsi3, [...]): Make conditional on !arm_arch6.
2007-01-04  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.md (arm_mulsi3, thumb_mulsi3, mulsi3_compare0,
	mulsi_compare0_scratch, mulsi3addsi, mulsi3addsi_compare0,
	mulsi3addsi_compare0_scratch, mulsidi3adddi, mulsidi3,
	umulsidi3, umulsidi3adddi, smulsi3_highpart,
	umulsi3_highpart): Make conditional on !arm_arch6.
	(arm_mulsi3_v6, thumb_mulsi3_v6, mulsi3_compare0_v6,
	mulsi_compare0_scratch_v6, mulsi3addsi_v6, mulsi3addsi_compare0_v6,
	mulsi3addsi_compare0_scratch_v6, mulsidi3adddi_v6, mulsidi3_v6,
	umulsidi3_v6, umulsidi3adddi_v6, smulsi3_highpart_v6,
	umulsi3_highpart_v6): New insns.

From-SVN: r120453
2007-01-04 23:13:55 +00:00
Roger Sayle bd7e4636d9 fold-const.c (fold_convert): When casting an expression to void...
* fold-const.c (fold_convert): When casting an expression to void,
	fold_ignored_result may discover a GIMPLE_MODIFY_STMT which doesn't
	have a type.  Instead of attempting to build a NOP_EXPR, return
	these "special" trees directly.

From-SVN: r120451
2007-01-04 23:00:00 +00:00
Joseph Myers 762c919f44 rs6000.c (rs6000_rtx_costs): Make adjustment for MULT inside MINUS as either argument.
* config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for
	MULT inside MINUS as either argument.  Use rs6000_cost->dmul -
	rs6000_cost->fp not 0 as adjustment for outer NEG.

From-SVN: r120442
2007-01-04 16:36:57 +00:00
Jan Hubicka 3a40c18a68 cgraph.c (cgraph_release_function_body): New function.
* cgraph.c (cgraph_release_function_body): New function.
	(cgraph_remove_node): Use it.
	* cgraph.h (cgraph_release_function_body): Declare.
	* cgraphunit.c (cgraph_expand_function): Use it.
	* ipa.c (cgraph_remove_unreahchable_nodes): Use it.
	* tree-ssa.c (delete_tree_ssa): Allow to be called before aliasing
	is initialized and while compilation of other function is running.
	* tree-optimize.c (execute_free_cfg_annotations): Move code to clear
	statement CFG annotations from here to ...
	* tree-cfg.c (delete_tree_cfg_annotations): ... here.

From-SVN: r120437
2007-01-04 11:30:10 +00:00
Zdenek Dvorak b06e8639fa cfgloop.h (enum li_flags): Make the constants powers of two.
* cfgloop.h (enum li_flags): Make the constants powers of two.

From-SVN: r120433
2007-01-04 09:53:29 +00:00
Jan Hubicka b8a00a4dcb tree-inline.c (copy_bb): Insert new statements to statements_to_fold set.
* tree-inline.c (copy_bb): Insert new statements to statements_to_fold
	set.
	(fold_marked_statements): New function.
	(optimize_inline_calls, tree_function_versioning): Fold new statements.
	* tree-inline.h (copy_body_data): Add statemetns_to_fold.

From-SVN: r120430
2007-01-04 08:56:05 +00:00
Daniel Jacobowitz fa9585134f Makefile.def (target_modules): Add libgcc.
./	* Makefile.def (target_modules): Add libgcc.
	(lang_env_dependencies): Remove default items.  Use no_c and no_gcc.
	* Makefile.tpl (clean-target-libgcc): Delete.
	(configure-target-[+module+]): Emit --disable-bootstrap dependencies
	on gcc even for bootstrapped modules.  Rewrite handling of
	lang_env_dependencies to loop over target_modules.
	* configure.in (target_libraries): Add target-libgcc.
	* Makefile.in, configure: Regenerated.
gcc/
	* config.gcc: Mention libgcc/config.host.
	* Makefile.in: Update comments mentioning libgcc.
	(LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete.
	(all.cross, start.encap, rest.encap, rest.cross): Update
	dependencies for libgcc move.
	(libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib)
	(clean-target, clean-target-libgcc): Delete.
	(srcdirify, GCC_EXTRA_PARTS): New macros.
	(libgcc-support, libgcc.mvars): New rules.
	(distclean): Remove mention of mklibgcc.
	(install): Don't reference INSTALL_LIBGCC.
	(install-common): Don't reference EXTRA_PARTS.
	(install-libgcc, install-multilib): Delete rules.
	* mklibgcc.in: Delete file.
	* doc/configfiles.texi: Don't mention mklibgcc.

	* config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc).
	* config/i386/t-darwin64 (SHLIB_VERPFX): Likewise.
	* config/rs6000/t-darwin (SHLIB_VERPFX): Likewise.
	* config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES)
	(mklibgcc, ldblspecs): Likewise.

	* config/i386/t-nwld (libgcc.def, libc.def, libpcre.def)
	(posixpre.def): Use $(T).
	(SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP)
	(SHLIB_SRC, SHLIB_INSTALL): Delete.
	(SHLIB_LINK): Make dummy.
	* config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK.

	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear.

	* config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS.
	* config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30,
	config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos,
	config/rs6000/t-newas, config/sparc/t-elf: Likewise.

	* configure.ac (all_outputs): Remove mklibgcc.
	* configure: Regenerated.
libgcc/
	* Makefile.in, config/i386/t-darwin, config/i386/t-darwin64,
	config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128,
	config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64,
	config/sparc/t-crtfm, config/t-slibgcc-darwin,
	config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk,
	shared-object.mk, siditi-object.mk, static-object.mk: New files.
	* configure: Generated.

Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r120429
2007-01-04 04:22:37 +00:00
Josh Conner 7816b87eb1 re PR middle-end/29683 (Arg split between stack/regs can cause stack corruption)
2007-03-01  Josh Conner  <jconner@apple.com>

	PR middle-end/29683
	* calls.c (compute_argument_addresses): Set stack and stack_slot
	for partial args, too.
	(store_one_arg): Use locate.size.constant for the size when
	generating a save_area.

2007-03-01  Josh Conner  <jconner@apple.com>

	PR middle-end/29683
	* gcc.dg/pr29683.c: New.

From-SVN: r120425
2007-01-04 01:37:15 +00:00