Commit Graph

117873 Commits

Author SHA1 Message Date
Arnaud Charlet f691d19f9e [multiple changes]
2012-07-16  Vasiliy Fofanov  <fofanov@adacore.com>

	* ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
	switches.

2012-07-16  Bob Duff  <duff@adacore.com>

	* sinfo.ads: Minor comment fix.

2012-07-16  Bob Duff  <duff@adacore.com>

	* sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
	find pragmas Elaborate_All that may be found in the transitive
	closure of the dependences.

From-SVN: r189517
2012-07-16 12:52:21 +02:00
Robert Dewar b3408631f7 exp_pakd.adb, [...]: Minor reformatting.
2012-07-16  Robert Dewar  <dewar@adacore.com>

	* exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
	reformatting.

From-SVN: r189516
2012-07-16 12:49:46 +02:00
Janus Weil 8bae3cefeb re PR fortran/53956 ([F03] PROCEDURE w/ interface: Bogus "EXTERNAL attribute conflicts with FUNCTION attribute")
2012-07-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/53956
	* gfortran.h (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Modified
	prototypes.
	* symbol.c (gfc_copy_formal_args): New argument 'if_src'. Copy if_source
	of dummy procedures.
	(gfc_copy_formal_args_ppc): Ditto.
	* resolve.c (resolve_procedure_interface): Pass IFSRC_DECL to
	gfc_copy_formal_args.
	(resolve_fl_derived0): Pass IFSRC_DECL to gfc_copy_formal_args_ppc.


2012-07-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/53956
	* gfortran.dg/proc_decl_28.f90: New.

From-SVN: r189514
2012-07-16 12:13:19 +02:00
Sergey Melnikov d923fe0f01 i386.md (stack_protect_set): Disable the pattern for Android since Android libc (bionic) does not provide...
2012-07-16 Sergey Melnikov <sergey.melnikov@intel.com>

        * config/i386/i386.md (stack_protect_set): Disable the pattern
        for Android since Android libc (bionic) does not provide random
        value for stack protection guard at gs:0x14. Guard value
        will be provided from external symbol (default implementation).
        (stack_protect_set_<mode>): Likewise.
        (stack_protect_test): Likewise.
        (stack_protect_test_<mode>): Likewise.

From-SVN: r189513
2012-07-16 10:00:37 +00:00
Andrew Pinski a14c200adc builtins-1.c: New testcase.
2012-07-16  Andrew Pinski  <apinski@cavium.com>

	* gcc.dg/torture/builtins-1.c: New testcase.

From-SVN: r189510
2012-07-16 00:17:49 -07:00
Hans-Peter Nilsson 64e544ef55 Commit hunk missing from last change
From-SVN: r189509
2012-07-16 06:11:09 +00:00
Hans-Peter Nilsson dc7f4baf62 Tweak ChangeLog formatting for my recent entries
From-SVN: r189508
2012-07-16 03:33:35 +00:00
Hans-Peter Nilsson a502bdb636 cris-protos.h (cris_legitimate_address_p): Declare.
* config/cris/cris-protos.h (cris_legitimate_address_p): Declare.
	* config/cris/cris.h (CONSTANT_ADDRESS_P): Define in terms of
	CONSTANT_P and cris_legitimate_address_p.
	* config/cris/cris.c (cris_legitimate_address_p): Make non-static.

From-SVN: r189507
2012-07-16 03:31:12 +00:00
Hans-Peter Nilsson ff57d86657 cris.c (cris_preferred_reload_class): Don't return GENERAL_REGS as preferred to MOF_SRP_REGS.
* config/cris/cris.c (cris_preferred_reload_class):
	Don't return GENERAL_REGS as preferred to MOF_SRP_REGS.

From-SVN: r189506
2012-07-16 03:24:14 +00:00
Hans-Peter Nilsson f0336342c5 sync-2i.c, [...]: For cris*-*-linux*, also pass -mno-unaligned-atomic-may-use-library.
* gcc.target/cris/sync-2i.c, gcc.target/cris/sync-2s.c,
	gcc.target/cris/sync-3i.c, gcc.target/cris/sync-3s.c,
	gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c,
	gcc.target/cris/sync-1-v10.c,
	gcc.target/cris/sync-1-v32.c: For cris*-*-linux*, also
	pass -mno-unaligned-atomic-may-use-library.
	* gcc.target/cris/sync-xchg-1.c: New test.

From-SVN: r189505
2012-07-16 03:21:47 +00:00
Hans-Peter Nilsson dec4306fcb cris.c (cris_init_libfuncs): Handle initialization of library functions for basic atomic compare-and-swap.
* config/cris/cris.c (cris_init_libfuncs): Handle initialization
	of library functions for basic atomic compare-and-swap.
	* config/cris/cris.h (TARGET_ATOMICS_MAY_CALL_LIBFUNCS): New macro.
	* config/cris/cris.opt (munaligned-atomic-may-use-library): New
	option.
	* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
	("cris_atomic_fetch_<atomic_op_name><mode>_1")
	("atomic_compare_and_swap<mode>")
	("cris_atomic_compare_and_swap<mode>_1"): Make
	conditional on TARGET_ATOMICS_MAY_CALL_LIBFUNCS for
	sizes larger than byte.

From-SVN: r189504
2012-07-16 03:18:23 +00:00
Hans-Peter Nilsson 24ddb79c2d cris.c (cris_print_operand): New cases.
* config/cris/cris.c (cris_print_operand) <case 'P', 'q'>: New cases.
	* config/cris/sync.md (atomic_op_op_cnstr): New code_attr.
	(atomic_op_op_pred): Ditto.
	(atomic_op_mnem_pre_op2): Renamed from atomic_op_mnem_pre; to
	reflect the change to include %2 in expansion.  All callers changed.
	(qm3): New mode_attr.
	("atomic_fetch_<atomic_op_name><mode>"): Use <atomic_op_op_pred>
	as predicate for operand 2. 
	("cris_atomic_fetch_<atomic_op_name><mode>_1"): Update FIXME.  Use
	"<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and
	constraint for operand 2.
	("atomic_compare_and_swap<mode>"): Add FIXME.  Change predicate to
	nonmemory_operand for operand 3.
	("cris_atomic_compare_and_swap<mode>_1"): Change operand 3 to
	exclude memory.  Improve emitted sync code for v10 and v32.  Use
	<qm3> instead of <m> for size designator for cmp.

From-SVN: r189503
2012-07-16 03:11:31 +00:00
Hans-Peter Nilsson c3a3b5b55d 20011127-1.c: Adjust to %P being a valid register operand output modifier.
* gcc.target/cris/20011127-1.c: Adjust to %P being a
	valid register operand output modifier.

From-SVN: r189502
2012-07-16 03:09:57 +00:00
Hans-Peter Nilsson 1cdea33b8f sync.md ("atomic_compare_and_swap<mode>"): Change predicate to nonmemory_operand for operand 3.
* config/cris/sync.md ("atomic_compare_and_swap<mode>"): Change
	predicate to nonmemory_operand for operand 3.  Add FIXME.
	("cris_atomic_compare_and_swap<mode>_1"): Change predicates and

From-SVN: r189501
2012-07-16 03:02:47 +00:00
Hans-Peter Nilsson fdb6272c11 * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
("atomic_compare_and_swap<mode>"): Gate expand_mem_thread_fence
	calls on result of call to need_atomic_barrier_p.

From-SVN: r189500
2012-07-16 02:59:42 +00:00
GCC Administrator 031831d69b Daily bump.
From-SVN: r189499
2012-07-16 00:18:10 +00:00
Richard Sandiford cb00489cc3 mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo.
gcc/
	* config/mips/mips.md (move_type): Replace mfhilo and mthilo
	with mflo and mtlo.
	(type): Split mfhilo into mfhi and mflo.  Split mthilo into mthi
	and mtlo.  Adjust move_type->type mapping.
	(may_clobber_hilo): Split mthilo into mthi and mtlo.
	(*movdi_32bit, *movdi_32bit_mips16, *movdi_64bit, *movdi_64bit_mips16)
	(*mov<mode>_internal, *mov<mode>_mips16, *movhi_internal)
	(*movhi_mips16, *movqi_internal, *movqi_mips16): Use mtlo and mflo
	instead of mthilo and mfhilo.
	(mfhi<GPR:mode>_<HILO:mode>): Use mfhi instead of mfhilo.
	(mthi<GPR:mode>_<HILO:mode>): Use mthi instead of mthilo.
	* config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w)
	(mips_extr_s_h, mips_extp, mips_extpdp, mips_shilo, mips_mthlip):
	Use mflo instead of mfhilo.
	* config/mips/10000.md (r10k_arith): Split mthilo.
	(r10k_mfhi, r10k_mflo): Use mfhi and mflo directly.
	* config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise.
	(ir_sb1_mthilo): Split mthilo into mthi and mtlo.
	* config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split
	mthilo and mfhilo.
	* config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise.
	* config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo):
	Likewise.
	* config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise.
	* config/mips/5400.md (ir_vr54_hilo): Likewise.
	* config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise.
	* config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise.
	* config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise.
	* config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise.
	* config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise.
	* config/mips/generic.md (generic_hilo): Likewise.
	* config/mips/loongson2ef.md (ls2_alu): Likewise.
	* config/mips/loongson3a.md (ls3a_mfhilo): Likewise.
	* config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2)
	(octeon_mfhilo_o1, octeon_mfhilo_o2): Likewise.
	* config/mips/sr71k.md (ir_sr70_hilo): Likewise.
	* config/mips/xlr.md (xlr_hilo): Likewise.

