Commit Graph

100291 Commits

Author SHA1 Message Date
Hans-Peter Nilsson f36eb2af96 re PR target/44202 (Missing compare after add)
PR target/44202
	* gcc.c-torture/execute/pr44202-1.c: New test.

From-SVN: r159611
2010-05-20 06:44:45 +00:00
James E. Wilson 951771dc6b re PR target/43764 (-mrelax-pic-calls fails with complex types)
PR target/43764
* mips.c (mips_call_expr_from_insn): New arg second_call.  Set it.
(mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
Use it.

From-SVN: r159610
2010-05-19 23:26:52 -07:00
Jerry DeLisle 6d1b0f922a re PR fortran/43851 (Add _gfortran_error_stop_numeric)
2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>

	PR fortran/43851
	* runtime/stop.c (error_stop_numeric): New function and updated comment.
	Add declaration for stop_numeric and remove declaration for stop_string.
	(stop_string): Use for blank STOP.
	(stop_numeric): Remove use of special -1 stop code.
	* runtime/pause.c (do_pause): Use stop_string for blank stop.
	(pause_numeric): Remove use of special -1 pause code.
	* gfortran.map: Add new symbol to run-time library.
	* libgfortran.h: Move declaration for stop_string to here to make
	function visible for do_pause. Remove declaration for stop_numeric.

2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>

	PR fortran/43851
	* trans-stmt.c (gfc_trans_stop): Add generation of call to
	gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
	blank STOP, handling a null expression. (gfc_trans_pause): Use
	pause_string for blank PAUSE.
	* trans.h: Add external function declaration for error_stop_numeric.
	* trans-decl.c (gfc_build_builtin_function_decls): Add the building of
	the declaration for the library call. Adjust whitespaces.
	* match.c (gfc_match_stopcode): Remove use of the actual stop code to
	signal no stop code. Match the expression following the stop and pass
	that to the translators. Remove the old use of digit matching.  Add
	checks that the stop_code expression is INTEGER or CHARACTER, constant,
	and if CHARACTER, default character KIND.

2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>

	PR fortran/43851
	* gfortran.dg/label_1.f90: Update test.

From-SVN: r159609
2010-05-20 04:44:11 +00:00
GCC Administrator b41e2d6d52 Daily bump.
From-SVN: r159608
2010-05-20 00:18:01 +00:00
Jan Hubicka 66576e1bc7 ipareference2_0.c: New file.
* gcc.dg/lto/ipareference2_0.c: New file.
	* gcc.dg/lto/ipareference2_1.c: New file.
	* lto.c (promote_var, promote_fn): New functions.
	(lto_promote_cross_file_statics): Compute correctly boundary including
	static initializers of readonly vars.

From-SVN: r159604
2010-05-19 23:55:38 +00:00
Joseph Myers 676dd4d4df diagnostic.c (FLOAT, FFS): Don't undefine.
* diagnostic.c (FLOAT, FFS): Don't undefine.
	* passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
	* cse.c, regmove.c: Remove comments about stdio.h and rtl.h
	include ordering.

From-SVN: r159602
2010-05-19 22:32:19 +01:00
Richard Sandiford caba7aaaa7 combine.c (propagate_for_debug): Call make_compound_operation on the source value.
gcc/
	* combine.c (propagate_for_debug): Call make_compound_operation
	on the source value.
	(try_combine): When implementing a split chosen by find_split_point,
	either copy i2src or set it to null.  Assert that i2src is not null
	before substituting into CALL_INSN_FUNCTION_USAGE.

From-SVN: r159600
2010-05-19 21:08:53 +00:00
Jason Merrill a3360e778c call.c (reference_binding): Use cp_build_qualified_type_real and cp_type_quals consistently.
* call.c (reference_binding): Use cp_build_qualified_type_real
	and cp_type_quals consistently.
	(add_function_candidate): Likewise.
	(build_conditional_expr): Likewise.
	(convert_like_real): Likewise.
	(type_passed_as): Likewise.
	* class.c (add_method): Likewise.
	(same_signature_p): Likewise.
	(layout_class_type): Likewise.
	* decl.c (cxx_init_decl_processing): Likewise.
	(cp_fname_init): Likewise.
	(grokdeclarator): Likewise.
	* decl2.c (cp_reconstruct_complex_type): Likewise.
	* init.c (build_new_1): Likewise.
	* method.c (do_build_copy_constructor): Likewise.
	(implicitly_declare_fn): Likewise.
	* pt.c (tsubst_aggr_type): Likewise.
	(tsubst): Likewise.
	* rtti.c (init_rtti_processing): Likewise.
	(build_headof): Likewise.
	(build_dynamic_cast_1): Likewise.
	(tinfo_base_init): Likewise.
	(emit_support_tinfos): Likewise.
	* semantics.c (capture_decltype): Likewise.
	* tree.c (cv_unqualified): Likewise.
	* typeck.c (composite_pointer_type): Likewise.
	(string_conv_p): Likewise.

	* mangle.c (write_CV_qualifiers_for_type): Tweak.

	* call.c (initialize_reference): Use CP_TYPE_CONST_P.
	* decl.c (start_decl): Likewise.
	* semantics.c (finish_compound_literal): Likewise.
	* typeck.c (check_return_expr): Use CP_TYPE_VOLATILE_P.
	(cp_type_readonly): Remove.
	* cp-tree.h: Remove declaration.

From-SVN: r159599
2010-05-19 17:02:27 -04:00
Jason Merrill a0685b7311 * typeck.c (merge_types): Preserve memfn quals.
From-SVN: r159598
2010-05-19 17:02:16 -04:00
Jason Merrill 93e1ddcf9c decl.c (grokdeclarator): Don't check quals on fn type.
* decl.c (grokdeclarator): Don't check quals on fn type.
	* typeck.c (cp_apply_type_quals_to_decl): Likewise.
	* tree.c (cp_build_qualified_type_real): Simplify qualifier checking.

From-SVN: r159597
2010-05-19 17:02:03 -04:00
Jason Merrill 2872152c39 re PR c++/44193 (function types, cv-quals and typename)
PR c++/44193
	* typeck.c (type_memfn_quals): New fn.
	(apply_memfn_quals): New fn.
	(cp_type_quals): Return TYPE_UNQUALIFIED for FUNCTION_TYPE.
	(cp_type_readonly): Use cp_type_quals.
	* cp-tree.h: Add declarations.
	* tree.c (cp_build_qualified_type_real): Don't set, but do
	preserve, quals on FUNCTION_TYPE.
	(strip_typedefs): Use apply_memfn_quals and type_memfn_quals.
	* decl.c (build_ptrmem_type): Likewise.
	(grokdeclarator): Likewise.
	(static_fn_type): Likewise.
	* decl2.c (change_return_type): Likewise.
	(cp_reconstruct_complex_type): Likewise.
	* pt.c (tsubst_function_type): Likewise.
	(unify): Likewise.
	(tsubst): Likewise.  Drop special FUNCTION_TYPE substitution code.

From-SVN: r159596
2010-05-19 17:01:50 -04:00
Anatoly Sokolov 1961ffb8cd double-int.h (double_int_ior): New function.
* double-int.h (double_int_ior): New function.
	* tree.h (build_int_cst_wide_type): Remove.
	* tree.c (build_int_cst_wide_type): Remove.
	* fold-const.c (native_interpret_int): Use double_int_to_tree instead
	of build_int_cst_wide_type.
	* stor-layout.c (set_sizetype): (Ditto.).
	* dojump.c (do_jump): Use build_int_cstu instead of
	build_int_cst_wide_type.

/java
	* jcf-parse.c (get_constant): Use double_int_to_tree instead of
	build_int_cst_wide_type.

From-SVN: r159595
2010-05-20 00:09:57 +04:00
Jonathan Wakely 9908949ca6 wait.cc (wait): Rename.
2010-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/30_threads/future/members/wait.cc (wait): Rename.
	* testsuite/30_threads/shared_future/members/wait.cc (wait): Likewise.

From-SVN: r159593
2010-05-19 19:48:48 +01:00
Eric Botcazou 616f1431bf langhooks.h (struct lang_hooks): Add new field deep_unsharing.
* langhooks.h (struct lang_hooks): Add new field deep_unsharing.
	* langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
	* gimplify.c: (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
	TARGET_EXPR nodes, but only once, if instructed to do so.  Do not
	propagate the 'data' argument to copy_tree_r.
	(copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
	Propagate 'data' argument to walk_tree.
	(copy_if_shared): New function.
	(unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
	(unmark_visited): New function.
	(unshare_body): Call copy_if_shared instead of doing it manually.
	(unvisit_body): Call unmark_visited instead of doing it manually.
ada/
	* gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
	* gcc-interface/trans.c (unshare_save_expr): Delete.
	(gigi): Do not unshare trees under SAVE_EXPRs here.

From-SVN: r159592
2010-05-19 17:53:58 +00:00
Daniel Franke daf8c6f03b re PR fortran/44055 (Warn (-Wconversion*) when converting single to double precision)
gcc/fortran/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/44055
	* lang.opt (Wconversion-extra): New option.
	* gfortran.h (gfc_option_t): Add warn_conversion_extra.
	* options.c (gfc_init_options): Disable -Wconversion-extra by default.
	(set_Wall): Enable -Wconversion.
	(gfc_handle_option): Set warn_conversion_extra.
	* intrinsic.c (gfc_convert_type_warn): Ignore kind conditions
	introduced for -Wconversion if -Wconversion-extra is present.
	* invoke.texi: Add -Wconversion to -Wall; document new behaviour of
	-Wconversion; document -Wconversion-extra.

gcc/testsuite/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/44055
	* gfortran.dg/c_sizeof_2.f90: Add -Wno-conversion to dg-options;
	Fixed scope of C_SIZEOF.
	* gfortran.dg/warn_conversion_2.f90: New.

From-SVN: r159586
2010-05-19 12:35:34 -04:00
Nathan Froyd f311c3b4a6 hooks.h (hook_tree_tree_tree_bool_null): Rename to...
* hooks.h (hook_tree_tree_tree_bool_null): Rename to...
	(hook_tree_tree_int_treep_bool_null): ...this.  Update signature.
	* hooks.c: Likewise.
	* target-def.h (TARGET_FOLD_BUILTIN): Define to
	hook_tree_tree_int_treep_bool_null.
	* target.h: (struct gcc_target): Update signature of fold_builtin
	field.
	* doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
	* builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
	instead of the call expression.
	(fold_builtin_call_array): Pass n and argarray directly.
	(fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
	consing a list.
	* config/alpha/alpha.c (alpha_fold_builtin): Update signature.  Lift
	MAX_ARGS check out of the loop.  Delete declaration of `arity', declare
	`i' and use it in place of `arity'.
	* config/sparc/sparc.c (sparc_fold_builtin): Update signature.
	Dereference `args' directly.
	* config/xtensa/xtensa (xtensa_fold_builtin): Likewise.

From-SVN: r159585
2010-05-19 16:23:27 +00:00
Rainer Orth 40f1bdd962 sourcebuild.texi (Effective-Target Keywords): Document 3dnow, sse3, sse2.
gcc:
	* doc/sourcebuild.texi (Effective-Target Keywords): Document
	3dnow, sse3, sse2.
	(Directives): Document optional	dg-require-effective-target
	selector.

	gcc/testsuite:
	* lib/target-supports.exp (check_effective_target_sse2): New proc.
	* lib/target-supports-dg.exp (dg-require-effective-target): Allow
	for optional selector.
	* gcc.target/i386/i386.exp (check_effective_target_3dnow): New proc.
	(check_effective_target_sse3): New proc.
	* gcc.target/i386/math-torture/math-torture.exp: Load
	target-supports.exp.
	Only add options with -msse2 to MATH_TORTURE_OPTIONS if
	check_effective_target_sse2.
	* gcc.dg/vect/vect.exp: Return unless check_effective_target_sse2.
	* gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise.
	* g++.dg/vect/vect.exp: Likewise.
	* gfortran.dg/vect/vect.exp: Likewise.
	* lib/fortran-torture.exp (get-fortran-torture-options): Only use
	-msse2 if check_effective_target_sse2.

	* gcc.target/i386/3dnow-1.c: Use dg-require-effective-target 3dnow.
	* gcc.target/i386/3dnow-2.c: Likewise.
	* gcc.target/i386/3dnowA-1.c: Likewise.
	* gcc.target/i386/3dnowA-2.c: Likewise.
	* gcc.target/i386/pr42549.c: Likewise.

	* gcc.target/i386/sse3-addsubpd.c: Use dg-require-effective-target sse3.
	* gcc.target/i386/sse3-addsubps.c: Likewise.
	* gcc.target/i386/sse3-haddpd.c: Likewise.
	* gcc.target/i386/sse3-haddps.c: Likewise.
	* gcc.target/i386/sse3-hsubpd.c: Likewise.
	* gcc.target/i386/sse3-hsubps.c: Likewise.
	* gcc.target/i386/sse3-lddqu.c: Likewise.
	* gcc.target/i386/sse3-movddup.c: Likewise.
	* gcc.target/i386/sse3-movshdup.c: Likewise.
	* gcc.target/i386/sse3-movsldup.c: Likewise.

	* g++.dg/abi/mangle42.C: Use dg-require-effective-target sse2.
	* g++.dg/ext/attrib35.C: Likewise.
	* g++.dg/opt/pr40496.C: Likewise.
	* g++.dg/other/i386-1.C: Likewise.
	* g++.dg/other/i386-4.C: Likewise.
	* g++.dg/other/pr34435.C: Likewise.
	* g++.dg/other/pr39496.C: Likewise.
	* g++.dg/other/pr40446.C: Likewise.
	* gcc.dg/compat/union-m128-1_main.c: Likewise.
	* gcc.dg/compat/vector-1a_main.c: Likewise.
	* gcc.dg/compat/vector-2a_main.c: Likewise.
	* gcc.dg/lto/20090206-1_0.c: Likewise.
	* gcc.dg/pr34856.c: Likewise.
	* gcc.dg/pr36584.c: Likewise.
	* gcc.dg/pr36997.c: Likewise.  Adapt dg-message line number.
	* gcc.dg/pr37544.c: Likewise.
	* gcc.dg/torture/pr16104-1.c: Likewise.
	* gcc.dg/torture/pr35771-1.c: Likewise.
	* gcc.dg/torture/pr35771-2.c: Likewise.
	* gcc.dg/torture/pr35771-3.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-2.c: Likewise.
	* gcc.dg/torture/stackalign/alloca-3.c: Likewise.
	* gcc.dg/torture/stackalign/push-1.c: Likewise.
	* gcc.dg/torture/stackalign/vararg-3.c: Likewise.
	* gcc.dg/tree-ssa/prefetch-6.c: Likewise.
	* gcc.dg/tree-ssa/prefetch-7.c: Likewise.
	* gcc.dg/vect/vect-debug-pr41926.c: Likewise.
	* gcc.target/i386/20060512-1.c: Likewise.
	* gcc.target/i386/20060512-3.c: Likewise.
	* gcc.target/i386/all_one_m128i.c: Likewise.
	* gcc.target/i386/float128-1.c: Likewise.
	* gcc.target/i386/float128-2.c: Likewise.
	* gcc.target/i386/fpcvt-1.c: Likewise.
	* gcc.target/i386/fpcvt-2.c: Likewise.
	* gcc.target/i386/fpcvt-3.c: Likewise.
	* gcc.target/i386/fpprec-1.c: Likewise.
	* gcc.target/i386/funcspec-9.c: Likewise.
	* gcc.target/i386/incoming-1.c: Likewise.
	* gcc.target/i386/incoming-12.c: Likewise.
	* gcc.target/i386/incoming-2.c: Likewise.
	* gcc.target/i386/incoming-3.c: Likewise.
	* gcc.target/i386/incoming-4.c: Likewise.
	* gcc.target/i386/incoming-6.c: Likewise.
	* gcc.target/i386/incoming-7.c: Likewise.
	* gcc.target/i386/incoming-8.c: Likewise.
	* gcc.target/i386/opt-1.c: Likewise.
	* gcc.target/i386/opt-2.c: Likewise.
	* gcc.target/i386/ordcmp-1.c: Likewise.
	* gcc.target/i386/pr17692.c: Likewise.
	* gcc.target/i386/pr18614-1.c: Likewise.
	* gcc.target/i386/pr22152.c: Likewise.
	* gcc.target/i386/pr23570.c: Likewise.
	* gcc.target/i386/pr23575.c: Likewise.
	* gcc.target/i386/pr26449-1.c: Likewise.
	* gcc.target/i386/pr26600.c: Likewise.
	* gcc.target/i386/pr27790.c: Likewise.
	* gcc.target/i386/pr28839.c: Likewise.
	* gcc.target/i386/pr30970.c: Likewise.
	* gcc.target/i386/pr32000-1.c: Likewise.
	* gcc.target/i386/pr32000-2.c: Likewise.
	* gcc.target/i386/pr32280.c: Likewise.
	* gcc.target/i386/pr32661.c: Likewise.
	* gcc.target/i386/pr32708-1.c: Likewise.
	* gcc.target/i386/pr32961.c: Likewise.
	* gcc.target/i386/pr33329.c: Likewise.
	* gcc.target/i386/pr35714.c: Likewise.
	* gcc.target/i386/pr35767-1.c: Likewise.
	* gcc.target/i386/pr35767-1d.c: Likewise.
	* gcc.target/i386/pr35767-1i.c: Likewise.
	* gcc.target/i386/pr35767-2.c: Likewise.
	* gcc.target/i386/pr35767-2d.c: Likewise.
	* gcc.target/i386/pr35767-2i.c: Likewise.
	* gcc.target/i386/pr35767-3.c: Likewise.
	* gcc.target/i386/pr35767-5.c: Likewise.
	* gcc.target/i386/pr36222-1.c: Likewise.
	* gcc.target/i386/pr36578-1.c: Likewise.
	* gcc.target/i386/pr36578-2.c: Likewise.
	* gcc.target/i386/pr36992-1.c: Likewise.
	* gcc.target/i386/pr37101.c: Likewise.
	* gcc.target/i386/pr37216.c: Likewise.
	* gcc.target/i386/pr37434-1.c: Likewise.
	* gcc.target/i386/pr37434-2.c: Likewise.
	* gcc.target/i386/pr37843-3.c: Likewise.
	* gcc.target/i386/pr37843-4.c: Likewise.
	* gcc.target/i386/pr39162.c: Likewise.
	* gcc.target/i386/pr39315-1.c: Likewise.
	* gcc.target/i386/pr39315-2.c: Likewise.
	* gcc.target/i386/pr39315-3.c: Likewise.
	* gcc.target/i386/pr39315-4.c: Likewise.
	* gcc.target/i386/pr39445.c: Likewise.
	* gcc.target/i386/pr39496.c: Likewise.
	* gcc.target/i386/pr40809.c: Likewise.
	* gcc.target/i386/pr40906-3.c: Likewise.
	* gcc.target/i386/pr41019.c: Likewise.
	* gcc.target/i386/pr42542-1.c: Likewise.
	* gcc.target/i386/pr42542-2.c: Likewise.
	* gcc.target/i386/pr42542-3.c: Likewise.
	* gcc.target/i386/pr42542-3a.c: Likewise.
	* gcc.target/i386/pr42881.c: Likewise.
	* gcc.target/i386/push-1.c: Likewise.
	* gcc.target/i386/quad-sse.c: Likewise.
	* gcc.target/i386/reload-1.c: Likewise.
	* gcc.target/i386/sse-10.c: Likewise.
	* gcc.target/i386/sse-11.c: Likewise.
	* gcc.target/i386/sse-15.c: Likewise.
	* gcc.target/i386/sse-17.c: Likewise.
	* gcc.target/i386/sse-18.c: Likewise.
	* gcc.target/i386/sse-19.c: Likewise.
	* gcc.target/i386/sse-4.c: Likewise.
	* gcc.target/i386/sse-6.c: Likewise.
	* gcc.target/i386/sse-vect-types.c: Likewise.
	* gcc.target/i386/sse2-addpd-1.c: Likewise.
	* gcc.target/i386/sse2-addsd-1.c: Likewise.
	* gcc.target/i386/sse2-andnpd-1.c: Likewise.
	* gcc.target/i386/sse2-andpd-1.c: Likewise.
	* gcc.target/i386/sse2-cmpsd-1.c: Likewise.
	* gcc.target/i386/sse2-comisd-1.c: Likewise.
	* gcc.target/i386/sse2-comisd-2.c: Likewise.
	* gcc.target/i386/sse2-comisd-3.c: Likewise.
	* gcc.target/i386/sse2-comisd-4.c: Likewise.
	* gcc.target/i386/sse2-comisd-5.c: Likewise.
	* gcc.target/i386/sse2-comisd-6.c: Likewise.
	* gcc.target/i386/sse2-copysign-vec.c: Likewise.
	* gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise.
	* gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise.
	* gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise.
	* gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise.
	* gcc.target/i386/sse2-cvtps2dq-1.c: Likewise.
	* gcc.target/i386/sse2-cvtps2pd-1.c: Likewise.
	* gcc.target/i386/sse2-cvtsd2si-1.c: Likewise.
	* gcc.target/i386/sse2-cvtsd2si-2.c: Likewise.
	* gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise.
	* gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise.
	* gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise.
	* gcc.target/i386/sse2-cvtss2sd-1.c: Likewise.
	* gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise.
	* gcc.target/i386/sse2-cvttps2dq-1.c: Likewise.
	* gcc.target/i386/sse2-cvttsd2si-1.c: Likewise.
	* gcc.target/i386/sse2-cvttsd2si-2.c: Likewise.
	* gcc.target/i386/sse2-divpd-1.c: Likewise.
	* gcc.target/i386/sse2-divsd-1.c: Likewise.
	* gcc.target/i386/sse2-init-v16qi-1.c: Likewise.
	* gcc.target/i386/sse2-init-v2di-1.c: Likewise.
	* gcc.target/i386/sse2-init-v4si-1.c: Likewise.
	* gcc.target/i386/sse2-init-v8hi-1.c: Likewise.
	* gcc.target/i386/sse2-lrint-vec.c: Likewise.
	* gcc.target/i386/sse2-lrintf-vec.c: Likewise.
	* gcc.target/i386/sse2-maxpd-1.c: Likewise.
	* gcc.target/i386/sse2-maxsd-1.c: Likewise.
	* gcc.target/i386/sse2-minpd-1.c: Likewise.
	* gcc.target/i386/sse2-minsd-1.c: Likewise.
	* gcc.target/i386/sse2-mmx.c: Likewise.
	* gcc.target/i386/sse2-movapd-1.c: Likewise.
	* gcc.target/i386/sse2-movapd-2.c: Likewise.
	* gcc.target/i386/sse2-movd-1.c: Likewise.
	* gcc.target/i386/sse2-movd-2.c: Likewise.
	* gcc.target/i386/sse2-movdqa-1.c: Likewise.
	* gcc.target/i386/sse2-movdqa-2.c: Likewise.
	* gcc.target/i386/sse2-movdqu-1.c: Likewise.
	* gcc.target/i386/sse2-movdqu-2.c: Likewise.
	* gcc.target/i386/sse2-movhpd-1.c: Likewise.
	* gcc.target/i386/sse2-movhpd-2.c: Likewise.
	* gcc.target/i386/sse2-movlpd-1.c: Likewise.
	* gcc.target/i386/sse2-movlpd-2.c: Likewise.
	* gcc.target/i386/sse2-movmskpd-1.c: Likewise.
	* gcc.target/i386/sse2-movntdq-1.c: Likewise.
	* gcc.target/i386/sse2-movntpd-1.c: Likewise.
	* gcc.target/i386/sse2-movq-1.c: Likewise.
	* gcc.target/i386/sse2-movq-2.c: Likewise.
	* gcc.target/i386/sse2-movq-3.c: Likewise.
	* gcc.target/i386/sse2-movsd-1.c: Likewise.
	* gcc.target/i386/sse2-movsd-2.c: Likewise.
	* gcc.target/i386/sse2-movupd-1.c: Likewise.
	* gcc.target/i386/sse2-movupd-2.c: Likewise.
	* gcc.target/i386/sse2-mulpd-1.c: Likewise.
	* gcc.target/i386/sse2-mulsd-1.c: Likewise.
	* gcc.target/i386/sse2-orpd-1.c: Likewise.
	* gcc.target/i386/sse2-packssdw-1.c: Likewise.
	* gcc.target/i386/sse2-packsswb-1.c: Likewise.
	* gcc.target/i386/sse2-packuswb-1.c: Likewise.
	* gcc.target/i386/sse2-paddb-1.c: Likewise.
	* gcc.target/i386/sse2-paddd-1.c: Likewise.
	* gcc.target/i386/sse2-paddq-1.c: Likewise.
	* gcc.target/i386/sse2-paddsb-1.c: Likewise.
	* gcc.target/i386/sse2-paddsw-1.c: Likewise.
	* gcc.target/i386/sse2-paddusb-1.c: Likewise.
	* gcc.target/i386/sse2-paddusw-1.c: Likewise.
	* gcc.target/i386/sse2-paddw-1.c: Likewise.
	* gcc.target/i386/sse2-pand-1.c: Likewise.
	* gcc.target/i386/sse2-pandn-1.c: Likewise.
	* gcc.target/i386/sse2-pavgb-1.c: Likewise.
	* gcc.target/i386/sse2-pavgw-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpeqb-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpeqd-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpeqw-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpgtb-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpgtd-1.c: Likewise.
	* gcc.target/i386/sse2-pcmpgtw-1.c: Likewise.
	* gcc.target/i386/sse2-pmaddwd-1.c: Likewise.
	* gcc.target/i386/sse2-pmaxsw-1.c: Likewise.
	* gcc.target/i386/sse2-pmaxub-1.c: Likewise.
	* gcc.target/i386/sse2-pminsw-1.c: Likewise.
	* gcc.target/i386/sse2-pminub-1.c: Likewise.
	* gcc.target/i386/sse2-pmovmskb-1.c: Likewise.
	* gcc.target/i386/sse2-pmulhuw-1.c: Likewise.
	* gcc.target/i386/sse2-pmulhw-1.c: Likewise.
	* gcc.target/i386/sse2-pmullw-1.c: Likewise.
	* gcc.target/i386/sse2-pmuludq-1.c: Likewise.
	* gcc.target/i386/sse2-por-1.c: Likewise.
	* gcc.target/i386/sse2-psadbw-1.c: Likewise.
	* gcc.target/i386/sse2-pshufd-1.c: Likewise.
	* gcc.target/i386/sse2-pshufhw-1.c: Likewise.
	* gcc.target/i386/sse2-pshuflw-1.c: Likewise.
	* gcc.target/i386/sse2-pslld-1.c: Likewise.
	* gcc.target/i386/sse2-pslld-2.c: Likewise.
	* gcc.target/i386/sse2-pslldq-1.c: Likewise.
	* gcc.target/i386/sse2-psllq-1.c: Likewise.
	* gcc.target/i386/sse2-psllq-2.c: Likewise.
	* gcc.target/i386/sse2-psllw-1.c: Likewise.
	* gcc.target/i386/sse2-psllw-2.c: Likewise.
	* gcc.target/i386/sse2-psrad-1.c: Likewise.
	* gcc.target/i386/sse2-psrad-2.c: Likewise.
	* gcc.target/i386/sse2-psraw-1.c: Likewise.
	* gcc.target/i386/sse2-psraw-2.c: Likewise.
	* gcc.target/i386/sse2-psrld-1.c: Likewise.
	* gcc.target/i386/sse2-psrld-2.c: Likewise.
	* gcc.target/i386/sse2-psrldq-1.c: Likewise.
	* gcc.target/i386/sse2-psrlq-1.c: Likewise.
	* gcc.target/i386/sse2-psrlq-2.c: Likewise.
	* gcc.target/i386/sse2-psrlw-1.c: Likewise.
	* gcc.target/i386/sse2-psrlw-2.c: Likewise.
	* gcc.target/i386/sse2-psubb-1.c: Likewise.
	* gcc.target/i386/sse2-psubd-1.c: Likewise.
	* gcc.target/i386/sse2-psubq-1.c: Likewise.
	* gcc.target/i386/sse2-psubsb-1.c: Likewise.
	* gcc.target/i386/sse2-psubsw-1.c: Likewise.
	* gcc.target/i386/sse2-psubw-1.c: Likewise.
	* gcc.target/i386/sse2-punpckhbw-1.c: Likewise.
	* gcc.target/i386/sse2-punpckhdq-1.c: Likewise.
	* gcc.target/i386/sse2-punpckhqdq-1.c: Likewise.
	* gcc.target/i386/sse2-punpckhwd-1.c: Likewise.
	* gcc.target/i386/sse2-punpcklbw-1.c: Likewise.
	* gcc.target/i386/sse2-punpckldq-1.c: Likewise.
	* gcc.target/i386/sse2-punpcklqdq-1.c: Likewise.
	* gcc.target/i386/sse2-punpcklwd-1.c: Likewise.
	* gcc.target/i386/sse2-pxor-1.c: Likewise.
	* gcc.target/i386/sse2-set-epi32-1.c: Likewise.
	* gcc.target/i386/sse2-set-epi64x-1.c: Likewise.
	* gcc.target/i386/sse2-set-v16qi-1.c: Likewise.
	* gcc.target/i386/sse2-set-v16qi-2.c: Likewise.
	* gcc.target/i386/sse2-set-v16qi-3.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-1.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-1a.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-2.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-2a.c: Likewise.
	* gcc.target/i386/sse2-shufpd-1.c: Likewise.
	* gcc.target/i386/sse2-shufps-1.c: Likewise.
	* gcc.target/i386/sse2-sqrtpd-1.c: Likewise.
	* gcc.target/i386/sse2-subpd-1.c: Likewise.
	* gcc.target/i386/sse2-subsd-1.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-1.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-2.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-3.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-4.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-5.c: Likewise.
	* gcc.target/i386/sse2-ucomisd-6.c: Likewise.
	* gcc.target/i386/sse2-unpack-1.c: Likewise.
	* gcc.target/i386/sse2-unpckhpd-1.c: Likewise.
	* gcc.target/i386/sse2-unpcklpd-1.c: Likewise.
	* gcc.target/i386/sse2-vec-1.c: Likewise.
	* gcc.target/i386/sse2-vec-2.c: Likewise.
	* gcc.target/i386/sse2-vec-3.c: Likewise.
	* gcc.target/i386/sse2-vec-4.c: Likewise.
	* gcc.target/i386/sse2-vec-5.c: Likewise.
	* gcc.target/i386/sse2-vec-6.c: Likewise.
	* gcc.target/i386/sse2-xorpd-1.c: Likewise.
	* gcc.target/i386/ssefn-2.c: Likewise.
	* gcc.target/i386/ssefn-4.c: Likewise.
	* gcc.target/i386/ssefp-1.c: Likewise.
	* gcc.target/i386/ssefp-2.c: Likewise.
	* gcc.target/i386/sseregparm-3.c: Likewise.
	* gcc.target/i386/sseregparm-4.c: Likewise.
	* gcc.target/i386/sseregparm-5.c: Likewise.
	* gcc.target/i386/sseregparm-6.c: Likewise.
	* gcc.target/i386/sseregparm-7.c: Likewise.
	* gcc.target/i386/ssetype-1.c: Likewise.
	* gcc.target/i386/ssetype-2.c: Likewise.
	* gcc.target/i386/ssetype-3.c: Likewise.
	* gcc.target/i386/ssetype-4.c: Likewise.
	* gcc.target/i386/ssetype-5.c: Likewise.
	* gcc.target/i386/unordcmp-1.c: Likewise.
	* gcc.target/i386/vararg-1.c: Likewise.
	* gcc.target/i386/vararg-2.c: Likewise.
	* gcc.target/i386/vararg-3.c: Likewise.
	* gcc.target/i386/vararg-4.c: Likewise.
	* gcc.target/i386/vararg-7.c: Likewise.
	* gcc.target/i386/vararg-8.c: Likewise.
	* gcc.target/i386/vecinit-1.c: Likewise.
	* gcc.target/i386/vecinit-2.c: Likewise.
	* gcc.target/i386/vecinit-3.c: Likewise.
	* gcc.target/i386/vecinit-4.c: Likewise.
	* gcc.target/i386/vecinit-5.c: Likewise.
	* gcc.target/i386/vecinit-6.c: Likewise.
	* gcc.target/i386/vectorize2.c: Likewise.
	* gcc.target/i386/vectorize3.c: Likewise.
	* gcc.target/i386/vectorize4.c: Likewise.
	* gcc.target/i386/vectorize6.c: Likewise.
	* gcc.target/i386/vectorize7.c: Likewise.
	* gcc.target/i386/vectorize8.c: Likewise.
	* gcc.target/i386/vperm-v2df.c: Likewise.
	* gcc.target/i386/vperm-v2di.c: Likewise.
	* gcc.target/i386/vperm-v4si-1.c: Likewise.
	* gcc.target/i386/xorps-sse2.c: Likewise.
	* gcc.target/i386/xorps.c: Likewise.
	* gfortran.dg/graphite/pr42326-1.f90: Likewise.
	* gfortran.dg/graphite/pr42326.f90: Likewise.
	* gfortran.dg/vect/fast-math-mgrid-resid.f: Likewise.

From-SVN: r159584
2010-05-19 16:10:05 +00:00
Richard Guenther 817c299606 re PR lto/44196 (lto1: ICE: tree check: expected field_decl, have type_decl in gimple_types_compatible_p, at gimple.c:3597)
2010-05-19  Richard Guenther  <rguenther@suse.de>

	PR lto/44196
	* tree.c (find_decls_types_r): Walk BLOCKs and its vars.

	* g++.dg/lto/20100519-1_0.C: New testcase.

From-SVN: r159582
2010-05-19 15:57:17 +00:00
Richard Guenther c04b6b3823 invoke.texi (-fwhopr): Document new optional jobs argument.
2010-05-19  Richard Guenther  <rguenther@suse.de>

	* doc/invoke.texi (-fwhopr): Document new optional jobs argument.
	* common.opt (fwhopr=): New.
	* opts.c (common_handle_option): Handle OPT_fwhopr.
	* gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
	* collect2.c (main): Match -fwhopr*.
	* lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
	Execute ltrans stage in parallel when jobs is bigger than 1.

From-SVN: r159573
2010-05-19 15:43:22 +00:00
Rainer Orth d416abb494 configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as output, too.
* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
	output, too.
	(libffi_cv_as_ascii_pseudo_op): Check for .ascii.
	(libffi_cv_as_string_pseudo_op): Check for .string.
	* configure: Regenerate.
	* fficonfig.h.in: Regenerate.
	* src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.

From-SVN: r159570
2010-05-19 15:31:36 +00:00
Rainer Orth ed1041376a sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun assembler syntax.
libgcc:
	* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
	assembler syntax.

	gcc:
	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
	pentiumpro on Solaris 8/x86 with Sun as.
	* configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
	hidden alias bug.
	(gcc_cv_as_ix86_quad): Check for .quad directive.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.

From-SVN: r159569
2010-05-19 15:31:00 +00:00
Daniel Franke 16e520b612 re PR fortran/42360 (intent(out)-dummy-not-set warning for types depends on order of component initializers)
gcc/fortran/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/42360
	* gfortran.h (gfc_has_default_initializer): New.
	* expr.c (gfc_has_default_initializer): New.
	* resolve.c (has_default_initializer): Removed, use
	gfc_has_default_initializer() instead. Updated all callers.
	* trans-array.c (has_default_initializer): Removed, use
	gfc_has_default_initializer() instead. Updated all callers.
	* trans-decl.c (generate_local_decl): Do not check the
	first component only to check for initializers, but use
	gfc_has_default_initializer() instead.

gcc/testsuite/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/42360
	* gfortran.dg/warn_intent_out_not_set.f90: New.

From-SVN: r159562
2010-05-19 09:07:25 -04:00
Daniel Franke 66faed7643 re PR fortran/38404 (Warning message identifies incorrect line)
gcc/fortran/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/38404
	* primary.c (match_string_constant): Move start_locus just inside 
	the string.
	* data.c (create_character_intializer): Clarified truncation warning.

gcc/testsuite/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/38404
	* gfortran.dg/data_char_1.f90: Updated warning message.
	* gfortran.dg/data_array_6.f: New.

From-SVN: r159561
2010-05-19 08:55:26 -04:00
Martin Jambor 749aa96dab ipa-prop.c (ipa_print_node_jump_functions): Print jump functions also for indirect edges.
2010-05-19  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
	also for indirect edges.  Actual printing moved...
	(ipa_print_node_jump_functions_for_edge): ...here.
	(ipa_compute_jump_functions): Renamed to
	ipa_compute_jump_functions_for_edge and made static.
	(ipa_compute_jump_functions): New function.
	(make_edge_direct_to_target): Check if the number of arguments on
	the newly direct edge is the same as the number of parametrs of
	the callee.
	* ipa-cp.c (ipcp_init_stage): Most functionality moved to new
	ipa_compute_jump_functions.  Call ipa_analyze_params_uses.
	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
	analysis functions unconditionally, call the new
	ipa_analyze_params_uses on the node instead of every edge.

	* testsuite/g++.dg/ipa/ivinline-8.C: New test.
	* testsuite/gcc.dg/ipa/iinline-2.c: New test.

From-SVN: r159559
2010-05-19 13:49:36 +02:00
Daniel Franke c9018c71d3 re PR fortran/34505 (FLOAT/SNGL: Not accepted as actual argument; diagnostics problems)
gcc/fortran/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/34505
	* intrinsic.h (gfc_check_float): New prototype.
	(gfc_check_sngl): New prototype.
	* check.c (gfc_check_float): New.
	(gfc_check_sngl): New.
	* intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
	to be a specific for REAL. Added check routines for FLOAT, DFLOAT
	and SNGL.
	* intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
	added them to the list of specifics of REAL instead.

gcc/testsuite/:
2010-05-19  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/34505
	* gfortran.dg/dfloat_1.f90: Add warnings for non-default kind
	arguments; add check for return value kind.
	* gfortran.dg/float_1.f90: Likewise.

From-SVN: r159558
2010-05-19 07:43:53 -04:00
Christian Borntraeger 81f3232690 tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step to tree.
2010-05-19  Christian Borntraeger  <borntraeger@de.ibm.com>

        * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
	to tree.
        (dump_mem_ref): Adopt debug code to handle a tree as step.  This
	also checks for a constant int vs.  non-constant but
	loop-invariant steps.
        (find_or_create_group): Change the sort algorithm to only consider
	steps that are constant ints.
        (idx_analyze_ref): Adopt code to handle a tree instead of a
	HOST_WIDE_INT for step.
        (gather_memory_references_ref): Handle tree instead of int and be
	prepared to see a NULL_TREE.
        (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
	prefetches if the step cannot be calculated at compile time.
        (issue_prefetch_ref): Issue prefetches for non-constant but
	loop-invariant steps.

From-SVN: r159557
2010-05-19 10:36:40 +00:00
Nathan Froyd 8abd2cbee2 * expr.c (pop_arguments): Fix use of undeclared variable.
From-SVN: r159555
2010-05-19 01:15:43 +00:00
Nathan Froyd 39b27b3a47 Revert:
2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>

	* tree.h (build_call_list): Remove.
	* tree.c (build_call_list): Remove.

From-SVN: r159554
2010-05-19 00:43:27 +00:00
GCC Administrator 0a9f28e7fd Daily bump.
From-SVN: r159553
2010-05-19 00:18:01 +00:00
Eelis van der Weegen ddc962a4c1 re PR libstdc++/44190 (Debug vector resize does not update capacity)
2010-05-18  Eelis van der Weegen  <gcc-bugzilla@contacts.eelis.net>

	PR libstdc++/44190
	* include/debug/vector (vector<>::resize): Call
	_M_update_guaranteed_capacity.
	* testsuite/23_containers/vector/capacity/44190.cc: New.

From-SVN: r159549
2010-05-18 23:58:50 +00:00
Nathan Froyd 3fcb9d1bfa tree.h (build_call_list): Remove.
gcc/
	* tree.h (build_call_list): Remove.
	* tree.c (build_call_list): Remove.

gcc/ada/
	* gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
	build_call_list.
	* gcc-interface/utils.c (build_function_stub): Likewise.

gcc/cp/
	* tree.c (build_min_non_dep_call_vec): Update comment.

gcc/java/
	* expr.c (expand_java_multianewarray): Use build_call_vec instead of
	build_call_list.
	(pop_arguments): Return a VEC instead of a tree.  Take a method type
	rather than a list of argument types.
	(rewrite_rule): Change signature. of rewrite_arglist member.
	(rewrite_arglist_getcaller): Update signature.
	(rewrite_arglist_getclass): Likewise.
	(maybe_rewrite_invocation): Update for rewrite_arglist change.
	(build_known_method_ref): Take a VEC instead of a tree.
	(invoke_build_dtable): Likewise.
	(expand_invoke): Update calls to pop_arguments.  Use build_call_vec
	instead of build_call_list.
	(build_jni_stub): Use build_call_vec instead of build_call_list.
	* java-tree.h (maybe_rewrite_invocation): Update declaration.
	(build_known_method_ref): Likewise.
	(invoke_build_dtable): Likewise.

From-SVN: r159548
2010-05-18 23:45:21 +00:00
Jan Hubicka 58efc3ac59 * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
From-SVN: r159546
2010-05-18 22:37:32 +00:00
Vladimir Makarov 0495bafc27 re PR rtl-optimization/43332 (valgrind warns about using uninitialized variable with -fsched-pressure -fschedule-insns)
2010-05-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/43332
	* haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.

From-SVN: r159545
2010-05-18 22:09:19 +00:00
Anatoly Sokolov abdbbf16d4 tree.h (build_int_cstu): Implement as static inline.
* tree.h (build_int_cstu): Implement as static inline.
	* tree.c (build_int_cstu): Remove function.
	(double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
	sign extended.

From-SVN: r159544
2010-05-19 00:54:59 +04:00
Rainer Orth f8a02aacf1 20011009-1.c (COMMENT): Define.
* gcc.target/i386/20011009-1.c (COMMENT): Define.
	(main): Use it.
	* gcc.target/i386/pr25993.c [__sun__]: Use .globl.
	* lib/lto.exp (lto_prune_warns): Fix location line regex.
	Prune another location line format.
	(lto-obj): Call lto_prune_warns on comp_output.

From-SVN: r159538
2010-05-18 19:05:09 +00:00
Richard Guenther cf96bae709 re PR lto/44143 (-fdump-tree-all for lto does not work as expected)
2010-05-18  Richard Guenther  <rguenther@suse.de>

	PR lto/44143
	* lto-wrapper.c (verbose): New variable.  Initialize from -v.
	(debug): Initialize from -save-temps.
	(collect_execute): Print command-line when verbose.
	(run_gcc): Always use COLLECT_GCC_OPTIONS.  Use fork_execute
	for ltrans invocation.  Produce -dumpbase flag again.
	(process_args): Remove.
	(main): Simplify.
	* collect2.c (maybe_run_lto_and_relink): Only pass object
	files to lto-wrapper.
	* gcc.c (LINK_COMMAND_SPEC): Likewise.

From-SVN: r159536
2010-05-18 15:11:01 +00:00
Jan Hubicka 80e2a014c8 ipacp_0.c: New test.
* gcc.dg/lto/ipacp_0.c: New test.
	* gcc.dg/lto/ipacp_1.c: New test.

	* opts.c (decode_options): Do not disable whopr at ipa_cp.
	* ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.

From-SVN: r159535
2010-05-18 14:37:30 +00:00
Steven Bosscher 26195ca5a2 fix broken checkin, test should be link not assemble
From-SVN: r159533
2010-05-18 14:13:10 +00:00
Steven Bosscher 174f391c12 re PR lto/44184 ("asm goto" does not work with LTO)
gcc/
	PR lto/44184
	* lto-streamer-out.c (output_gimple_stmt): Output number of labels
	in a GIMPLE_ASM.
	* lto-streamer-in.c (input_gimple_stmt): Read number of labels
	in a GIMPLE_ASM.

testsuite/
	PR lto/44184
	* gcc.dg/lto/20100518_0.c: New test.

From-SVN: r159531
2010-05-18 13:51:50 +00:00
Jakub Jelinek 1307793110 re PR debug/41371 (var-tracking is slow and memory hungry)
PR debug/41371
	* var-tracking.c (find_loc_in_1pdv): Add a few checks from
	rtx_equal_p inline.

From-SVN: r159528
2010-05-18 11:35:52 +02:00
Steven Bosscher 02540df4e6 add lto to powerpc-*darwin and enable for 32bit darwin
Steven Bosscher  <steven@gcc.gnu.org>
ChangeLog:
	* configure.ac (--enable-lto): All *-apple-darwin* now support LTO.
	* configure: Regenerate.

gcc/ChangeLog:
	* config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
	lto-macho as lto_binary_reader.

	* darwin.c (darwin_asm_named_section): Do not add assembler comment
	after .section directive; just print it before the directive instead.



M    gcc/config.gcc
M    gcc/config/darwin.c
M    ChangeLog
M    gcc/ChangeLog

From-SVN: r159527
2010-05-18 08:12:56 +00:00
Eric Botcazou 451078b5e0 * gnat.dg/specs/lto3.ads: Add missing dg-options.
From-SVN: r159525
2010-05-18 07:10:11 +00:00
GCC Administrator 1201e82a4c Daily bump.
From-SVN: r159523
2010-05-18 00:17:30 +00:00
Jan Hubicka 36576655d8 cgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not in wpa and checking is enabled.
* cgraph.c (cgraph_create_virtual_clone): Only check
	versionable_function_p when not in wpa and checking is enabled.
	* cgrpahunit.c (cgraph_materialize_all_clones): Stabilize after
	there are no more functions to materialize.
	
	* lto/lto.c (lto_1_to_1_map): Partition non-inline clones.
	(lto_promote_cross_file_statics): Deal with non-inline clones.

From-SVN: r159518
2010-05-17 23:12:14 +00:00
Jan Hubicka 922f15c273 cgraph.h (struct ipa_replace_map): Add parm_num parameter.
* cgraph.h (struct ipa_replace_map): Add parm_num parameter.
	* lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
	New functions.
	(output_cgraph): Call output_cgraph_opt_summary.
	(input_cgrpah): Call input_cgraph_opt_summary.
	(output_cgraph_opt_summary_p, output_node_opt_summary,
	input_node_opt_summary, input_cgraph_opt_section): New functions.
	* lto-section-in.c (lto_section_name): Add cgraphopt.
	* tree-inline.c (tree_function_versioning): Handle parm_num.
	* lto-streamer.c (lto_get_section_name): Handle cgraphopt.
	* lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.

From-SVN: r159517
2010-05-17 23:02:47 +00:00
Jan Hubicka 28632d6395 lto.c (lto_materialize_function): Announce function when reading body...
* lto.c (lto_materialize_function): Announce function when
	reading body; allocate_struct_function only when reading body;
	do not finalize local statics; ggc_collect after reading;
	do not mark reachable node.
	(materialize_cgraph): Do not announce function.

From-SVN: r159516
2010-05-17 22:42:02 +00:00
Changpeng Fang d3a9b459b7 Also apply the insn to prefetch ratio heuristic to loops with known trip count.
2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>

	* doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
	* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
	the insn to prefetch ratio heuristic to loops with known trip count.

From-SVN: r159515
2010-05-17 22:34:03 +00:00
Changpeng Fang 8532678c05 Define PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO heuristic.
2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>

	* tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
	(schedule_prefetches): Do not generate a prefetch if the unroll factor
	is far from what is required by the prefetch.

From-SVN: r159514
2010-05-17 22:33:53 +00:00
Jan Hubicka 339f49ec21 ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
* ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
	(ipcp_estimate_growth): Likewise.
	(ipcp_const_param_count): Likewise.
	(ipcp_insert_stage): Likewise.
	* ipa-prop.c (visit_load_for_mod_analysis): New function.
	(visit_store_addr_for_mod_analysis): Set used flag.
	(ipa_detect_param_modifications): Set used flag for SSE params;
	update use of walk_stmt_load_store_addr_ops.
	(ipa_print_node_params): Print used flag.
	(ipa_write_node_info): Stream used flag.
	(ipa_read_node_info): Likewise.
	* ipa-prop.h (struct ipa_param_descriptor): Add used field.
	(ipa_is_param_used): New function.
	(lto_ipa_fixup_call_notes): Remove unused declaration.

From-SVN: r159513
2010-05-17 22:13:07 +00:00
Rainer Orth 2433310da1 re PR target/44074 (Solaris 2.9 x86 Sun assembler doesn't like rep/lock prefixes on same line)
PR target/44074
	* configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/i386/i386.c (print_operand) <case ;>: Also print ; if
	!HAVE_AS_IX86_REP_LOCK_PREFIX.
	Don't emit whitespace.
	* config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
	(*rep_movsi): Likewise.
	(*rep_movsi_rex64): Likewise.
	(*rep_movqi): Likewise.
	(*rep_movqi_rex64): Likewise.
	(*rep_stosdi_rex64): Likewise.
	(*rep_stossi): Likewise.
	(*rep_stossi_rex64): Likewise.
	(*rep_stosqi): Likewise.
	(*rep_stosqi_rex64): Likewise.
	(*cmpstrnqi_nz_1): Use {%;} after repz.
	(*cmpstrnqi_nz_rex_1): Likewise.
	(*cmpstrnqi_1): Likewise.
	(*cmpstrnqi_rex_1): Likewise.
	(*strlenqi_1): Use {%;} after repnz.
	(*strlenqi_rex_1): Likewise.
	* config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
	(*sync_compare_and_swap<mode>): Likewise.
	(sync_double_compare_and_swap<mode>): Likewise.
	(*sync_double_compare_and_swapdi_pic): Likewise.
	(sync_old_add<mode>): Likewise.
	(sync_add<mode>): Likewise.
	(sync_sub<mode>): Likewise.
	(sync_<code><mode>): Likewise.

From-SVN: r159512
2010-05-17 20:28:56 +00:00