Commit Graph

101355 Commits

Author SHA1 Message Date
Richard Guenther
7f5ad6d757 re PR middle-end/44809 (Mozilla build fails in gimplification.)
2010-07-04  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44809
	* gimplify.c (gimplify_expr): Properly build a MEM_REF instead
	of an INDIRECT_REF.

	* g++.dg/torture/pr44809.C: New testcase.

From-SVN: r161803
2010-07-04 16:55:40 +00:00
Richard Guenther
17fc049f34 re PR rtl-optimization/44479 (false dependencies are computed after vectorization)
2010-07-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44479
	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
	extra SSA name copy statements which preserves points-to
	information.
	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
	Copy points-to information for all pointers.  Properly handle
	MEM_REFs.
	(vect_create_data_ref_ptr): Likewise.  Avoid extra SSA name
	copy statements.
	* Makefile.in (tree-ssa-loop-ivopts.o): Add tree-ssa-propagate.h
	dependency.

From-SVN: r161802
2010-07-04 16:08:21 +00:00
Paul Thomas
c9dfc4144a re PR fortran/44596 ([OOP] Dynamic dispatch uses broken types)
2010-07-04  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/44596
	PR fortran/44745
	* trans-types.c (gfc_get_derived_type): Derived type fields
	with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.

From-SVN: r161801
2010-07-04 14:40:34 +00:00
Richard Guenther
72aa3dcaf5 re PR middle-end/44785 (Invalid memory access in gfortran.dg/extends_3.f03)
2010-07-04  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44785
	* tree-inline.c (initialize_inlined_parameters): Do not
	re-use pointer-map slot over remap_type call.

From-SVN: r161800
2010-07-04 12:20:14 +00:00
Richard Guenther
ef2a9157f4 2010-07-4 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.

From-SVN: r161799
2010-07-04 11:38:01 +00:00
Richard Guenther
4fa4929ea8 re PR tree-optimization/44656 (VN should value-replace operands during alias-oracle walk)
2010-07-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44656
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
	again after value-replacing in the defintions lhs.

	* gcc.dg/tree-ssa/loadpre6.c: Remove XFAIL.