From-SVN: r189496
2012-07-15 16:26:48 +00:00
Andreas Schwab b7e331f886 pubnames-2.C: Support all known comment characters.
* g++.dg/debug/dwarf2/pubnames-2.C: Support all known comment
characters.

From-SVN: r189494
2012-07-15 10:22:35 +00:00
GCC Administrator 940c7385ed Daily bump.
From-SVN: r189489
2012-07-15 00:18:16 +00:00
Andrew Stubbs 9b02410362 sh.h (SH_ASM_SPEC): Add spaces between options.
2012-07-14  Andrew Stubbs  <ams@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/sh/sh.h (SH_ASM_SPEC): Add spaces between options.

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

From-SVN: r189486
2012-07-14 20:02:47 -04:00
Mike Stump d0db532de1 Add missing pthread requirement.
From-SVN: r189485
2012-07-14 22:38:41 +00:00
Uros Bizjak abc4d4e989 i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode for TARGET_SSE.
* config/i386/i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode
	for TARGET_SSE.

From-SVN: r189483
2012-07-14 21:33:12 +02:00
Steven Bosscher ee7b28eb21 toplev.c (init_asm_output): Open asm_out_file in 'w' mode.
gcc/
	* toplev.c (init_asm_output): Open asm_out_file in 'w' mode.

