Commit Graph

101377 Commits

Author SHA1 Message Date
Nathan Froyd
989ea525be vec.h (VEC_splice, [...]): New macros.
gcc/
	* vec.h (VEC_splice, VEC_safe_splice): New macros.  Add function
	implementations.

gcc/fortran/
	* trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree.
	* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new
	type of gfc_conv_procedure_call.
	(conv_generic_with_optional_char_arg): Likewise.
	* trans-stmt.c (gfc_trans_call): Likewise.
	* trans-expr.c (gfc_conv_function_expr): Likewise.
	(gfc_conv_procedure_call): Use build_call_vec instead of
	build_call_list.

From-SVN: r161834
2010-07-05 12:46:52 +00:00
Bernd Schmidt
7ec6356e22 arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
* config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
	* arm-modes.def (CC_NOTB): Don't define.
	* config/arm/arm.md (arm_adddi3): Generate canonical RTL.
	(adddi_sesidi_di, adddi_zesidi_di): Likewise.
	(LTUGEU): New code_iterator.
	(cnb, optab): New corresponding code_attrs.
	(addsi3_carryin_<optab>): Renamed from addsi3_carryin.  Change pattern
	to canonical form.  Operands 1 and 2 are commutative.  Parametrize
	using LTUGEU.
	(addsi3_carryin_shift_<optab>): Likewise.
	(addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
	Operands 1 and 2 are commutative.  Parametrize using LTUGEU.
	(addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
	(subsi3_compare): Renamed from subsi3_compare0_c.  Change CC_NOTB to
	CC.
	(arm_subsi3_insn): Allow constants for operand 0.
	(compare_scc peephole for eq case): New.
	(compare_scc splitters): Change CC_NOTB to CC.

From-SVN: r161831
2010-07-05 12:36:21 +00:00
Richard Guenther
75421dcdc6 tree-ssa-loop-im.c (for_each_index): Do not handle ALIGN_INDIRECT_REF.
2010-07-05  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-loop-im.c (for_each_index): Do not handle
	ALIGN_INDIRECT_REF.
	(gen_lsm_tmp_name): Likewise.
	* tree-dump.c (dequeue_and_dump): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	(op_code_prio): Likewise.
	(op_symbol_code): Likewise.
	* tree.c (staticp): Likewise.
	(build1_stat): Likewise.
	* tree.h (INDIRECT_REF_P): Likewise.
	* fold-const.c (maybe_lvalue_p): Likewise.
	(operand_equal_p): Likewise.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
	(ao_ref_init_from_vn_reference): Likewise.
	* tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
	(find_interesting_uses_address): Likewise.
	* dwarf2out.c (loc_list_from_tree): Likewise.
	* gimplify.c (gimplify_expr): Likewise.
	* tree-eh.c (tree_could_trap_p): Likewise.
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
	* cfgexpand.c (expand_debug_expr): Likewise.
	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
	* tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
	* config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
	* tree-ssa-operands.c (get_expr_operands): Likewise.
	* expr.c (safe_from_p): Likewise.
	(expand_expr_real_1): Likewise.  TER BIT_AND_EXPRs into MEM_REFs.
	* tree-vect-data-refs.c (vect_setup_realignment): Build
	BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
	* tree-vect-stmts.c (vectorizable_load): Likewise.
	* tree.def (ALIGN_INDIRECT_REF): Remove.

From-SVN: r161830
2010-07-05 12:25:20 +00:00
Richard Guenther
5d65726326 re PR middle-end/44784 (Failed to build 403.gcc in SPEC CPU 2006)
2010-07-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44784
	* tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
	for inserted stmts.
	(find_or_generate_expression): Fix SCCVN insertion check.

	* gcc.c-torture/compile/pr44784.c: New testcase.

From-SVN: r161829
2010-07-05 12:20:00 +00:00
Nathan Sidwell
3cd0d4fa96 e500crtsavg64gprctr.asm: Correct done label name.
* config/rs6000/e500crtsavg64gprctr.asm: Correct done label name.
	* config/rs6000/e500crtsav64gprctr.asm: Likewise.
	* config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END
	directives.

From-SVN: r161828
2010-07-05 11:01:43 +00:00
Ira Rosen
9940b13ce7 tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip statements that are not vectorized.
* tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip
	statements that are not vectorized.
	* tree-vect-stmts.c (vect_get_load_cost): Update the value stored
	in INSIDE_COST.

From-SVN: r161827
2010-07-05 10:41:25 +00:00
Paolo Carlini
394473ab8e pt.c (tsubst): Early declare code = TREE_CODE (t) and use it throughout.
2010-07-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (tsubst): Early declare code = TREE_CODE (t) and use it
	throughout.

From-SVN: r161825
2010-07-05 09:55:43 +00:00
Mikael Pettersson
e4dde839da re PR bootstrap/44820 (ARM bootstrap failure: regno set but unused in arm_attr_length_move_neon)
2010-07-05  Mikael Pettersson  <mikpe@it.uu.se>

	PR bootstrap/44820
	* config/arm/arm.c (arm_attr_length_move_neon): Delete regno.

From-SVN: r161822
2010-07-05 09:11:39 +00:00
Richard Biener
e3061843d8 tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE RESULT_DECLs properly.
2010-07-05  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE
	RESULT_DECLs properly.

From-SVN: r161821
2010-07-05 09:04:44 +00:00
Ira Rosen
5bb120900a costmodel-vect-31d.c: Remove.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31d.c: Remove.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-76a.c: Increase loop bound.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Likewise.
	* gcc.dg/vect/costmodel/ppc/costmodel-vect-68d.c: Remove.
	* gcc.dg/vect/pr35821-altivec.c, gcc.dg/vect/pr35821-spu.c: Likewise.

From-SVN: r161819
2010-07-05 06:48:32 +00:00
Shujing Zhao
6698dd72f7 re PR c++/22138 (Better error message for rejecting local template declaration.)
gcc/cp/
2010-07-05  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c++/22138
        * parser.c (cp_parser_primary_expression): Error if local template is
        declared.

gcc/testsuite/
2010-07-05  Shujing Zhao  <pearly.zhao@oracle.com>

        PR c++/22138
        * g++.dg/parse/template25.C: New.

From-SVN: r161818
2010-07-05 05:36:02 +00:00
GCC Administrator
d42d62c835 Daily bump.
From-SVN: r161817
2010-07-05 00:17:17 +00:00
H.J. Lu
c2a78352e5 Change 8bit divmod to HImode.
gcc/

2010-07-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR rtl-optimization/44695
	* config/i386/i386.md (extract_code): Removed.
	(<u>divmodqi4): Likewise.
	(divmodqi4): New.
	(udivmodqi4): Likewise.
	(divmodhiqi3): Change div/mod to HImode and extend operand 2 to
	HImode.
	(udivmodhiqi3): Likewise.

gcc/testsuite/

2010-07-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR rtl-optimization/44695
	* gcc.dg/torture/pr44695.c: New.

From-SVN: r161813
2010-07-04 16:18:06 -07:00
Jan Hubicka
4aa1c0d592 * lto-cgraph.c (input_edge): Do not care about resolution decisions.
From-SVN: r161812
2010-07-04 22:22:48 +00:00
Jan Hubicka
a05541a911 cgraphunit.c (init_cgraph): Only initialize dump file if it is not already initialized.
* cgraphunit.c (init_cgraph): Only initialize dump file if it is not already
        initialized.
        * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.

From-SVN: r161811
2010-07-04 22:21:39 +00:00
Richard Sandiford
f9621cc477 gcc/
* optabs.h (reload_in_optab, reload_out_optab, code_to_optab)
	(vcond_gen_code, vcondu_gen_code, movmem_optab, setmem_optab)
	(cmpstr_optab, cmpstrn_optab, cmpmem_optab, sync_add_optab)
	(sync_sub_optab, sync_ior_optab, sync_and_optab, sync_xor_optab)
	(sync_nand_optab, sync_old_add_optab, sync_old_sub_optab)
	(sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab)
	(sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab)
	(sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab)
	(sync_new_nand_optab): Redefine as macros.
	(sync_compare_and_swap, sync_lock_test_and_set, sync_lock_release):
	Delete.
	(direct_optab_index): New enum.
	(direct_optab_d): New structure.
	(direct_optab): New typedef.
	(direct_optab_table): Declare.
	(direct_optab_handler, set_direct_optab_handler): New functions.
	(sync_compare_and_swap_optab, sync_lock_test_and_set_optab)
	(sync_lock_release_optab): New macros.
	* optabs.c (direct_optab_table): New variable.
	(movcc_gen_code, vcond_gen_code, vcondu_gen_code): Delete.
	(prepare_cmp_insn): Use direct_optab_handler for cmpmem_optab,
	cmpstr_optab and cmpstrn_optab.
	(emit_conditional_move): Likewise for movcc_optab.
	(can_conditionally_move_p): Likewise for movcc_gen_code.
	(init_insn_codes): Clear direct_optab_table.
	(init_optabs): Don't initialize the new "direct optabs" here.
	(get_vcond_icode): Use direct_optab_handler for vcondu_gen_code and
	vcond_gen_code.
	(expand_val_compare_and_swap): Likewise sync_compare_and_swap_optab.
	(expand_bool_compare_and_swap): Likewise sync_compare_and_swap_optab.
	(expand_compare_and_swap_loop): Likewise sync_compare_and_swap_optab.
	(expand_sync_operation): Likewise other sync_*_optabs.
	(expand_sync_fetch_operation): Likewise.  Rename sync_compare_and_swap
	to sync_compare_and_swap_optab.
	(expand_sync_lock_test_and_set): Use direct_optab_handler for
	sync_lock_test_and_set and sync_compare_and_swap, adding "_optab"
	to the names of both.
	* builtins.c (expand_builtin_strcmp): Use direct_optab_handler for
	cmpstr_optab and cmpstrn_optab.
	(expand_builtin_lock_release): Likewise sync_lock_release.
	* expr.c (movmem_optab, setmem_optab, cmpstr_optab, cmpstrn_optab)
	(cmpmem_optab, sync_add_optab, sync_sub_optab, sync_ior_optab)
	(sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab)
	(sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab)
	(sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab)
	(sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab)
	(sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap)
	(sync_lock_test_and_set, sync_lock_release): Delete.
	(emit_block_move_via_movmem): Use direct_optab_handler for movmem_optab.
	(emit_block_move_via_setmem): Use direct_optab_handler for setmem_optab.
	* genopinit.c (optabs): Use set_direct_optab_handler for the new
	macro optabs.
	* omp-low.c (expand_omp_atomic_fetch_op): Update the type of
	the "optab" local variable.  Use direct_optab_handler for optab and
	sync_compare_and_swap_optab.
	* reload1.c (reload_in_optab, reload_out_optab): Delete.
	* targhooks.c (default_secondary_reload): Use direct_optab_handler for
	reload_in_optab and reload_out_optab.
	* config/alpha/alpha.c (alpha_secondary_reload): Likewise.
	* config/frv/frv.c (frv_alloc_temp_reg): Likewise.
	* config/pa/pa.c (pa_secondary_reload): Likewise.
	* java/builtins.c (compareAndSwapInt_builtin): Use direct_optab_handler
	for sync_compare_and_swap, renaming it to sync_compare_and_swap_optab.
	(compareAndSwapLong_builtin, compareAndSwapObject_builtin): Likewise.
	(VMSupportsCS8_builtin): Likewise.

From-SVN: r161810
2010-07-04 22:14:56 +00:00
Richard Sandiford
596455ce05 optabs.h (optab_handlers): Change type of insn_code to int.
gcc/
	* optabs.h (optab_handlers): Change type of insn_code to int.
	(optab_handler, set_optab_handler, convert_optab_handler)
	(set_convert_optab_handler): Treat the insn_code field as "insn_code -
	CODE_FOR_nothing".
	* optabs.c (optab_table, convert_optab_table): Always zero-initialize.
	(init_insn_codes): Zero both the above arrays.
	(init_optabs): Never call init_insn_codes first time around.

From-SVN: r161809
2010-07-04 22:14:02 +00:00
Richard Sandiford
947131ba4e optabs.h (optab_handler, [...]): Turn into inline functions that return an insn code.
gcc/
	* optabs.h (optab_handler, convert_optab_handler): Turn into
	inline functions that return an insn code.
	(set_optab_handler, set_convert_optab_handler): New functions.
	* builtins.c: Replace optab_handler(X)->insn_code with
	optab_handler or set_optab_handler thoughout.  Likewise
	convert_optab_handler(X)->insn_code with convert_optab_handler
	and set_convert_optab_handler.
	* expmed.c, expr.c, genopinit.c, ifcvt.c, optabs.c, reload.c,
	reload1.c, stmt.c, targhooks.c, tree-ssa-loop-prefetch.c,
	tree-ssa-math-opts.c, tree-vect-data-refs.c, tree-vect-generic.c,
	tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
	tree-vect-stmts.c, config/m32c/m32c.c, config/rs6000/rs6000.c,
	config/spu/spu.c: Likewise.

From-SVN: r161808
2010-07-04 22:13:09 +00:00
Kaz Kojima
47e5ff44cc re PR target/44531 ([SH] Multilib configuration does not work as expected on darwin)
PR target/44531
	* config.gcc (sh*-*-*): Use regular expressions instead of
	the 'i' modifier for sed substitutions.

From-SVN: r161807
2010-07-04 22:07:29 +00:00
Daniel Kraft
b8e0aa859d gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.
2010-07-04  Daniel Kraft  <d@domob.eu>

	* gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.

From-SVN: r161806
2010-07-04 20:59:10 +02:00
Manuel López-Ibáñez
de8e41bca8 re PR c++/16630 (missing type name in __PRETTY_FUNCTION__)
2010-07-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/16630
	* g++.dg/ext/pretty3.C: New.

From-SVN: r161805
2010-07-04 18:16:59 +00:00
Jeremie Salvucci
abbd64b92a gimple.c (gimple_body): Comments added.
2010-07-04  Jeremie Salvucci  <jeremie.salvucci@free.fr>

	* gimple.c (gimple_body): Comments added.

From-SVN: r161804
2010-07-04 17:59:18 +00:00
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