From-SVN: r161798
2010-07-04 10:52:43 +00:00
Ira Rosen
720f52395d tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document new arguments.
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
	Document new arguments.
	* doc/tm.texi: Regenerate.
	* targhooks.c (default_builtin_vectorization_cost): Add new arguments.
	Handle unaligned store.
	* targhooks.h (default_builtin_vectorization_cost): Add new arguments.
	* target.def (builtin_vectorization_cost): Add new arguments.
	* target.h (enum vect_cost_for_stmt): Add unaligned_store.
	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Take number
	of iterations of prolog loop directly from LOOP_PEELING_FOR_ALIGNMENT.
	(vect_vfa_segment_size): Fix indentation.
	* tree-vectorizer.h (struct _vect_peel_info): New.
	(struct _vect_peel_extended_info): New.
	(struct _loop_vec_info): Add new field for peeling hash table and a
	macro for its access.
	(VECT_MAX_COST): Define.
	(vect_get_load_cost): Declare.
	(vect_get_store_cost, vect_get_known_peeling_cost, 
	vect_get_single_scalar_iteraion_cost): Likewise.
	(vect_supportable_dr_alignment): Add new argument.
	* tree-vect-loop.c (new_loop_vec_info): Initialize peeling hash table
	field.
	(destroy_loop_vec_info): Free peeling hash table.
	(vect_analyze_loop_form): Update call to builtin_vectorization_cost.
	(vect_analyze_loop): Move vect_enhance_data_refs_alignment before
	vect_analyze_slp. Fix indentation.
	(vect_get_single_scalar_iteraion_cost): New function.
	(vect_get_known_peeling_cost): Likewise.
	(vect_estimate_min_profitable_iters): Rename byte_misalign to npeel. 
	Call vect_get_single_scalar_iteraion_cost instead of cost_for_stmt per 
	statement. Move outside cost calculation inside unknown peeling case.
	Call vect_get_known_peeling_cost for known amount of peeling.
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Add data
	reference to the print message of forced alignment.
	(vect_verify_datarefs_alignment): Update call to 
	vect_supportable_dr_alignment.
	(vect_get_data_access_cost): New function.
	(vect_peeling_hash, vect_peeling_hash_eq, vect_peeling_hash_insert,
	vect_peeling_hash_get_most_frequent, vect_peeling_hash_get_lowest_cost,
	vect_peeling_hash_choose_best_peeling): Likewise.
	(vect_enhance_data_refs_alignment): Fix documentation. Use hash table
	to store all the accesses in the loop and find best possible access to
	align using peeling for known alignment case. For unknown alignment
	check if stores are preferred or if peeling is worthy.
	(vect_find_same_alignment_drs): Analyze pairs of loads too.
	(vect_supportable_dr_alignment): Add new argument and check aligned
	accesses according to it. 
	* tree-vect-stmts.c (vect_get_stmt_cost): New function.
	(cost_for_stmt): Call vect_get_stmt_cost. 
	(vect_model_simple_cost): Likewise.
	(vect_model_store_cost): Call vect_get_stmt_cost. Call 
	vect_get_store_cost to calculate the cost of the statement.
	(vect_get_store_cost): New function.
	(vect_model_load_cost): Call vect_get_stmt_cost. Call 
	vect_get_load_cost to calculate the cost of the statement.
	(vect_get_load_cost): New function.
	(vectorizable_store): Update call to vect_supportable_dr_alignment.
	(vectorizable_load): Likewise.
	* config/spu/spu.c (spu_builtin_vectorization_cost): Add new
	arguments. 
	* config/i386/i386.c (ix86_builtin_vectorization_cost): Add new
	arguments. Handle unaligned store.
	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): New.
	(rs6000_builtin_support_vector_misalignment): Return true for word and
	double word alignments for VSX.
	* tree-vect-slp.c (vect_build_slp_tree): Update calls to 
	vect_supportable_dr_alignment and builtin_vectorization_cost.


Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r161797
2010-07-04 08:54:52 +00:00
GCC Administrator
addced2e92 Daily bump.
From-SVN: r161795
2010-07-04 00:17:09 +00:00
H.J. Lu
24b93bd603 Add a testcase for PR 44806.
2010-07-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR c/44806
	* gcc.dg/torture/pr44806.c: New.

From-SVN: r161787
2010-07-03 15:44:32 -07:00
John David Anglin
d3ca3d6bd7 re PR target/44597 (FAIL: gcc.c-torture/execute/builtin-prefetch-2.c compilation, ICE)
PR target/44597
	* config/pa/predicates.md (prefetch_cc_operand): Remove.
	(prefetch_nocc_operand): Likewise.
	* config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
	(prefetch_20): New insn.
	(prefetch_cc): Remove.
	(prefetch_nocc): Likewise.

From-SVN: r161786
2010-07-03 22:43:47 +00:00
Manuel López-Ibáñez
4d451982e3 c-common.c (IN_GCC_FRONTEND): Do not undef.
2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
	Do not include expr.h
	(vector_mode_valid_p): Move here.
	* expr.c (vector_mode_valid_p): Move to c-common.c.
	* expr.h (vector_mode_valid_p): Do not declare here.
	* system.h: Poison GCC_EXPR_H in front-ends.
	* Makefile.in: Update dependencies.

From-SVN: r161785
2010-07-03 21:17:46 +00:00
John David Anglin
3a0c7e3af1 re PR target/44705 (FAIL: gcc.dg/pr44674.c (internal compiler error))
PR target/44705
	* config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.

