Commit Graph

31515 Commits

Author SHA1 Message Date
Uros Bizjak 7656aee4d0 i386.md: Use REG_P...
* config/i386/i386.md: Use REG_P, MEM_P, CONST_INT_P, LABEL_P,
	JUMP_P and CALL_P predicates where applicable.
	* config/i386/i386.c: Ditto.
	* config/i386/i386.md: Ditto.
	* config/i386/mmx.md: Ditto.
	* config/i386/predicates.md: Ditto.

From-SVN: r121079
2007-01-23 08:14:26 +01:00
Andreas Schwab c8832aae41 * config/m68k/m68k.h: Fix comment.
From-SVN: r121063
2007-01-22 21:16:24 +00:00
Jan Hubicka 6ffa0491ad passes.c (init_optimization_passes): Do not rerun pass_early_warn_uninitialized.
* passes.c (init_optimization_passes): Do not rerun
	pass_early_warn_uninitialized.

From-SVN: r121060
2007-01-22 18:51:56 +00:00
Richard Guenther 2f397a93c0 re PR tree-optimization/30038 (Call to sin(x), cos(x) should be transformed to sincos(x))
2007-01-22  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/30038
	* tree-ssa-math-opts.c (maybe_record_sincos): New static helper
	function.
	(execute_cse_sincos_1): Likewise.
	(execute_cse_sincos): Likewise.
	(gate_cse_sincos): Likewise.
	(pass_cse_sincos): New pass CSEing sin() and cos() calls using
	the cexpi() canonicalization of sincos().
	* tree-pass.h (pass_cse_sincos): Declare.
	* passes.c (init_optimization_passes): New pass pas_cse_sincos.

	* gcc.dg/builtins-62.c: New testcase.