c-family/
	* c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
	Remove code conditional on it.

From-SVN: r189482
2012-07-14 17:28:31 +00:00
Steven Bosscher 659140c86e * config/t-darwin (crt3.0): Remove work-around for fixed PR26840.
From-SVN: r189479
2012-07-14 13:50:59 +00:00
Andrew Pinski 3f245efcff octeon2-pipe-1.c: Use cleanup-rtl-dump rather than cleanup-tree-dump.
2012-07-13  Andrew Pinski  <apinski@cavium.com>

	* gcc.target/mips/octeon2-pipe-1.c: Use cleanup-rtl-dump
	rather than cleanup-tree-dump.
	* gcc.target/mips/octeon-pipe-1.c: Likewise.

tree

From-SVN: r189477
2012-07-13 18:15:59 -07:00
GCC Administrator bf54274fb5 Daily bump.
From-SVN: r189476
2012-07-14 00:17:09 +00:00
Bill Schmidt cf0d4e1501 re PR bootstrap/53955 (Missing prototypes in i386.c, bootstrap failure with --disable-build-poststage1-with-cxx)
2012-07-13  Bill Schmidt  <wschmidt@linux.ibm.com>

	PR bootstrap/53955
	* config/spu/spu.c (spu_init_cost): Mark static.
	(spu_add_stmt_cost): Likewise.
	(spu_finish_cost): Likewise.
	(spu_destroy_cost_data): Likewise.
	* config/i386/i386.c (ix86_init_cost): Mark static.
	(ix86_add_stmt_cost): Likewise.
	(ix86_finish_cost): Likewise.
	(ix86_destroy_cost_data): Likewise.
	* config/rs6000/rs6000.c (rs6000_init_cost): Mark static.
	(rs6000_add_stmt_cost): Likewise.
	(rs6000_finish_cost): Likewise.
	(rs6000_destroy_cost_data): Likewise.

