Commit Graph

65193 Commits

Author SHA1 Message Date
Kazu Hirata
23ab2e4e18 re PR tree-optimization/15349 ([tree-ssa] Merge two phi nodes.)
PR tree-optimization/15349
	* timevar.def (TV_TREE_MERGE_PHI): New.
	* tree-cfg.c (tree_forwarder_block_p): Add a new argument
	PHI_WANTED.
	(remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
	calls to tree_forwarder_block_p.
	(remove_forwarder_block_with_phi, merge_phi_nodes,
	gate_merge_phi, pass_merge_phi): New.
	* tree-optimize.c (init_tree_optimization_passes): Add
	pass_merge_phi.
	* tree-pass.h: Add an extern for pass_merge_phi;

	PR tree-optimization/15349
	* testsuite/gcc.dg/tree-ssa/pr15349.c: New.

From-SVN: r93977
2005-01-20 19:20:39 +00:00
Loren J. Rittle
db01eeba12 * docs/html/17_intro/BADNAMES: Add list for Darwin.
From-SVN: r93976
2005-01-20 19:10:03 +00:00
Loren J. Rittle
5116ad9658 * docs/html/17_intro/BADNAMES: Add list for FreeBSD.
From-SVN: r93975
2005-01-20 19:06:40 +00:00
Richard Henderson
edd5b7dab5 re PR target/19418 (_mm_cast*, icc8.1 new intrinsics)
PR target/19418
        * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
        (_mm_castps_pd, _mm_castps_si128): New.
        (_mm_castsi128_ps, _mm_castsi128_pd): New.

From-SVN: r93974
2005-01-20 11:06:28 -08:00
Richard Henderson
58b03a2dd2 Mark PR.
From-SVN: r93973
2005-01-20 10:45:47 -08:00
Richard Henderson
0f2698d0b5 re PR target/19530 (MMX load intrinsic produces SSE superfluous instructions (movlps))
PR target/19530
        * config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
        __builtin_ia32_vec_init_v2si.
        (_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
        * config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
        (ix86_init_mmx_sse_builtins): Create it.
        (ix86_expand_builtin): Expand it.
        (ix86_expand_vector_set): Handle V2SFmode and V2SImode.
        * config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
        (vec_extractv2si_0, vec_extractv2si_1): New.

From-SVN: r93972
2005-01-20 10:34:12 -08:00
Richard Henderson
3f38e7380e Makefile.in (alpha-linux, [...]): Use a-intnam-linux.ads and system-linux-alpha.ads.
* Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
        a-intnam-linux.ads and system-linux-alpha.ads.
        * a-intnam-linux-alpha.ads: Remove file.
        * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
        * system-linux-alpha.ads: New file.

From-SVN: r93971
2005-01-20 10:27:10 -08:00
Richard Henderson
6b79c03c55 i386.c (ix86_expand_push): New.
* config/i386/i386.c (ix86_expand_push): New.
        * config/i386/mmx.md (push<MMXMODE>1): New.
        * config/i386/sse.md (push<SSEMODE>1): New.
        * config/i386/i386-protos.h: Update.

From-SVN: r93970
2005-01-20 10:20:46 -08:00
Steve Ellcey
35f46d96df * gcc.dg/tree-ssa/loop-1.c: Fix target names on xfail.
From-SVN: r93964
2005-01-20 16:29:33 +00:00
Kazu Hirata
e42febca21 params.def, [...]: Update copyright.
* params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
	copyright.

From-SVN: r93961
2005-01-20 12:45:13 +00:00
Richard Henderson
f4770271b2 rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
* rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
        * rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.

From-SVN: r93958
2005-01-20 03:03:23 -08:00
Richard Henderson
b4bb3199a4 re PR target/19350 (Compilation with -O1 -ftree-vectorize gives unrecognizable insn on x86.)
PR target/19350
        * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
        to V4SFmode in SSE1 fallback load path.

From-SVN: r93957
2005-01-20 02:15:13 -08:00
Richard Henderson
ceda96fcdd i386.c (ix86_expand_vector_init_one_var): Fix typo in QImode expansion to ix86_expand_vector_set.
* config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
        in QImode expansion to ix86_expand_vector_set.
        (ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.

From-SVN: r93952
2005-01-20 00:57:20 -08:00
Kazu Hirata
0177ca8760 typeck.c (more_qualified_p): Remove.
* typeck.c (more_qualified_p): Remove.
	* cp-tree.h: Remove the corresponding prototype.

From-SVN: r93949
2005-01-20 07:12:50 +00:00
Richard Henderson
f75959a6a3 re PR target/19511 (ICE in in reload_cse_simplify_operands, at postreload.c:391)
PR target/19511
        * config/i386/i386.c (ix86_preferred_reload_class): Return a proper
        subclass of the input class.
        (ix86_secondary_memory_needed): Always true for cross-MMX classes.
        Always true for cross-SSE1 classes.  Rationalize conditionals.
        * config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
        * config/i386/i386.md (movsi_1): Add MMX/SSE zeros.  Fix alternatives
        for SSE1.  Don't check TARGET_INTER_UNIT_MOVES.
        (movdi_2): Add MMX/SSE zeros.
        (movdi_1_rex64): Likewise.  Don't check TARGET_INTER_UNIT_MOVES.
        (movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
        (zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
        (movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
        (movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
        (zero_extendsidi2_rex64_1): Remove.
        (MOV0 peephole): Check GENERAL_REG_P.

From-SVN: r93948
2005-01-19 22:47:28 -08:00
Richard Henderson
b100079f2f re PR target/19427 (gcc.c-torture/execute/simd-1.c compilation fails for i686 with -msse)
PR target/19427
        * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
        shufps elements.
        (ix86_expand_vector_extract): Likewise.

From-SVN: r93946
2005-01-19 22:35:37 -08:00
Richard Henderson
539eaa3aaa re PR middle-end/19304 (wrong code for spec test from emit_move_change_mode)
PR middle-end/19304
        * expr.c (emit_move_change_mode): New argument force; use
        simplify_gen_subreg if true.
        (emit_move_via_alt_mode): Merge into ...
        (emit_move_via_integer): ... here.
        (emit_move_ccmode): Use emit_move_change_mode directly.

From-SVN: r93944
2005-01-19 20:18:08 -08:00
Richard Henderson
72910a0b3b re PR target/19518 ([alpha] unrecognizable insn (set (reg:V4HI) (const_vector:V4HI)) with builtins)
PR target/19518
        * config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
        (alpha_preferred_reload_class): Handle CONST_VECTOR.
        (alpha_emit_set_const_1): Add no_output parameter; don't emit
        rtl if true.
        (alpha_emit_set_const): Likewise.  Make static.
        (alpha_emit_set_long_const): Make static.
        (alpha_extract_integer): Split out from alpha_expand_mov.
        (alpha_split_const_mov): Likewise.
        (alpha_expand_mov): Use them.  Handle CONST_VECTOR.
        (alpha_legitimate_constant_p): New.
        * config/alpha/alpha-protos.h: Update.
        * config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
        (LEGITIMATE_CONSTANT_P): Re-implement with a function.
        * config/alpha/alpha.md (movsi): Add n alternative.
        (movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
        (mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
        (splitters for all of the above): Use alpha_split_const_mov.
        * config/alpha/predicates.md (non_add_const_operand): New.
        (non_zero_const_operand): New.
        (input_operand): Use alpha_legitimate_constant_p after reload.

From-SVN: r93943
2005-01-19 19:59:00 -08:00
Hans-Peter Nilsson
ae7271294d loop-1.c: Fix missing "-" in dg-final scan-assembler-times directive name.
* gcc.dg/tree-ssa/loop-1.c: Fix missing "-" in dg-final
	scan-assembler-times directive name.

From-SVN: r93942
2005-01-20 03:38:20 +00:00
Paolo Carlini
9634af0238 re PR libstdc++/19535 (Wrong return types for __pair_get<1>)
2005-01-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19535
	* include/tr1/utility (struct __pair_get<1>::__get, __const_get):
	Fix typo in the return type.
	* testsuite/tr1/6_containers/utility/19535.cc: New.

From-SVN: r93940
2005-01-20 02:13:49 +00:00
Matt Austern
b3b35f14b0 typeck.c (comptypes): Handle return code from objc_comptypes correctly.
* typeck.c (comptypes): Handle return code from objc_comptypes
	correctly.

From-SVN: r93934
2005-01-20 01:43:21 +00:00
GCC Administrator
29de1f673f Daily bump.
From-SVN: r93930
2005-01-20 00:16:20 +00:00
Tom Tromey
af84b3d056 VMCompiler.java (compileClass): Ignore UnknownError.
* java/lang/VMCompiler.java (compileClass): Ignore UnknownError.
	* gnu/gcj/runtime/natSharedLibLoader.cc (finalize): Only dlclose
	if 'handler' is valid.

From-SVN: r93927
2005-01-19 23:56:27 +00:00
Zdenek Dvorak
4366cf6d6f re PR tree-optimization/19038 (tree-ssa causing loops to have more than one BB)
PR tree-optimization/19038
	* tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
	(add_candidate): Add ivs with increment in latch only if
	allow_ip_end_pos_p is true.
	(determine_iv_cost): Use empty_block_p.

From-SVN: r93925
2005-01-19 22:50:04 +00:00
Loren J. Rittle
75aa3f658c array_allocator.h (array_allocator<>::allocate): Avoid __used.
* include/ext/array_allocator.h (array_allocator<>::allocate):
	Avoid __used.  Use __array_used instead.

From-SVN: r93923
2005-01-19 21:59:55 +00:00
Daniel Berlin
4c7f5feab5 cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
2005-01-19  Daniel Berlin  <dberlin@dberlin.org>

	* cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
	(compute_dominance_frontiers): Ditto.

From-SVN: r93922
2005-01-19 21:28:22 +00:00
Ralf Corsepius
be33b72969 re PR target/19529 (sh-rtems multilibs broken)
2005-01-19  Ralf Corsepius  <ralf.corsepius@rtems.org>

	PR target/19529
	* config/sh/t-rtems: New.
	* config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.

From-SVN: r93921
2005-01-19 22:25:35 +01:00
Kazu Hirata
dcb3736a30 * cp-tree.h, name-lookup.h: Remove unused prototypes.
From-SVN: r93920
2005-01-19 21:16:56 +00:00
Hans-Peter Nilsson
fed758a42b asm-a.c: Move dg-require-effective-target to after dg-do.
* gcc.dg/asm-a.c: Move dg-require-effective-target to
	after dg-do.

From-SVN: r93919
2005-01-19 21:12:14 +00:00
Zdenek Dvorak
53dba8028c tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract the offset of the selected field.
* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
	the offset of the selected field.

From-SVN: r93918
2005-01-19 21:09:25 +00:00
Kazu Hirata
04d38c3bc1 tree-cfg.c (remove_forwarder_block): Fix the check to prevent a nonlocal label from appearing in the middle of a...
* tree-cfg.c (remove_forwarder_block): Fix the check to
	prevent a nonlocal label from appearing in the middle of a
	basic block.

From-SVN: r93917
2005-01-19 21:02:53 +00:00
Hans-Peter Nilsson
cb884961a4 re PR rtl-optimization/19462 (generating return insns while current_function_epilogue_delay_list nonempty)
PR rtl-optimization/19462
	* gcc.dg/torture/pr19462-1.c: Remove token xfail marker.

From-SVN: r93905
2005-01-19 17:04:24 +00:00
Steve Ellcey
dc60db9073 loop-1.c: Ignore declaration when counting function calls on ia64.
* gcc.dg/tree-ssa/loop-1.c:  Ignore declaration when
	counting function calls on ia64.

From-SVN: r93904
2005-01-19 16:51:34 +00:00
Hans-Peter Nilsson
09f9e28867 re PR rtl-optimization/19462 (generating return insns while current_function_epilogue_delay_list nonempty)
PR rtl-optimization/19462
	* reorg.c (find_end_label): Create return insn only if
	current_function_epilogue_delay_list is empty.

From-SVN: r93901
2005-01-19 16:39:20 +00:00
Kriang Lerdsuwanakij
a26ddf116e re PR c++/19375 (Access violation diagnostic given twice)
PR c++/19375
	* semantics.c (finish_id_expression): Disable access checking for
	already lookuped FIELD_DECL.

From-SVN: r93897
2005-01-19 14:30:21 +00:00
Paolo Bonzini
625d4524fa passes.texi: Remove paragraph mentioning new-ra.
2005-01-19  Paolo Bonzini  <bonzini@gnu.org>

	* doc/passes.texi: Remove paragraph mentioning new-ra.

From-SVN: r93896
2005-01-19 13:27:00 +00:00
Jakub Jelinek
49c3b9a846 re PR rtl-optimization/15139 (cc1 uses excessive amounts of memory compiling small routine)
PR rtl-optimization/15139
	* combine.c: Include params.h.
	(count_rtxs): New function.
	(record_value_for_reg): If replace_rtx would replace at least
	2 occurrences of REG in VALUE and TEM is really large, replace REG with
	(clobber (const_int 0)) instead of TEM.
	* params.def (PARAM_MAX_LAST_VALUE_RTL): New.
	* params.h (MAX_LAST_VALUE_RTL): New.
	* Makefile.in (combine.o): Depend on $(PARAMS_H).
	* doc/invoke.texi (--param max-last-value-rtl=N): Document.

	* gcc.dg/20050111-2.c: New test.

From-SVN: r93892
2005-01-19 10:31:16 +01:00
Jakub Jelinek
e89be13bdf re PR c/17297 (ICE with FP vector constructor containing qnan calculation)
PR c/17297
	* c-typeck.c (digest_init): Only call build_vector if all constructor
	elements are *_CST nodes.
	* gimplify.c (gimplify_init_constructor): Likewise.

	* gcc.c-torture/compile/20050113-1.c: New testcase.

	PR middle-end/19164
	* c-typeck.c (digest_init): Only call build_vector if inside_init
	is a CONSTRUCTOR.

	* gcc.dg/20050113-1.c: New testcase.

From-SVN: r93891
2005-01-19 10:27:23 +01:00
Dorit Naishlos
f0b9dcb843 vect-85.c: Add comment.
* gcc.dg/vect/vect-85.c: Add comment.
        * gcc.dg/vect/vect-86.c: Add xfail for now.
        * gcc.dg/vect/vect-87.c: Add xfail for now.
        * gcc.dg/vect/vect-88.c: Add xfail for now.
        * gcc.dg/vect/vect.exp: Remove -fno-tree-pre.

From-SVN: r93888
2005-01-19 09:25:06 +00:00
Eric Botcazou
674bc5a5d3 * gcc.dg/vect/vect-66.c: Slightly tweak 3rd loop.
From-SVN: r93887
2005-01-19 08:59:05 +00:00
GCC Administrator
feee824616 Daily bump.
From-SVN: r93876
2005-01-19 00:16:36 +00:00
Tobias Schlüter
d74e09c676 * toplev.c (init_asm_output): Remove dead #ifdef.
From-SVN: r93870
2005-01-19 00:54:43 +01:00
Kazu Hirata
c310f35c28 tree.c (count_functions, [...]): Remove.
* tree.c (count_functions, bound_pmf_p, cp_is_overload_p,
	cp_update_decl_after_saving, name_p): Remove.
	* cp-tree.h: Remove the corresponding prototypes.

From-SVN: r93869
2005-01-18 23:51:26 +00:00
Kaz Kojima
e35b30c777 * config/sh/linux.h (TARGET_C99_FUNCTIONS): Define.
From-SVN: r93868
2005-01-18 23:50:28 +00:00
Kazu Hirata
66b0e83563 decl.c (vtable_decl_p, [...]): Remove.
* decl.c (vtable_decl_p, vtype_decl_p, walk_globals_data,
	walk_vtables_r, walk_vtables, walk_globals_r, walk_globals):
	Remove.
	* cp-tree.h: Remove the corresponding prototypes.

From-SVN: r93867
2005-01-18 23:49:35 +00:00
Kazu Hirata
1fe94b97e5 decl.c (delete_block): Remove.
* decl.c (delete_block): Remove.
	* cp-tree.h: Remove the corresponding prototype.

From-SVN: r93866
2005-01-18 23:46:24 +00:00
Eric Botcazou
8c96cd51c7 calls.c (expand_call): Check DECL_BUILT_IN_CLASS before accessing DECL_FUNCTION_CODE.
* calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
	accessing DECL_FUNCTION_CODE.
	* dojump.c (do_jump): Likewise.
	* gimplify.c (gimplify_call_expr): Likewise.
	* predict.c (expr_expected_value): Likewise.
	(strip_builtin_expect): Likewise.
	* tree-inline.c (estimate_num_insns_1): Likewise.
	* tree-ssa-loop-im.c (stmt_cost): Likewise
	* fold-const.c (fold): Test for BUILT_IN_NORMAL.
	(tree_expr_nonnegative_p): Likewise.

From-SVN: r93864
2005-01-18 23:06:59 +00:00
Neil Booth
2b009f5f3f Remove self as cpplib maintainer
From-SVN: r93862
2005-01-18 23:04:14 +00:00
Eric Botcazou
eb7a7903b3 sparc.c (load_pic_register): Emit the appropriate variant of the load_pcrel_sym pattern.
* config/sparc/sparc.c (load_pic_register): Emit the appropriate
	variant of the load_pcrel_sym pattern.
	* config/sparc/sparc.md (P macro): Move to the top.
	(load_pcrel_sym): Macroize using P.
	(save_register_window): Likewise.

From-SVN: r93859
2005-01-18 22:54:47 +00:00
Jakub Jelinek
4d960a7ee7 re PR ada/13470 (64bits Ada bootstrap failure:xnmake etc. crash generating nmake.adb etc.)
PR ada/13470
	* a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
	set to the new string.

From-SVN: r93857
2005-01-18 23:00:12 +01:00