From-SVN: r121052
2007-01-22 11:11:00 +00:00
Eric Botcazou 64c9193063 re PR rtl-optimization/29329 (internal consistency failure)
PR rtl-optimization/29329
	* combine.c (replaced_rhs_insn): Rename to i2mod.
	(replaced_rhs_value): Rename to i2mod_new_rhs.
	(i2mod_old_rhs): New global variable.
	(combine_instructions): Adjust for above change.  Save a copy of
	the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
	note are substituted in the second instruction.
	(distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
	ditch the note if it pertains to the second eliminated register
	and this register is mentioned in i2mod_old_rhs.

	Revert:
	2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
	the insn to which the note was originally attached.

From-SVN: r121037
2007-01-21 22:32:39 +00:00
Jan Hubicka 7fa49e7be7 ipa-inline.c (inlining_mode): Comment, move up.
* ipa-inline.c (inlining_mode): Comment, move up.
	(cgraph_decide_inlining_incrementally): Do not perform inlining itself; fix
	handling of flattening of self recursive functions.
	(cgraph_find_cycles): Remove.
	(cgraph_flatten_node): Remove.
	(cgraph_decide_inlining): Use incremental inliner to handle flattening.
	(try_inline): New function.
	(cgraph_early_inlining): Update call of cgraph_decide_inlining_incrementally.
	Apply inlining here.
	(apply_inline): Update call of cgraph_decide_inlining_incrementally.

From-SVN: r121034
2007-01-21 18:35:27 +00:00
Dirk Mueller 1eb7b04904 re PR bootstrap/30511 (False array bound check causes gcc failed to boostrap)
2007-01-21  Dirk Mueller  <dmueller@suse.de>

        PR bootstrap/30511
        * tree-vrp.c (check_array_bounds): do not warn
        about ADDR_EXPR's of ARRAY_REF's which are immediately
        used in binary expressions.

From-SVN: r121032
2007-01-21 16:12:10 +00:00
Ira Rosen 6004caaf4d tree-vectorizer.h (struct _stmt_vec_info): Add new field read_write_dep and macros for its access.
* tree-vectorizer.h (struct _stmt_vec_info): Add new field
	read_write_dep and macros for its access.
	* tree-vectorizer.c (new_stmt_vec_info): Initialize the new field.
	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Remove
	argument, call vect_check_interleaving for every independent pair of
	data-refs. Mark loads that access the same memory location as a store
	in the loop.
	(vect_check_dependences): Remove.
	(vect_analyze_data_ref_dependences): Remove  vect_check_dependences
	call, fix the call to vect_analyze_data_ref_dependence.
	(vect_analyze_data_ref_access): For statements that access the same
	data-ref, check that they are not stores; for loads, check that there
	is no store that access the same location.

From-SVN: r121026
2007-01-21 09:22:56 +00:00
Roger Sayle 78681dbdee invoke.texi (-fdump-rtl-combine): Fix under/overfull hbox.
* doc/invoke.texi (-fdump-rtl-combine): Fix under/overfull hbox.
	(-fdump-rtl-stack): Likewise.
	(-fno-signed-zeros): Use @minus{} for a minus sign.  Correct typo.
	(-mcheck-zero-division, -mcpu): Fix under/overfull hbox.
	(-mpt-fixed): Use @minus{} for minus sign.
	(Using Precompiled Headers): Fix under/overfull hbox.


Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r121023
2007-01-21 03:54:41 +00:00
Jan Hubicka d48a05c3c4 tree-flow.h (struct stmt_ann_d): Move references_memory to proper place within annotation.
* tree-flow.h (struct stmt_ann_d): Move references_memory to proper
	place within annotation.

From-SVN: r121022
2007-01-21 02:54:43 +00:00
Basile Starynkevitch b153d3e1ca gcc/Changelog typos
From-SVN: r121006
2007-01-20 17:59:46 +00:00
John David Anglin 4c6d872614 pa.c (output_move_double): Change array size of xoperands to 4.
* pa.c (output_move_double): Change array size of xoperands to 4.

From-SVN: r121002
2007-01-20 16:27:06 +00:00
Jan Hubicka bbba68dd6b tree-tailcall.c (adjust_return_value): Do not use RESULT_DECL as temporary.
* tree-tailcall.c (adjust_return_value): Do not use RESULT_DECL
	as temporary.

From-SVN: r120999
2007-01-20 11:24:06 +00:00
Ian Lance Taylor e4c9f3c21d expmed.c (expand_divmod): Cast constant to unsigned HOST_WIDE_INT before negating.
* expmed.c (expand_divmod) [TRUNC_MOD_EXPR, TRUNC_DIV_EXPR]: Cast
	constant to unsigned HOST_WIDE_INT before negating.

From-SVN: r120995
2007-01-20 02:04:31 +00:00
Ian Lance Taylor b2bcf5577a tree-ssa-operands.h (struct vuse_vec_d): Change num_vuse field to unsigned.
* tree-ssa-operands.h (struct vuse_vec_d): Change num_vuse field
	to unsigned.
	(VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Use unsigned comparison.
	(VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise.
	(SET_VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Likewise.
	(SET_VUSE_ELEMENT_VAR) [ENABLE_CHECKING]: Likewise.
	(SET_VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise.
	(realloc_vdef, realloc_vuse): Change second parameter to
	unsigned.
	(ssa_operand_iterator_d): Change vuse_index and mayuse_index
	fields to unsigned.
	* tree-ssa-operands.c (realloc_vop): Change num_elem parameter to
	unsigned. Change x and lim locals to unsigned.
	(realloc_vdef, realloc_vuse): Change num_elem parameter to
	unsigned.
	(finalize_ssa_vuse_ops): Change old_i local to unsigned.
	(copy_virtual_operands): Change i and n locals to unsigned.

From-SVN: r120994
2007-01-20 01:31:06 +00:00
Kaveh R. Ghazi 92d966284c re PR middle-end/29335 (transcendental functions with constant arguments should be resolved at compile-time)
PR middle-end/29335
	* builtins.c (fold_builtin_1): Handle builtin fdim.

testsuite:
	* gcc.dg/torture/builtin-math-3.c: Test fdim.

From-SVN: r120993
2007-01-20 00:33:00 +00:00
Jan Hubicka c9fa8bd45b tree-ssa.c (init_tree_ssa): Do not call init_alias_heapvars.
* tree-ssa.c (init_tree_ssa): Do not call init_alias_heapvars.
        * tree-ssa-structalias.c (compute_points_to_sets): Do call
        init_alias_heapvars.
        (init_alias_heapvars): Initialize only when not already initialized.
        (delete_alias_heapvars): Set heapvar_for_stmt to NULL.

From-SVN: r120983
2007-01-20 00:13:38 +00:00
Roger Sayle db02da7917 common.opt (fsigned-zeros): New command line option.
* common.opt (fsigned-zeros): New command line option.
	* flags.h (HONOR_SIGNED_ZEROS): Control via flag_signed_zeros instead
	of flag_unsafe_math_optimizations.
	* opts.c (set_fast_math_flags): The -ffast-math command line option
	implies -fno-signed-zeros.
	(fast_math_flags_set_p): Likewise.

	* doc/invoke.texi: Document new -fno-signed-zeros option, and update
	the documentation of -ffast-math appropriately.  Wrap long lines.

	* gcc.dg/pr30172-1.c: Specify the -fno-signed-zeros command line
	option instead of -funsafe-math-optimizations.

From-SVN: r120978
2007-01-19 19:35:22 +00:00
Steve Ellcey 67e47f30d0 system.h (ASM_MAKE_LABEL_LINKONCE): Poison.
* system.h (ASM_MAKE_LABEL_LINKONCE): Poison.
	* varasm.c (globalize_decl): Remove ASM_MAKE_LABEL_LINKONCE ifdef.

From-SVN: r120976
2007-01-19 18:38:30 +00:00
Tomas Bily 6bad26173d Patch by Tomas Bily <tbily@suse.cz>
Patch by Tomas Bily  <tbily@suse.cz>
        * cgraphunit.c (cgraph_finalize_function): Updating of pid
        * tree-profile.c:
        (tree_init_ic_make_global_vars): New function
        (tree_init_edge_profiler): call of tree_init_ic_make_global_vars
        (tree_gen_ic_profiler): New function
        (tree_gen_ic_func_profiler): New function
        (tree_profiling): Added calling of tree_gen_ic_func_profiler
        (tree_profile_hooks): Added hook for indirec/virtual calls
        * value-prof.c (tree_find_values_to_profile): New case for
        indirect calls
        (tree_values_to_profile): Call for determining indirect/virtual
        counters
        (tree_indirect_call_to_profile): New function
        (tree_ic_transform): New function
        (tree_ic): New function
        (find_func_by_pid): New function
        (init_pid_map): New function
        (tree_value_profile_transformations): Added check for
        indirect/virtual call transformation
        * value-prof.h (enum hist_type): New counter type for
        indirect/virtual calls
        (profile_hooks): Added new hook for profiling indirect/virtual
        calls
        * profile.c (instrument_values): New case for indirect/virtual
        call added
        * gcov-io.h (GCOV_LAST_VALUE_COUNTER): Changed to 6
        (GCOV_COUNTER_V_INDIR): New counter type
        (GCOV_COUNTER_NAMES): New name of counter "indirect" added
        (GCOV_MERGE_FUNCTIONS): New merge function for indirect/virtual
        call added
        * cgraph.c: Definition of cgraph_max_pid
        (cgraph_create_node): Default init of pid attribute
        * cgraph.h: Declaration of cgraph_max_pid
        (struct cgraph_node): Added pid attribute
        * libgcov.c (__gcov_indirect_call_profiler): New function
	(__gcov_one_value_profiler_body): New function
	(__gcov_one_value_profiler): Body was moved to
	__gcov_one_value_profiler_body and calls it

	gcc.dg/tree-prof/indir-call-prof.c: New.
	g++.dg/dg.exp: Add tree-prof subdirectory.
	g++.dg/tree-prof/indir-call-prof.C: New.
	g++.dg/tree-prof/tree-prof.exp: New.

From-SVN: r120975
2007-01-19 18:34:02 +00:00
Basile Starynkevitch b7c75af4b5 gty.texi (Options): Document the mark_hook option to GTY.
2007-01-19  Basile Starynkevitch  <basile@starynkevitch.net>

	* doc/gty.texi (Options): Document the mark_hook option to
	GTY.
	* gcc/gengtype.c (write_types_data, write_func_for_structure,
	write_types, ggc_wtd, pch_wtd): Added skip_hooks to
	write_types_data, ggc_wtd, pch_wtd for mark_hook.
	(walk_type, write_func_for_structure): Generate the mark_hook if
	needed.

From-SVN: r120974
2007-01-19 18:05:08 +00:00
Jan Hubicka c3056c2d23 ipa-inline.c (cgraph_decide_inlining_incrementally): Instead of 'early' argument take inlining mode argument specifying whether to...
* ipa-inline.c (cgraph_decide_inlining_incrementally): Instead of 'early' argument
	take inlining mode argument specifying whether to inline for size/speeed or all
	functions; add support for flattening; improve dumpting.
	(cgraph_early_inlining): Update call of decide_inlining_incrementally.

From-SVN: r120970
2007-01-19 17:20:20 +00:00
Manuel López-Ibáñez e65fff3cde re PR c++/17947 (bad warning with implicit conversion and __attribute__((deprecated)))
2007-01-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/17947
	* toplev.c (warn_deprecated_use): Use %qD instead of %qs to
	print the name of the declared identifier.
		
testsuite/
	* g++.dg/warn/deprecated.C: Update warning output.
	* g++.dg/warn/deprecated-2.C: Likewise.
	* g++.dg/warn/deprecated-3.C: New.

From-SVN: r120969
2007-01-19 16:04:57 +00:00
Dirk Mueller b0fede98c0 i386.h (CONDITIONAL_REGISTER_USAGE): Store result of PIC_OFFSET_TABLE_REGNUM in temporary variable to avoid...
2007-01-19  Dirk Mueller  <dmueller@suse.de>

       * config/i386.h (CONDITIONAL_REGISTER_USAGE): Store
       result of PIC_OFFSET_TABLE_REGNUM in temporary variable to avoid
       duplicate evaluation.

From-SVN: r120967
2007-01-19 14:11:05 +00:00
Uros Bizjak e2fc57a3e1 i386.md (acos<mode>2): Rename from acossf2 and acosdf2.
* config/i386/i386.md (acos<mode>2): Rename from acossf2 and acosdf2.
	Macroize expander using X87MODEF12 mode macro.  Extend operand 1
	to XFMode, use acosxf2 and truncate result to requested mode.
	Use SSE_FLOAT_MODE_P to disable patterns for SSE math.
	(asin<mode>2): Similarly, with asin expanders.
	(*fscalexf4_i387): Rename from *fscalexf4.
	(expNcorexf3): New expander.
	(expxf2, exp10xf2, exp2xf2): Use expNcorexf3 expander.
	(exp<mode>2): Rename from expsf2 and expdf2. Macroize expander using
	X87MODEF12 mode macro.  Extend operand 1 to XFMode, use expxf2 and
	truncate result to requested mode. Use SSE_FLOAT_MODE_P to disable
	patterns for SSE math.
	(exp10<mode>2): Similarly, with exp10 expanders.
	(exp2<mode>2): Similarly, with exp2 expanders.
	(expm1<mode>2): Similarly, with expm1 expanders.
	(ldexp<mode>3): Similarly, with ldexp expanders.
	(log<mode>2, log10<mode>2, log2<mode>2, log1p<mode>2, logb<mode>2):
	Use gen_truncxf<mode>2_i387_noop to truncate result.

From-SVN: r120966
2007-01-19 15:03:17 +01:00
Richard Sandiford aaacff326f m68k.h (PREFERRED_STACK_BOUNDARY): Define to 32 for ColdFire targets.
gcc/
	* config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Define to 32
	for ColdFire targets.

From-SVN: r120965
2007-01-19 13:49:06 +00:00
Nathan Sidwell 835b4008a3 200x-xx-xx Nathan Sidwell <nathan@codesourcery.com> Richard Sandiford <richard@codesourcery.com>
gcc/
200x-xx-xx  Nathan Sidwell  <nathan@codesourcery.com>
	    Richard Sandiford  <richard@codesourcery.com>

	* config/m68k/m68k.h (M68K_STATIC_CHAIN_REG_NAME): New macro.
	(INITIALIZE_TRAMPOLINE): Use STATIC_CHAIN_REGNUM.
	(__transfer_from_trampoline): Use M68K_STATIC_CHAIN_REG_NAME.
	* config/m68k/m68kelf.h (STATIC_CHAIN_REGNUM): Override.
	(M68K_STATIC_CHAIN_REG_NAME): Likewise.
	* config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.

gcc/testsuite/
200x-xx-xx  Nathan Sidwell  <nathan@codesourcery.com>

	* gcc.c-torture/execute/nestfunc-7.c: New.

Co-Authored-By: Richard Sandiford <richard@codesourcery.com>

From-SVN: r120964
2007-01-19 13:45:54 +00:00
Richard Sandiford b6d2f42e5e m68k.md (adddi_dilshr32): Rename to...
gcc/
	* config/m68k/m68k.md (adddi_dilshr32): Rename to...
	(*adddi_dilshr32): ...this.  Fix formatting.  Remove commented-out
	non-canonical pattern.  Restrict to !TARGET_COLDFIRE.
	(*adddi_dilshr32_cf): New pattern.
	(adddi3, subdi3): Remove first alternatives.

From-SVN: r120963
2007-01-19 13:42:00 +00:00
Richard Sandiford f6ab62e8ea m68k.c (notice_update_cc): If an SFmode move is implemented using move.l...
gcc/
	* config/m68k/m68k.c (notice_update_cc): If an SFmode move is
	implemented using move.l, do not use its cc result for floating-point
	comparisons.

From-SVN: r120962
2007-01-19 13:40:54 +00:00
Richard Sandiford fe0cc77654 m68k.h (EXTRA_CONSTRAINT): Stop the 'T' constraint from accepting 's' constraints if flag_pic.
gcc/
	* config/m68k/m68k.h (EXTRA_CONSTRAINT): Stop the 'T' constraint
	from accepting 's' constraints if flag_pic.

From-SVN: r120961
2007-01-19 13:40:21 +00:00
Richard Sandiford 379cd895c1 gcc/
* config/m68k/m68k.md (bordered, bunordered, buneq, bunge, bungt)
	(bunle, bunlt, bltgt, bordered_rev, bunordered_rev, buneq_rev)
	(bunge_rev, bungt_rev, bunle_rev, bunlt_rev, bltgt_rev): Change
	condition from TARGET_68881 to TARGET_HARD_FLOAT.

From-SVN: r120960
2007-01-19 13:39:35 +00:00
Sandra Loosemore 7a6525d680 200x-xx-xx Sandra Loosemore <sandra@codesourcery.com>
gcc/
200x-xx-xx  Sandra Loosemore  <sandra@codesourcery.com>

	* longlong.h (count_leading_zeros, COUNT_LEADING_ZEROS_0): Add
	ColdFire alternatives.
	* config/m68k/m68k.h (CLZ_DEFINED_VALUE_AT_ZERO): New macro.
	* config/m68k/m68k.md (clzsi2):  Define for ColdFire
	architectures that support ff1 instruction.

From-SVN: r120959
2007-01-19 13:34:59 +00:00
Richard Sandiford f233b84c17 200x-xx-xx Richard Sandiford <richard@codesourcery.com> Julian Brown <julian@codesourcery.com>
gcc/
200x-xx-xx  Richard Sandiford  <richard@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>

	* config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Add an 'R' case.
	* config/m68k/m68k.md (*movsi_cfv4): Fold into...
	(*movsi_cf): ...here.  Remove unnecessary 'R' from 'Rg'.
	Add commentary.

Co-Authored-By: Julian Brown <julian@codesourcery.com>

From-SVN: r120958
2007-01-19 13:30:35 +00:00
Richard Sandiford bda2a57174 m68k-protos.h (valid_mov3q_const): Take a HOST_WIDE_INT and return a bool.
gcc/
	* config/m68k/m68k-protos.h (valid_mov3q_const): Take a HOST_WIDE_INT
	and return a bool.
	(output_move_const_into_data_reg, output_move_simode_const): Delete.
	* config/m68k/m68k.c (const_method, const_int_cost): Take a
	HOST_WIDE_INT instead of an rtx.
	(m68k_rtx_costs): Update call accordingly.
	(output_move_const_into_data_reg): Likewise.  Fix formatting.
	(valid_mov3q_const): Take a HOST_WIDE_INT instead of an rtx.
	Return a bool.
	(output_move_simode_const): Update calls after above changes.
	Rework to use automatic variables and predicates like MEM_P.
	* config/m68k/m68k.md (pushexthisi_const): Update call to
	valid_mov3q_const.

From-SVN: r120957
2007-01-19 13:28:57 +00:00
Dirk Mueller 23e739936e tree-ssa-alias.c (perform_var_substitution): Fix typo in dump_flags test.
2007-01-19  Dirk Mueller  <dmueller@suse.de>

       * tree-ssa-alias.c (perform_var_substitution): Fix typo
       in dump_flags test.

From-SVN: r120954
2007-01-19 11:51:25 +00:00
Richard Guenther b54c5497e5 builtins.c (expand_builtin_cexpi): Fall back to expanding via cexp in case sincos is not available.
2007-01-19  Richard Guenther  <rguenther@suse.de>

	* builtins.c (expand_builtin_cexpi): Fall back to expanding
	via cexp in case sincos is not available.

From-SVN: r120953
2007-01-19 11:13:24 +00:00
Richard Guenther 006339cde4 tm.texi (TARGET_HAS_SINCOS): Document new target macro.
2007-01-19  Richard Guenther  <rguenther@suse.de>

	* doc/tm.texi (TARGET_HAS_SINCOS): Document new target macro.
	* defaults.h (TARGET_HAS_SINCOS): Default to off.
	* config/linux.h (TARGET_HAS_SINCOS): Set to on if we have glibc.
	* config/alpha/linux.h (TARGET_HAS_SINCOS): Likewise.
	* config/sparc/linux.h (TARGET_HAS_SINCOS): Likewise.
	* config/sparc/linux64.h (TARGET_HAS_SINCOS): Likewise.
	* config/rs6000/linux.h (TARGET_HAS_SINCOS): Likewise.
	* config/rs6000/linux64.h (TARGET_HAS_SINCOS): Likewise.

From-SVN: r120952
2007-01-19 11:06:56 +00:00
Uros Bizjak 8ef4f42c93 i386.md (*fpatanxf3_i387, [...]): New insn patterns.
* config/i386/i386.md (*fpatanxf3_i387, fpatan_extend<mode>xf3_i387):
	New insn patterns.
	(atan2sf3_1, atan2df3_1, atan2xf3_1): Remove insn patterns.
	(atan2xf3): Directly generate RTL pattern.
	(atan2<mode>3): Rename from atan2sf3 and atan2df3 and macroize insn
	patterns using X87MODEF12 mode macro.  Use fpatan_extend<mode>xf3_i387
	and truncate result to requested mode.  Use SSE_FLOAT_MODE_P to
	disable patterns for SSE math.
	(atan<mode>2): Rename from atansf2 and atandf2 and macroize insn
	patterns using X87MODEF12 mode macro.  Use fpatan_extend<mode>xf3_i387
	and truncate result to requested mode.  Use SSE_FLOAT_MODE_P to
	disable patterns for SSE math.

From-SVN: r120950
2007-01-19 09:59:39 +01:00
Alexandre Oliva fe30b1f37e * libgcc-std.ver: Fix typo in %inherit for GCC_4.3.0.
From-SVN: r120948
2007-01-19 06:27:18 +00:00
Roger Sayle f85242f0ce fold-const.c (fold_unary): Optimize away a VIEW_CONVERT_EXPR to the same type as it's operand.
* fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Optimize away a
	VIEW_CONVERT_EXPR to the same type as it's operand.

From-SVN: r120945
2007-01-19 00:30:47 +00:00
David Edelsohn 7fcc054b8f darwin-ldouble.c: Only build _SOFT_FLOAT if configured for long double 128.
* config/rs6000/darwin-ldouble.c: Only build _SOFT_FLOAT if
        configured for long double 128.

From-SVN: r120938
2007-01-18 18:43:08 -05:00
Mike Stump d1123cdeb3 rs6000.c (rs6000_emit_vector_compare): Fix build error.
* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Fix build
	error.

From-SVN: r120935
2007-01-18 22:15:36 +00:00
Michael Meissner 7874f14d88 Make #if 0 type correct
From-SVN: r120934
2007-01-18 22:12:49 +00:00
Jan Hubicka 4cdffd965f tree-ssa-operands.c (vop_free_bucket_size): Never return value greater than NUM_VOP_FREE_BUCKETS.
* tree-ssa-operands.c (vop_free_bucket_size): Never return value
	greater than NUM_VOP_FREE_BUCKETS.

From-SVN: r120933
2007-01-18 21:58:18 +00:00
Daniel Berlin 3e5937d7b3 tree-ssa-structalias.c: Update comments.
2007-01-18  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-structalias.c: Update comments.
	(ptabitmap_obstack): Removed.
	(pta_obstack): New.
	(oldpta_obstack): Ditto.
	(stats): Add a few members.
	(struct variable_info): Remove node, complex, address_taken, and
	indirect_target members. Add oldsolution member.
	(new_var_info): Do not initialize removed members.
	(constraint_expr_type): Remove INCLUDES.
	(constraint_graph): Add size, implicit_preds, rep,
	indirect_cycles, eq_rep, label, direct_nodes, and complex members.
	(FIRST_REF_NODE): New macro.
	(LAST_REF_NODE): Ditto.
	(FIRST_ADDR_NODE): Ditto.
	(find): New function.
	(unite): Ditto.
	(dump_constraint): Do not handle INCLUDES.
	(insert_into_complex): Do not insert duplicate constraints.
	(condense_varmap_nodes): Renamed and rewritten into ...
	(merge_node_constraints): This. Also fix bug in handling of
	offseted copy constraints.
	(clear_edges_for_node): No longer need to deal with preds at all,
	or removing associated preds/succs. 
	(merge_graph_nodes): Deal with indirect_cycles.
	Don't deal with predecessors.
	(add_implicit_graph_edge): New function.
	(add_pred_graph_edge): Ditto.
	(add_graph_edge): Don't deal with predecessors.
	(build_constraint_graph): Removed.
	(build_pred_graph): New function.
	(build_succ_graph): Ditto.
	(struct scc_info): Removed in_component. Added roots, dfs, and
	node_mapping. Remove visited_index, unification_queue.
	(scc_visit): Deal with union-find we do now.
	Deal with cycles with REF nodes.
	(collapse_nodes): Renamed and rewritten to ...
	(unify_nodes): This.
	(process_unification_queue): Removed.
	(topo_visit): Cleanup
	(do_da_constraint): Use find.
	(do_sd_constraint): Ditto.
	(do_ds_constraint): Ditto.
	(do_complex_constraint): Ditto.
	(init_scc_info): Update for removed and added members.
	(find_and_collapse_graph_cycles): Renamed and rewritten into ...
	(find_indirect_cycles): This.
	(equivalence_class): New variable.
	(label_visit): New function.
	(perform_variable_substitution): Rewritten.
	(free_var_substitution_info): New function.
	(find_equivalent_node): Ditto.
	(move_complex_constraints): Ditto.
	(eliminate_indirect_cycles): Ditto.
	(solve_graph): Only propagate changed bits.
	Use indirect cycle elimination.
	Use find.
	(tree_id_t): Rename to tree_vi_t, delete id member, add vi member.
	(tree_id_eq): Renamed to ...
	(tree_vi_eq): This. Update for member change
	(insert_id_for_tree): Renamed and rewritten to ...
	(insert_vi_for_tree): This.
	(lookup_id_for_tree): Renamed and rewritten to ...
	(lookup_vi_for_tree): This.
	(get_id_for_tree): Renamed and rewritten to ...
	(get_vi_for_tree): Ditto.
	(get_constraint_exp_from_ssa_var): Update to use get_vi_for_tree.
	(process_constraint): Don't handle INCLUDES.
	Remove special ADDRESSOF case.
	(find_func_aliases): Rewrite to use vi functions instead of id
	ones.
	(create_function_info_for): Ditto.
	(create_variable_info_for): Ditto.
	(intra_create_variable_infos): Ditto.
	(merge_smts_into): Ditto.
	(find_what_p_points_to): Ditto.
	(init_base_vars): Ditto.
	(init_alias_vars): Ditto.
	(remove_preds_and_fake_succs): New function.
	(dump_sa_points_to_info): Dump new stats.
	(dump_solution_for_var): Use find.
	(set_used_smts): Fix formatting.
	(compute_points_to_sets): Updated for new functions.
	(ipa_pta_execute): Ditto.

From-SVN: r120931
2007-01-18 21:30:38 +00:00
Kazu Hirata 576c9028f0 200x-xx-xx Kazu Hirata <kazu@codesourcery.com> Richard Sandiford <richard@codesourcery.com>
gcc/
200x-xx-xx  Kazu Hirata  <kazu@codesourcery.com>
	    Richard Sandiford  <richard@codesourcery.com>

	* doc/tm.texi (TARGET_FUNCTION_VALUE): Expand documentation of
	parallels.
	* calls.c (expand_call): If the return value is a PARALLEL,
	extract its first member.
	* config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Remove.
	* config/m68k/m68k.c (m68k_output_function_epilogue): Don't
	use FUNCTION_EXTRA_EPILOGUE.
	(m68k_function_value): Return a PARALLEL if the return value
	is of a pointer type.
	* config/m68k/netbsd-elf.h (current_function_returns_pointer)
	(FUNCTION_EXTRA_EPILOGUE): Remove.
	* config/m68k/m68k.md (D0_REG): New constant.

Co-Authored-By: Richard Sandiford <richard@codesourcery.com>

From-SVN: r120929
2007-01-18 19:54:44 +00:00
Kazu Hirata dfd050746b 200x-xx-xx Kazu Hirata <kazu@codesourcery.com>
gcc/
200x-xx-xx  Kazu Hirata  <kazu@codesourcery.com>

	* config/m68k/m68k.c (m68k_output_function_epilogue): Don't
	output a NOP for empty epilogues.

From-SVN: r120928
2007-01-18 19:52:51 +00:00
Richard Sandiford 413ac1b28d m68k.c (m68k_use_return_insn): Update comments before function.
gcc/
	* config/m68k/m68k.c (m68k_use_return_insn): Update comments
	before function.  Extend register save check to include all
	registers, not just integer ones.

From-SVN: r120927
2007-01-18 19:51:47 +00:00
Kazu Hirata a2bda628bf 200x-xx-xx Kazu Hirata <kazu@codesourcery.com>
gcc/
200x-xx-xx  Kazu Hirata  <kazu@codesourcery.com>

	* config/m68k/m68k-protos.h (use_return_insn): Rename to...
	(m68k_use_return_insn): ...this.
	* config/m68k/m68k.h (USE_RETURN_INSN): Delete.
	* config/m68k/m68k.c (use_return_insn): Rename to...
	(m68k_use_return_insn): ...this.
	* config/m68k/m68k.md (return): Use m68k_use_return_insn instead
	of USE_RETURN_INSN.

From-SVN: r120926
2007-01-18 19:50:48 +00:00
Nathan Sidwell e444d54e44 200x-xx-xx Nathan Sidwell <nathan@codesourcery.com>
gcc/
200x-xx-xx  Nathan Sidwell  <nathan@codesourcery.com>

	* config/m68k/fpgnulib.c (__truncdfsf2): Implement round to
	nearest even, fix denormal rounding overflow.

From-SVN: r120925
2007-01-18 19:49:59 +00:00