From-SVN: r189473
2012-07-13 22:33:31 +00:00
Doug Evans 69488641ac filenames.h: #include "hashtab.h".
include/
	* filenames.h: #include "hashtab.h".
	(filename_hash, filename_eq): Declare.
	libiberty/
	* filename_cmp.c (filename_hash, filename_eq): New functions.

From-SVN: r189472
2012-07-13 22:12:28 +00:00
Steven Bosscher c8b8af718c ggc.h (ggc_internal_alloc_stat, [...]): Add ATTRIBUTE_MALLOC.
* ggc.h (ggc_internal_alloc_stat, ggc_alloc_typed_stat,
	ggc_internal_cleared_alloc_stat, ggc_cleared_alloc_htab_ignore_args,
	ggc_cleared_alloc_ptr_array_two_args, ggc_splay_alloc): Add
	ATTRIBUTE_MALLOC.
	* alloc-pool.h (pool_alloc): Likewise.

	* final.c (final): Do not loop to find max_uid.

From-SVN: r189470
2012-07-13 17:51:34 +00:00
Steven Bosscher e4da1e17ea emit-rtl.c (make_debug_insn_raw, [...]): Make static.
* emit-rtl.c (make_debug_insn_raw, make_jump_insn_raw): Make static.
	* rtl.h (make_debug_insn_raw, make_jump_insn_raw): Remove prototypes.

From-SVN: r189467
2012-07-13 15:56:04 +00:00
Jason Merrill d1cb1990fb re PR regression/53953 (g++.dg/cpp0x/lambda/lambda-ice2.C (warnings and errors not matching))
PR c++/53953
	* method.c (synthesized_method_walk): Initialize no_implicit_p sooner.

From-SVN: r189465
2012-07-13 11:08:55 -04:00
Richard Guenther 78b4053c6e ctors.exp: Explicitely specify -O0.
2012-07-13  Richard Guenther  <rguenther@suse.de>

	* testsuite/libmudflap.c++/ctors.exp: Explicitely specify -O0.
	* testsuite/libmudflap.c++/c++frags.exp: Likewise.
	* testsuite/libmudflap.cth/cthfrags.exp: Likewise.
	* testsuite/libmudflap.c/cfrags.exp: Likewise.
	* testsuite/libmudflap.c/externs.exp: Likewise.

From-SVN: r189464
2012-07-13 13:25:13 +00:00
Richard Guenther b61d865775 fail11-frag.c: Adjust to not look like memset.
2012-07-13  Richard Guenther  <rguenther@suse.de>

	* testsuite/libmudflap.c/fail11-frag.c: Adjust to not look like memset.
	* testsuite/libmudflap.c/fail12-frag.c: Likewise.

From-SVN: r189463
2012-07-13 13:11:37 +00:00
Richard Guenther a8ab21e5e6 re PR target/53907 (gcc uses unaligned load when aligned load was requested)
2012-07-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53907
	* tree-ssa-forwprop.c (associate_pointerplus): New function.
	(ssa_forward_propagate_and_combine): Call it.

	* gcc.target/i386/pr53907.c: New testcase.