From-SVN: r161781
2010-07-03 20:28:44 +00:00
Steven Bosscher
119fe9156d Move c-family/* ChangeLog entries to their proper place.
From-SVN: r161780
2010-07-03 20:09:45 +00:00
Jan Hubicka
f029db6980 timevar.def (TV_OUT_OF_SSA, [...]): New timevars.
* timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
	TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
	* cfgexpand.c (gimple_expand_cfg): Use new timevars.
	* var-tracking.c (vt_find_locations, variable_tracking_main_1):
	Likewise.

	* lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
	Update timevars.V
	* timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
	(TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
	TV_IPA_LTO_DECL_OUT): New.
	* lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.

From-SVN: r161779
2010-07-03 19:34:30 +00:00
Jan Hubicka
9b8051b48a ipa-inline.c (update_edge_key): Break out from ...
* ipa-inline.c (update_edge_key): Break out from ...
	update_callers_keys): ... here;
	(update_callee_keys): Update only the edges from caller to callee.
	(update_all_calle_keys): Do what update_calle_keys did.
	(decide_inlining_of_small_functions): Avoid recomputing of all
	callees when badness increase.

From-SVN: r161778
2010-07-03 19:33:14 +00:00
Nathan Froyd
3e78185c79 re PR objc/24867 (many N^2 loops in objc frontend)
PR objc/24867
	* objc-act.c (build_sized_array_type): New function.
	(add_objc_string): Use it.
	(generate_protocol_list): Likewise.
	(generate_objc_image_info): Likewise.
	(add_field_decl): New function.
	(objc_build_struct): Use a VEC rather than building a TREE_LIST.
	(generate_struct_by_value_array): Use add_field_decl.
	(build_objc_symtab_template): Likewise.
	(build_module_descriptor): Likewise.
	(build_objc_exception_stuff): Likewise.
	(build_protocol_template): Likewise.
	(build_method_prototype_list_template): Likewise.
	(build_method_prototype_template): Likewise.
	(build_category_template): Likewise.
	(build_selector_template): Likewise.
	(build_class_template): Likewise.
	(build_super_template): Likewise.
	(build_ivar_template): Likewise.
	(build_ivar_list_template): Likewise.
	(build_method_list_template): Likewise.
	(build_method_template): Likewise.

From-SVN: r161777
2010-07-03 19:00:52 +00:00
Jie Zhang
7c4f0041b0 arm.c (arm_attr_length_move_neon): New.
* config/arm/arm.c (arm_attr_length_move_neon): New.
	* config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
	* config/arm/neon.md (define_mode_attr V_slen): Remove.
	(neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
	to compute length attribute.

From-SVN: r161776
2010-07-03 16:49:05 +00:00
Jie Zhang
4e6f5666ac vfp.md (*push_multi_vfp): Use vfp_register_operand as predicate for operand 1 and remove its constraint.
* config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
	as predicate for operand 1 and remove its constraint.
	* config/arm/predicates.md (vfp_register_operand): New.
	* config/arm/arm.md (*push_multi): Remove the constraint of
	operand 1.
	(*push_fp_multi): Likewise.

From-SVN: r161775
2010-07-03 16:35:02 +00:00
Eric Botcazou
6687b74039 * gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.
From-SVN: r161774
2010-07-03 13:14:48 +00:00
Jonathan Wakely
21ffc3f709 regex_compiler.h: Fix filename in doxygen comment.
2010-07-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/regex_compiler.h: Fix filename in doxygen comment.
	* include/bits/regex_constants.h: Likewise.
	* include/bits/regex_error.h: Likewise.
	* include/bits/regex_grep_matcher.h: Likewise.
	* include/bits/regex_grep_matcher.tcc: Likewise.
	* include/bits/regex_nfa.tcc: Likewise.

From-SVN: r161773
2010-07-03 13:35:03 +01:00
Jan Hubicka
bd7f30a156 * config/i386/i386.c (override_options): Revert accidental commit.
From-SVN: r161772
2010-07-03 11:55:30 +00:00
Kai Tietz
3e26ba50da Add missing e-mail address.
From-SVN: r161771
2010-07-03 12:30:52 +02:00
Eric Botcazou
40d1f6afc1 decl.c (gnat_to_gnu_entity): Branch to common code handling the alignment of discrete types.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
	Branch to common code handling the alignment of discrete types.
	<E_Signed_Integer_Type>: Likewise.
	<E_Modular_Integer_Type>: Likewise.

From-SVN: r161770
2010-07-03 09:54:13 +00:00
Iain Sandoe
cb5eb94e1c re PR testsuite/44518 (objc++ encode-2.mm and encode-3.mm fail on several platforms)
2010-07-03  Iain Sandoe  <iains@gcc.gnu.org>
	    Mikael Pettersson  <mikpe@it.uu.se>

        PR testsuite/44518
	* obj-c++.dg/encode-2.mm: Produce object and save temps.
	Make signed-ness of chars explicit.  Scan the object for
	strings that are split by some target assemblers.
	* obj-c++.dg/encode-3.mm: Make the signed-ness of chars
	explicit.


Co-Authored-By: Mikael Pettersson <mikpe@it.uu.se>

From-SVN: r161769
2010-07-03 08:15:59 +00:00
Eric Botcazou
e2cb8da267 Fix long lines
From-SVN: r161768
2010-07-03 06:23:09 +00:00
Hans-Peter Nilsson
d9e7913ca2 * gfortran.dg/char_bounds_check_fail_1.f90: Correct dg-output string.
From-SVN: r161767
2010-07-03 06:07:59 +00:00
Le-Chun Wu
3f59fa1c96 invoke.texi: Update documentation of -Wshadow.
PR/44128
       * gcc/doc/invoke.texi: Update documentation of -Wshadow.
       * gcc/cp/name-lookup.c (pushdecl_maybe_friend): Warn when a local
       decl (variable or type) shadows another type.
       * gcc/testsuite/g++.dg/warn/Wshadow-7.C: New test.

From-SVN: r161765
2010-07-03 01:10:06 +00:00
Daniel Jacobowitz
73160ba9dc arm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons.
2010-07-02  Daniel Jacobowitz  <dan@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>
	    Sandra Loosemore <sandra@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
	comparisons.  Adjust to take both operands.
	(arm_select_cc_mode): Handle DImode comparisons.
	(arm_gen_compare_reg): Generate a scratch register for DImode
	comparisons which require one.  Use xor for Thumb equality checks.
	(arm_const_double_by_immediates): New.
	(arm_print_operand): Allow 'Q' and 'R' for constants.
	(get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
	* config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
	arm_canonicalize_comparison.
	* config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
	* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
	prototype.
	(arm_const_double_by_immediates): Declare.
	* config/arm/constraints.md (Di): New constraint.
	* config/arm/predicates.md (arm_immediate_di_operand)
	(arm_di_operand, cmpdi_operand): New.
	* config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
	(*arm_cmpdi_insn, *arm_cmpdi_unsigned)
	(*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
	(cstoredi4): Handle non-Cirrus also.

	gcc/testsuite/
	* gcc.c-torture/execute/20100416-1.c: New test case.


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

From-SVN: r161764
2010-07-02 21:00:37 -04:00
Julian Brown
400cfcf50e re PR target/43703 (Unexpected floating point precision loss due to ARM NEON autovectorization)
2010-07-02  Julian Brown  <julian@codesourcery.com>
	    Sandra Loosemore <sandra@codesourcery.com>

	PR target/43703

	gcc/
	* config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3)
	(smax<mode>3): Disable for NEON float modes when
	flag_unsafe_math_optimizations is false.
	* config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon)
	(*mul<mode>3_neon)
	(mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon)
	(reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable
	for NEON float modes when flag_unsafe_math_optimizations is false.
	(quad_halves_<code>v4sf): Only enable if flag_unsafe_math_optimizations
	is true.
	* doc/invoke.texi (ARM Options): Add note about floating point
	vectorization requiring -funsafe-math-optimizations.

	gcc/testsuite/
	* gcc.dg/vect/vect.exp: Add -ffast-math for NEON.
	* gcc.dg/vect/vect-reduc-6.c: Add XFAIL for NEON.



Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r161763
2010-07-02 20:46:51 -04:00
Sandra Loosemore
bab53516d0 neon.md (UNSPEC_VABA): Delete.
2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/neon.md (UNSPEC_VABA): Delete.
	(UNSPEC_VABAL): Delete.
	(UNSPEC_VABS): Delete.
	(UNSPEC_VMUL_N): Delete.
	(adddi3_neon): New.
	(subdi3_neon): New.
	(mul<mode>3add<mode>_neon): Make the pattern named.
	(mul<mode>3neg<mode>add<mode>_neon): Likewise.
	(neon_vadd<mode>): Replace with define_expand, and move the remaining
	unspec parts...
	(neon_vadd<mode>_unspec): ...to this.
	(neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
	(neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
	(neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
	(neon_vaba<mode>): Rewrite in terms of vabd.
	(neon_vabal<mode>): Rewrite in terms of vabdl.
	(neon_vabs<mode>): Rewrite without unspec.
	* config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
	(*arm_subdi3): Likewise.
	* config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
	No_op attribute to disable assembly output checks.
	* config/arm/arm_neon.h: Regenerated.
	* doc/arm-neon-intrinsics.texi: Regenerated.

	gcc/testsuite/
	* gcc.target/arm/neon/vadds64.c: Regenerated.
	* gcc.target/arm/neon/vaddu64.c: Regenerated.
	* gcc.target/arm/neon/vsubs64.c: Regenerated.
	* gcc.target/arm/neon/vsubu64.c: Regenerated.
	* gcc.target/arm/neon-vmla-1.c: Add -ffast-math to options.
	* gcc.target/arm/neon-vmls-1.c: Likewise.
	* gcc.target/arm/neon-vsubs64.c: New execution test.
	* gcc.target/arm/neon-vsubu64.c: New execution test.
	* gcc.target/arm/neon-vadds64.c: New execution test.
	* gcc.target/arm/neon-vaddu64.c: New execution test.

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

From-SVN: r161762
2010-07-02 20:31:43 -04:00
GCC Administrator
b614e5669e Daily bump.
From-SVN: r161760
2010-07-03 00:18:48 +00:00
Jan Hubicka
556e9ba028 ipa-split.c (split_function): For aggregate values set return_slot_opt...
* ipa-split.c (split_function): For aggregate values set return_slot_opt;
	when passing DECL_BY_REFERENCE produce *<retval> = fncall.part ()
	(execute_split_functions): Do not care about DECL_BY_REFERENCE.

From-SVN: r161756
2010-07-02 23:38:19 +00:00
Sandra Loosemore
b3b7bbce43 neon.md (UNSPEC_VAND): Delete.
2010-07-02  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/neon.md (UNSPEC_VAND): Delete.
	(UNSPEC_VBIC): Delete.
	(UNSPEC_VCLZ): Delete.
	(UNSPEC_VCNT): Delete.
	(UNSPEC_VEOR): Delete.
	(UNSPEC_VORN): Delete.
	(UNSPEC_VORR): Delete.
	(iordi3_neon): Rewrite RTL without unspec.  Add alternatives to handle
	core registers too.
	(anddi3_neon): Likewise.
	(orndi3_neon): Likewise.
	(bicdi3_neon): Likewise.
	(xordi3_neon): Likewise.
	(neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
	rid of unspec and handle unused operand.
	(neon_vcnt<mode>): Similarly, with popcount<mode>2.
	* config/arm/predicates.md (imm_for_neon_logic_operand):
	Require TARGET_NEON.
	(imm_for_neon_inv_logic_operand): Likewise.
	* config/arm/arm.md (define_split for logical_binary_operator): 
	Disable for NEON registers.
	(anddi3): Add new define_expand, and rename the insn.  Disable
	this insn for NEON, where anddi3_neon now applies.
	(*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
	(iordi3): As for anddi3.
	(xordi3): Likewise.
	* config/arm/neon.ml (Vand): Split DImode variants and mark them
	as No_op to disable testing for exact instruction match.
	(Vorr): Likewise.
	(Veor): Likewise.
	(Vbic): Likewise.
	(Vorn): Likewise.
	* config/arm/arm_neon.h: Regenerated.
	* doc/arm-neon-intrinsics.texi: Regenerated.

	gcc/testsuite/
	* gcc.target/arm/neon-vands64.c: New.
	* gcc.target/arm/neon-vandu64.c: New.
	* gcc.target/arm/neon-vbics64.c: New.
	* gcc.target/arm/neon-vbicu64.c: New.
	* gcc.target/arm/neon-veors64.c: New.
	* gcc.target/arm/neon-veoru64.c: New.
	* gcc.target/arm/neon-vorns64.c: New.
	* gcc.target/arm/neon-vornu64.c: New.
	* gcc.target/arm/neon-vorrs64.c: New.
	* gcc.target/arm/neon-vorru64.c: New.
	* gcc.target/arm/neon/vands64.c: Regenerated.
	* gcc.target/arm/neon/vandu64.c: Regenerated.
	* gcc.target/arm/neon/vbics64.c: Regenerated.
	* gcc.target/arm/neon/vbicu64.c: Regenerated.
	* gcc.target/arm/neon/veors64.c: Regenerated.
	* gcc.target/arm/neon/veoru64.c: Regenerated.
	* gcc.target/arm/neon/vorns64.c: Regenerated.
	* gcc.target/arm/neon/vornu64.c: Regenerated.
	* gcc.target/arm/neon/vorrs64.c: Regenerated.
	* gcc.target/arm/neon/vorru64.c: Regenerated.

From-SVN: r161755
2010-07-02 19:16:35 -04:00
Eric Botcazou
f4a4b582ca Minor fixes
From-SVN: r161751
2010-07-02 21:38:40 +00:00
Eric Botcazou
260c8ba389 expr.h (emit_stack_probe): Declare.
* expr.h (emit_stack_probe): Declare.
	* explow.c (emit_stack_probe): Make global.
	(anti_adjust_stack_and_probe): Fix comments.
	* config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
	* config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	* config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	* config/sparc/sparc.c: Include except.h.
	(sparc_emit_probe_stack_range): New function.
	(output_probe_stack_range): Likewise.
	(sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static
	built-in stack checking is enabled.
	* config/sparc/sparc-protos.h (output_probe_stack_range): Declare.
	* config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant.
	(probe_stack_range): New insn.

From-SVN: r161749
2010-07-02 21:25:28 +00:00
Jerry DeLisle
8c54dc55ef runtime_warning_1.f90: Remove extra dg line.
2010-07-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.dg/runtime_warning_1.f90: Remove extra dg line.

From-SVN: r161747
2010-07-02 20:57:08 +00:00
Richard Guenther
e4f1aef136 re PR target/43958 (FAIL: gcc.dg/ipa/ipa-pta-10.c scan-ipa-dump pta "ESCAPED = { }")
PR target/43958
	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
	for argument alignment.

From-SVN: r161746
2010-07-02 20:51:58 +00:00
Jerry DeLisle
1b9d45ed41 runtime_warning_1.f90: Fix dg syntax.
2010-07-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.dg/runtime_warning_1.f90: Fix dg syntax.
	* gfortran.dg/intent_out_5.f90: Same.
	* gfortran.dg/ltrans-7.f90: Same.
	* gfortran.dg/char_bounds_check_fail_1.f90: Same.

From-SVN: r161745
2010-07-02 20:51:50 +00:00
Jan Hubicka
2094f1fcd6 ipa-split.c (verify_non_ssa_vars): Break out from ......
* ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS walk
	backwards from entry_bb to check only those basic block of header
	that might lead to execution of split part.
	(consider_split) ... here.
	(find_return_bb): Allow assignment in return BB.
	(find_retval): New.
	(split_function): Fix name of cloned function; take care of updating return
	value in return_bb containing move.

	* gcc.dg/tree-ssa/ipa-split-5.c: New function.

From-SVN: r161744
2010-07-02 20:45:00 +00:00
Iain Sandoe
c21ae2bfce Object1.h: Correct Line endings.
* objc-obj-c++-shared/Object1.h: Correct Line endings.

From-SVN: r161743
2010-07-02 20:34:27 +00:00
Jakub Jelinek
416f380b0d re PR c++/44780 (Bogus set-but-not-used variable warning)
PR c++/44780
	* typeck.c (convert_for_assignment): When converting a convertible
	vector type or objc++ types, call mark_rvalue_use.
	* typeck2.c (build_m_component_ref): Use return values from
	mark_rvalue_use or mark_lvalue_use.
	* class.c (build_base_path): Likewise.
	* call.c (build_conditional_expr): Likewise.

	* c-c++-common/Wunused-var-12.c: New test.

From-SVN: r161742
2010-07-02 22:22:32 +02:00
Andreas Schwab
2dc8bd762e re PR target/44771 (m68k_expand_prologue: variable set but not used)
PR target/44771
* config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
used variable insn.

From-SVN: r161741
2010-07-02 20:15:59 +00:00
Mikael Morin
ff5b6492be re PR fortran/44662 (unitialized memory on testcases abstract_type_6.f03 and typebound_call_4.f03)
2010-07-02  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/44662
	* decl.c (match_procedure_in_type): Clear structure before using.
	(gfc_match_generic): Ditto.

From-SVN: r161739
2010-07-02 20:01:05 +00:00
Nathan Froyd
dfd6ece2cb trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
* trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
	* trans-types.c (gfc_add_field_to_struct_1): New function, most
	of which comes from...
	(gfc_add_field_to_struct): ...here.  Call it.  Add new parameter.
	(gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
	building fields.
	(gfc_get_array_descriptor_base): Likewise.
	(gfc_get_mixed_entry_union): Likewise.
	(gfc_get_derived_type): Add extra chain parameter for
	gfc_add_field_to_struct.
	* trans-stmt.c (gfc_trans_character_select): Likewise.
	* trans-io.c (gfc_build_st_parameter): Likewise.

From-SVN: r161738
2010-07-02 19:53:24 +00:00
Eric Botcazou
0acba2b4cc implicit-zee.c (combine_reaching_defs): Fix long lines.
* implicit-zee.c (combine_reaching_defs): Fix long lines.
	(is_set_with_extension_DI): Delete.
	(struct zero_extend_info): New structure.
	(add_removable_zero_extend ): New function.
	(find_removable_zero_extends): Use note_stores to find SETs.
	(find_and_remove_ze): Fix long line, remove superfluous parentheses.

From-SVN: r161736
2010-07-02 19:25:30 +00:00
Tobias Burnus
7a0208b791 re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
2010-06-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43298
        * list_read.c (parse_real): Do not pass (..) on for NAN(..).
        * read.c (convert_real): Fix comment about NAN/INF.

From-SVN: r161735
2010-07-02 21:07:30 +02:00
Jakub Jelinek
f0ee5e3e2a Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
	* Makefile.in: Regenerated.

From-SVN: r161731
2010-07-02 18:52:38 +02:00
Sebastian Pop
f3e3b4762b Script to check patches violating the GNU style.
2010-07-02  Sebastian Pop  <sebastian.pop@amd.com>

	* check_GNU_style.sh: New.

From-SVN: r161729
2010-07-02 16:34:55 +00:00
Changpeng Fang
14e444c392 Reduce the cost in miss rate computation.
2010-07-02  Changpeng Fang  <changpeng.fang@amd.com>

	* tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
	is_miss_rate_acceptable. Pull total_positions computation
	out of the loops.  Early return if miss_positions exceeds
	the acceptable threshold.
	* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
	is_miss_rate_acceptable after renaming of compute_miss_rate.

From-SVN: r161728
2010-07-02 16:34:38 +00:00
Changpeng Fang
a245c04bcc PR 44576: miss rate computation improvement for prefetching loop arrays.
2010-07-02  Changpeng Fang  <changpeng.fang@amd.com>

	PR middle-end/44576
	* tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
	of 1000) for miss rate if the address diference is greater than or
	equal to the cache line size (the two reference will never hit the
	same cache line).

From-SVN: r161727
2010-07-02 16:34:29 +00:00