From-SVN: r189462
2012-07-13 13:01:06 +00:00
Richard Guenther e8f808b30e re PR tree-optimization/53922 (VRP: semantic conflict between range_includes_zero_p and value_inside_range)
2012-07-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53922
	* tree-vrp.c (value_inside_range): Change prototype to take
	min/max instead of value-range.
	(range_includes_zero_p): Likewise.  Return the result from
	value_inside_range.
	(extract_range_from_binary_expr_1): Adjust to handle dont-know
	return value from range_includes_zero_p.
	(extract_range_from_unary_expr_1): Likewise.
	(compare_range_with_value): Likewise.
	(vrp_meet_1): Likewise.

	* gcc.dg/torture/pr53922.c: New testcase.

From-SVN: r189461
2012-07-13 11:21:39 +00:00
Bill Schmidt c3e7ee4191 tm.texi: Regenerate.
2012-07-13  Bill Schmidt  <wschmidt@linux.ibm.com>

	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in (TARGET_VECTORIZE_INIT_COST): New hook.
	(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
	(TARGET_VECTORIZE_FINISH_COST): Likewise.
	(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
	* targhooks.c (default_init_cost): New function.
	(default_add_stmt_cost): Likewise.
	(default_finish_cost): Likewise.
	(default_destroy_cost_data): Likewise.
	* targhooks.h (default_init_cost): New decl.
	(default_add_stmt_cost): Likewise.
	(default_finish_cost): Likewise.
	(default_destroy_cost_data): Likewise.
	* target.def (init_cost): New DEFHOOK.
	(add_stmt_cost): Likewise.
	(finish_cost): Likewise.
	(destroy_cost_data): Likewise.
	* target.h (struct _stmt_vec_info): New extern decl.
	(stmt_vectype): Likewise.
	(stmt_in_inner_loop_p): Likewise.
	* tree-vectorizer.h (stmt_info_for_cost): New struct/typedef.
	(stmt_vector_for_cost): New VEC/typedef.
	(add_stmt_info_to_vec): New function.
	(struct _slp_tree): Remove cost.inside_of_loop field.
	(struct _slp_instance): Remove cost.inside_of_loop field; add
	stmt_cost_vec field.
	(SLP_INSTANCE_INSIDE_OF_LOOP_COST): Remove macro.
	(SLP_INSTANCE_STMT_COST_VEC): New accessor macro.
	(SLP_TREE_INSIDE_OF_LOOP_COST): Remove macro.
	(struct _vect_peel_extended_info): Add stmt_cost_vec field.
	(struct _loop_vec_info): Add target_cost_data field.
	(LOOP_VINFO_TARGET_COST_DATA): New accessor macro.
	(struct _bb_vec_info): Add target_cost_data field.
	(BB_VINFO_TARGET_COST_DATA): New accessor macro.
	(struct _stmt_vec_info): Remove cost.inside_of_loop field.
	(STMT_VINFO_INSIDE_OF_LOOP_COST): Remove macro.
	(stmt_vinfo_set_inside_of_loop_cost): Remove function.
	(init_cost): New function.
	(add_stmt_cost): Likewise.
	(finish_cost): Likewise.
	(destroy_cost_data): Likewise.
	(vect_model_simple_cost): Change parameter list.
	(vect_model_store_cost): Likewise.
	(vect_model_load_cost): Likewise.
	(record_stmt_cost): New extern decl.
	(vect_get_load_cost): Change parameter list.
	(vect_get_store_cost): Likewise.
	* tree-vect-loop.c (new_loop_vec_info): Call init_cost.
	(destroy_loop_vec_info): Call destroy_cost_data.
	(vect_estimate_min_profitable_iters): Remove old calculation of
	inside costs; call finish_cost instead.
	(vect_model_reduction_cost): Call add_stmt_cost instead of old
	inside-costs calculation.
	(vect_model_induction_cost): Likewise.
	* tree-vect-data-refs.c (vect_get_data_access_cost): Change to
	return a stmt_vector_for_cost; modify calls to vect_get_load_cost
	and vect_get_store_cost to obtain the value to return.
	(vect_peeling_hash_get_lowest_cost): Obtain a stmt_cost_vec from
	vect_get_data_access_cost and store it in the minimum peeling
	structure.
	(vect_peeling_hash_choose_best_peeling): Change the parameter list
	to add a (stmt_vector_for_cost *) output parameter, and set its value.
	(vect_enhance_data_refs_alignment): Ignore the new return value from
	calls to vect_get_data_access_cost; obtain stmt_cost_vec from
	vect_peeling_hash_choose_best_peeling and pass its contents to the
	target cost model.
	* tree-vect-stmts.c (stmt_vectype): New function.
	(stmt_in_inner_loop_p): Likewise.
	(record_stmt_cost): Likewise.
	(vect_model_simple_cost): Add stmt_cost_vec parameter; call
	record_stmt_cost instead of old calculation; don't call
	stmt_vinfo_set_inside_of_loop_cost.
	(vect_model_promotion_demotion_cost): Call add_stmt_cost instead of
	old calculation; don't call stmt_vinfo_set_inside_of_loop_cost.
	(vect_model_store_cost): Add stmt_cost_vec parameter; call
	record_stmt_cost instead of old calculation; add stmt_cost_vec
	parameter to vect_get_store_cost call; don't call
	stmt_vinfo_set_inside_of_loop_cost.
	(vect_get_store_cost): Add stmt_cost_vec parameter; call
	record_stmt_cost instead of old calculation.
	(vect_model_load_cost): Add stmt_cost_vec parameter; call
	record_stmt_cost instead of old calculation; add stmt_cost_vec
	parameter to vect_get_load_cost call; don't call
	stmt_vinfo_set_inside_of_loop_cost.
	(vect_get_load_cost): Add stmt_cost_vec parameter; call
	record_stmt_cost instead of old calculation.
	(vectorizable_call): Add NULL parameter to vect_model_simple_cost call.
	(vectorizable_conversion): Likewise.
	(vectorizable_assignment): Likewise.
	(vectorizable_shift): Likewise.
	(vectorizable_operation): Likewise.
	(vectorizable_store): Add NULL parameter to vect_model_store_cost call.
	(vectorizable_load): Add NULL parameter to vect_model_load_cost call.
	(new_stmt_vec_info): Don't set STMT_VINFO_INSIDE_OF_LOOP_COST.
	* config/spu/spu.c (TARGET_VECTORIZE_INIT_COST): New macro def.
	(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
	(TARGET_VECTORIZE_FINISH_COST): Likewise.
	(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
	(spu_init_cost): New function.
	(spu_add_stmt_cost): Likewise.
	(spu_finish_cost): Likewise.
	(spu_destroy_cost_data): Likewise.
	* config/i386/i386.c (ix86_init_cost): New function.
	(ix86_add_stmt_cost): Likewise.
	(ix86_finish_cost): Likewise.
	(ix86_destroy_cost_data): Likewise.
	(TARGET_VECTORIZE_INIT_COST): New macro def.
	(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
	(TARGET_VECTORIZE_FINISH_COST): Likewise.
	(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
	* config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): New macro def.
	(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
	(TARGET_VECTORIZE_FINISH_COST): Likewise.
	(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
	(rs6000_init_cost): New function.
	(rs6000_add_stmt_cost): Likewise.
	(rs6000_finish_cost): Likewise.
	(rs6000_destroy_cost_data): Likewise.
	* tree-vect-slp.c (vect_free_slp_instance): Free stmt_cost_vec.
	(vect_create_new_slp_node): Don't set SLP_TREE_INSIDE_OF_LOOP_COST.
	(vect_get_and_check_slp_defs): Add stmt_cost_vec parameter; add
	stmt_cost_vec parameter to vect_model_store_cost and
	vect_model_simple_cost calls.
	(vect_build_slp_tree): Remove inside_cost parameter; add stmt_cost_vec
	parameter; add stmt_cost_vec parameter to vect_get_and_check_slp_defs,
	vect_model_load_cost, and recursive vect_build_slp_tree calls; prevent
	calculating cost more than once for loads; remove inside_cost
	parameter from recursive vect_build_slp_tree calls; call
	record_stmt_cost instead of old calculation.
	(vect_analyze_slp_instance): Allocate stmt_cost_vec and save it with
	the instance; free it on premature exit; remove inside_cost parameter
	from vect_build_slp_tree call; add stmt_cost_vec parameter to
	vect_build_slp_tree call; don't set SLP_INSTANCE_INSIDE_OF_LOOP_COST.
	(new_bb_vec_info): Call init_cost.
	(destroy_bb_vec_info): Call destroy_cost_data.
	(vect_bb_vectorization_profitable_p): Call add_stmt_cost for each
	statement recorded with an SLP instance; call finish_cost instead of
	the old calculation.
	(vect_update_slp_costs_according_to_vf): Record statement costs from
	SLP instances, multiplying by the appropriate number of copies; don't
	update SLP_INSTANCE_INSIDE_OF_LOOP_COST.

From-SVN: r189460
2012-07-13 11:12:33 +00:00
Richard Guenther 44fabee4e2 re PR c/53937 (Pack'ing struct causes gcc to not recognize that an field's address is aligned)
2012-07-13  Richard Guenther  <rguenther@suse.de>

	PR middle-end/53937
	* builtins.c (get_pointer_alignment_1): Handle constant
	pointers.

From-SVN: r189458
2012-07-13 09:45:00 +00:00
Paolo Carlini 57cee56a1e re PR libstdc++/53657 ([C++11] pair(pair&&) move constructor is non-trivial)
2012-07-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/53657
	* include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
	per C++11.
	* include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
	(const_iterator, _Pair&&)): Constrain with std::is_constructible,
	per LWG2005.
	* include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
	multimap<>::insert(const_iterator, _Pair&&)): Likewise.
	* include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
	_Insert<>::insert(const_iterator, _Pair&&)): Likewise.
	* include/debug/unordered_map: Adjust.
	* include/debug/map.h: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/multimap.h: Likewise.

From-SVN: r189456
2012-07-13 08:59:58 +00:00
Hans-Peter Nilsson f0df84ab4a re PR rtl-optimization/53908 (csa removes needed memory load)
PR rtl-optimization/53908
	* gcc.dg/torture/pr53908.c: New test.

From-SVN: r189455
2012-07-13 08:58:46 +00:00
Richard Sandiford b1435931f2 re PR rtl-optimization/53908 (csa removes needed memory load)
PR rtl-optimization/53908
	* df-problems.c (can_move_insns_across): When doing
	memory-reference book-keeping, handle call insns.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>

From-SVN: r189454
2012-07-13 08:53:24 +00:00
Richard Guenther a2faea4bda gimple.c (gimple_types_compatible_p_1): Remove redundant type attribute comparisons.
2012-07-13  Richard Guenther  <rguenther@suse.de>

	* gimple.c (gimple_types_compatible_p_1): Remove redundant
	type attribute comparisons.
	(gimple_canonical_types_compatible_p): Likewise.

From-SVN: r189453
2012-07-13 08:15:10 +00:00
Jonathan Wakely 306620d224 re PR c++/53531 (<,,,,> accepted as template arguments for variadic template)
PR c++/53531
	* testsuite/g++.dg/cpp0x/variadic135.C: New.

From-SVN: r189452
2012-07-13 08:53:12 +01:00
GCC Administrator 4817d854f1 Daily bump.
From-SVN: r189448
2012-07-13 00:16:42 +00:00
Jason Merrill b52259e162 pt.c (instantiate_decl): Check typedefs access here.
* pt.c (instantiate_decl): Check typedefs access here.
	(instantiate_template_1): Not here.

From-SVN: r189444
2012-07-12 18:57:16 -04:00
Jason Merrill 77a24503cb pt.c (deduction_tsubst_fntype): Just suppress access checking.
* pt.c (deduction_tsubst_fntype): Just suppress access checking.
	(instantiate_template_1): Set DECL_TI_TEMPLATE before access checking.
	(push_deduction_access_scope, pop_deduction_access_scope): Remove.

From-SVN: r189443
2012-07-12 18:57:03 -04:00
Tobias Burnus 0d87d3076f trans-expr.c (conv_isocbinding_procedure): Generate
2012-07-12  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (conv_isocbinding_procedure): Generate
        * c_f_pointer code
        inline.

2012-07-12  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/c_f_pointer_shape_tests_5.f90: New.
        * gfortran.dg/c_f_pointer_tests_3.f90: Update
        scan-tree-dump-times pattern.

From-SVN: r189442
2012-07-12 23:32:48 +02:00
Hans-Peter Nilsson e098c16962 re PR rtl-optimization/53176 (gcc.dg/lower-subreg-1.c FAILs)
PR rtl-optimization/53176
	* rtlanal.c (rtx_cost): Adjust default cost for X with a
	UNITS_PER_WORD factor for all X according to the size of
	its mode, not just for SUBREGs with untieable modes.
	Handle SET.  Use factor * factor for MULT, DIV, UDIV,
	MOD, UMOD.

From-SVN: r189441
2012-07-12 21:14:14 +00:00
Uros Bizjak 8c15b4b04f i386.md (QImode and HImode cmove splitters): Merge QImode and HImode splitters.
* config/i386/i386.md (QImode and HImode cmove splitters): Merge
	QImode and HImode splitters.  Use ix86_comparison_operator.
	Explicitly match FLAGS_REG.
	(DFmode cmove splitter): Explicitly match FLAGS_REG.

From-SVN: r189440
2012-07-12 18:18:09 +02:00
Arnaud Charlet 759658521a [multiple changes]
2012-07-12  Vasiliy Fofanov  <fofanov@adacore.com>

	* vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches.

2012-07-12  Thomas Quinot  <quinot@adacore.com>

	* exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb,
	sem_util.ads, exp_aggr.adb
	(Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing
	for reverse storage order aggregate.
	(Exp_Pakd.Byte_Swap): New utility routine used by...
	(Exp_Pakd.Expand_Bit_Packed_Element_Set,
	Expand_Packed_Element_Reference): For the case of a free-standing
	packed array with reverse storage order, perform byte swapping.
	(Rtsfind): Make new entities RE_Bswap_{16,32,64} available.
	(Freeze.Check_Component_Storage_Order): New utility routine
	to enforce legality rules for nested composite types whose
	enclosing composite has an explicitly defined Scalar_Storage_Order
	attribute.
	(Sem_Util.In_Reverse_Storage_Order_Object): Renamed from
	Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to
	array types as well.
	(Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge
	for change of scalar storage order in assignments. The Lhs and
	Rhs now always have the same scalar storage order.

2012-07-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* g-debpoo.adb (Allocate): Add local constant
	No_Element. Initialize the allocated memory chunk to No_Element.

2012-07-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
	the case of an instance of a child unit where a formal derived
	type DT is an extension of a type T declared in a parent unit,
	and the actual in the instance of the child is the type T declared
	in the parent instance, and that actual is not a derived type.

2012-07-12  Eric Botcazou  <ebotcazou@adacore.com>
	    Tristan Gingold  <gingold@adacore.com>

	* system-hpux-ia64.ads: Enable ZCX by default.
	* gcc-interface/Makefile.in: Use alternate stack on ia64-hpux.
	Change soext to .so.

From-SVN: r189439
2012-07-12 12:56:02 +02:00
Arnaud Charlet 727e7b1a87 [multiple changes]
2012-07-12  Robert Dewar  <dewar@adacore.com>

	* s-atopri.adb, s-atopri.ads: Minor reformatting.

2012-07-12  Robert Dewar  <dewar@adacore.com>

	* ali.adb: Add circuitry to read new named form of restrictions lines.
	* debug.adb: Add doc for new -gnatd.R switch (used positional
	notation for output of restrictions data in ali file).
	* lib-writ.adb: Implement new named format for restrictions lines.
	* lib-writ.ads: Add documentation for new named format for
	restrictions in ali files.
	* restrict.adb, restrict.ads, sem_prag.adb: Update comments.
	* rident.ads: Go back to withing System.Rident
	* s-rident.ads: Add extensive comment on dealing with consistency
	checking.

2012-07-12  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.

From-SVN: r189438
2012-07-12 12:49:10 +02:00