Commit Graph

112449 Commits

Author SHA1 Message Date
Arnaud Charlet ea10ca9c75 [multiple changes]
2011-10-16  Tristan Gingold  <gingold@adacore.com>

	* link.c (_AIX): Add support for GNU ld.        

2011-10-16  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Fixing gnattest example names in the doc.
	Adding explanation to additional tests usage.

2011-10-16  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb, sem_ch6.adb: Minor reformatting.

2011-10-16  Eric Botcazou  <ebotcazou@adacore.com>

	* a-convec.adb: Fix minor inconsistencies.

2011-10-16  Matthew Heaney  <heaney@adacore.com>

	* a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (package
	Implementation): Specify pragma Implementation_Defined.

From-SVN: r180056
2011-10-16 14:12:11 +02:00
Ira Rosen 6aa904c4c6 tree-vect-stmts.c (vectorizable_load): For SLP without permutation treat the first load of the node as the first...
* tree-vect-stmts.c (vectorizable_load): For SLP without
        permutation treat the first load of the node as the first
        element in its interleaving chain.
        * tree-vect-slp.c (vect_get_and_check_slp_defs): Swap the
        operands if necessary and possible.
        (vect_build_slp_tree): Add new argument.  Allow load groups of
        any size in basic blocks.  Keep all the loads for further
        permutation check.  Use the new argument to determine if there
        is a permutation.  Update the recursive calls.
        (vect_supported_load_permutation_p): Allow subchains of
        interleaving chains in basic block vectorization.
        (vect_analyze_slp_instance): Update the call to
        vect_build_slp_tree.  Check load permutation based on the new
        parameter.
        (vect_schedule_slp_instance): Don't start from the first element
        in interleaving chain unless the loads are permuted.

From-SVN: r180055
2011-10-16 10:47:12 +00:00
Jan Hubicka 1bb7e8f8fe re PR middle-end/48668 (COMDAT Group signature not emitted in group)
PR target/48668
	PR target/50689
	* cgraphunit.c (cgraph_expand_function): Expand thunks and alises
	after function body.

From-SVN: r180053
2011-10-16 09:02:33 +00:00
GCC Administrator 7a2a89e864 Daily bump.
From-SVN: r180052
2011-10-16 00:17:57 +00:00
Paolo Carlini 4f75413f5e re PR c++/50732 ([type_traits] is_base_of<Base, Derived> unnecessarily instantiates Base (which shouldn't be instantiated))
/cp
2011-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50732
	* semantics.c (finish_trait_expr): Do not try to instantiate the
	the base type of an __is_base_of trait.
	(check_trait_type): Return a tree; use complete_type_or_else.

/testsuite
2011-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50732
	* g++.dg/ext/is_base_of_incomplete.C: New.
	* g++.dg/ext/is_base_of_diagnostic.C: Adjust dg-errors.
	* g++.dg/ext/unary_trait_incomplete.C: Likewise.

From-SVN: r180048
2011-10-15 19:49:33 +00:00
Richard Henderson 2635892a1c Use VEC_PERM_EXPR in the vectorizer.
* tree-vect-slp.c: Include langhooks.h.
        (vect_create_mask_and_perm): Emit VEC_PERM_EXPR, not a builtin.
        (vect_transform_slp_perm_load): Use can_vec_perm_expr_p.  Simplify
        mask creation for VEC_PERM_EXPR.
        * tree-vect-stmts.c (perm_mask_for_reverse): Return the mask,
        not the builtin.
        (reverse_vec_elements): Emit VEC_PERM_EXPR not a builtin.
        * Makefile.in (tree-vect-slp.o): Update dependency.
        * optabs.c (can_vec_perm_expr_p): Allow NULL as unknown constant.

From-SVN: r180047
2011-10-15 12:36:50 -07:00
Eric Botcazou f3b3dc6a7e * gcc.target/sparc/combined-1.c: Compile at -O2.
From-SVN: r180040
2011-10-15 14:48:37 +00:00
Uros Bizjak 6d0c87b50b * ChangeLog: Fix whitespace.
From-SVN: r180039
2011-10-15 16:31:16 +02:00
Alan Modra 89e4bd80d8 re PR bootstrap/50738 (Bootstrap failure at revision 180028 on powerpc-apple-darwin9)
PR bootstrap/50738
	* ifcvt.c (dead_or_predicable): Revert accidental commit with
	HAVE_simple_return test.

From-SVN: r180038
2011-10-16 00:09:58 +10:30
Uros Bizjak ae8536c5fb fma_float_?.c (dg-prune_output): Remove.
* gcc.target/i386/fma_float_?.c (dg-prune_output): Remove.
	(dg-options): Add -Wno-attributes.
	* gcc.target/i386/fma_double_?.c: Ditto.
	* gcc.target/i386/fma_run_float_?.c: Ditto.
	* gcc.target/i386/fma_run_double_?.c: Ditto.
	* gcc.target/i386/l_fma_float_?.c: Dtto.
	* gcc.target/i386/l_fma_double_?.c: Ditto.
	* gcc.target/i386/l_fma_run_float_?.c: Ditto.
	* gcc.target/i386/l_fma_run_double_?.c: Ditto.

From-SVN: r180029
2011-10-15 13:04:38 +02:00
Alan Modra ac5b90bdc0 ifcvt.c (dead_or_predicable): Disable if-conversion when doing so is likely to kill a shrink-wrapping opportunity.
* ifcvt.c (dead_or_predicable): Disable if-conversion when
	doing so is likely to kill a shrink-wrapping opportunity.

From-SVN: r180028
2011-10-15 21:06:00 +10:30
Alan Modra 387748de2f re PR rtl-optimization/49941 (segmentation fault in redirect_jump_2)
PR rtl-optimization/49941
	* jump.c (mark_jump_label_1): Set JUMP_LABEL for simple_return jumps.

	* rtl.h (set_return_jump_label): Declare.
	* function.c (set_return_jump_label): New function, extracted..
	(thread_prologue_and_epilogue_insns): ..from here.  Use it in
	another instance to set return jump_label.
	* cfgrtl.c (force_nonfallthru_and_redirect): Use set_return_jump_label.
	* reorg.c (find_end_label): Likewise.

From-SVN: r180027
2011-10-15 21:02:33 +10:30
Nicolas Roche c225ba500b lang-specs.h: Ensure -mrtp switch is passed when using either rtp-smp or ravenscar-cert-rtp...
2011-10-15  Nicolas Roche  <roche@adacore.com>

	* gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using  
	either rtp-smp or ravenscar-cert-rtp runtimes.

From-SVN: r180026
2011-10-15 11:24:32 +02:00
Arnaud Charlet 3e452820c3 [multiple changes]
2011-10-15  Bob Duff  <duff@adacore.com>

	* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
	Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr
	is available.
	(Expand_N_Extended_Return_Statement): Do not create a renaming of the
	build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is
	available.
	(Make_Build_In_Place_Call_In_Allocator): Add the user-defined
	pool only if RE_Root_Storage_Pool_Ptr is available.
	(Make_Build_In_Place_Call_In_Object_Declaration): Do not add a
	pool actual unless RE_Root_Storage_Pool_Ptr is available.
	* sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool
	formal only if RE_Root_Storage_Pool_Ptr is available.

2011-10-15  Matthew Heaney  <heaney@adacore.com>

	* a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue
	type): Specify Priority aspect for protected type.

From-SVN: r180025
2011-10-15 11:22:01 +02:00
Tobias Burnus 4650947d66 gfortran.texi (Fortran 2008 status, [...]): Update implementation status, change references from TR 29113 to TS 29113.
2011-10-15  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (Fortran 2008 status, TS 29113 status,
        Further Interoperability of Fortran with C): Update implementation
        status, change references from TR 29113 to TS 29113.
        * intrinsic.texi (RANK): Change TR 29113 to TS 29113.
        * invoke.text (-std=): Ditto, change -std=f2008tr to
        * -std=f2008ts.
        * lang.opt (std=): Ditto.
        * options.c (gfc_handle_option, set_default_std_flags): Ditto
        * and
        change GFC_STD_F2008_TR to GFC_STD_F2008_TS.
        * libgfortran.h: Ditto.
        * intrinsic.c (add_functions, gfc_check_intrinsic_standard):
        * Ditto.
        * decl.c (verify_c_interop_param): Ditto.

2011-10-15  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/bind_c_usage_23.f90: Change TR 29113 to TS 29113
        * in
        the comments.
        * gfortran.dg/bind_c_usage_24.f90: Ditto.
        * gfortran.dg/rank_3.f90: Ditto.
        * gfortran.dg/bind_c_usage_22.f90: Ditto, change -std=f2008tr to
        -std=f2008ts in dg-options.
        * gfortran.dg/rank_4.f90: Ditto.

From-SVN: r180024
2011-10-15 10:34:36 +02:00
David S. Miller a0bd60d1c9 Fix mv8plus, allow targetting Linux or Solaris from other sparc host.
* config/sparc/sol2.h: Protect -m{cpu,tune}=native handling
	with a more complete cpp test.
	* config/sparc/linux64.h: Likewise.
	* config/sparc/linux.h: Likewise.
	* config/sparc/sparc.opt (sparc_debug): New target variable.
	(mdebug): New target option.
	* config/sparc/sparc.h (MASK_DEBUG_OPTIONS, MASK_DEBUG_ALL,
	TARGET_DEBUG_OPTIONS): New defines.
	* config/sparc/sparc.c (debug_target_flag_bits,
	debug_target_flags): New functions.
	(sparc_option_override): Add name strings back to cpu_table[].
	Parse -mdebug string.  When TARGET_DEBUG_OPTIONS is true, print
	out the target flags before and after override processing as well
	as the selected cpu.  If MASK_V8PLUS, make sure that the selected
	cpu is at least v9.

From-SVN: r180021
2011-10-14 20:46:59 -07:00
Oleg Endo 6ff9d29412 re PR target/49263 (SH Target: underutilized "TST #imm, R0" instruction)
PR target/49263
	* config/sh/sh.h (ZERO_EXTRACT_ANDMASK): New macro.
	* config/sh/sh.c (sh_rtx_costs): Add test instruction case.
	* config/sh/sh.md (tstsi_t): Name existing insn.  Make inner
	and instruction commutative.
	(tsthi_t, tstqi_t, tstqi_t_zero, tstsi_t_and_not,
	tstsi_t_zero_extract_eq, tstsi_t_zero_extract_xor,
	tstsi_t_zero_extract_subreg_xor_little,
	tstsi_t_zero_extract_subreg_xor_big): New insns.
	(*movsicc_t_false, *movsicc_t_true): Replace space with tab in
	asm output.
	(*andsi_compact): Reorder alternatives so that K08 is considered
	first.
	* gcc.target/sh/pr49263.c: New.

From-SVN: r180020
2011-10-15 02:32:53 +00:00
GCC Administrator 94a39b90ce Daily bump.
From-SVN: r180019
2011-10-15 00:19:01 +00:00
Eric Botcazou c7bdeabb75 * gnat.dg/specs/debug1.ads: Tweak.
From-SVN: r180015
2011-10-14 23:24:36 +00:00
Eric Botcazou 034e3eb0ca re PR target/50354 (architecture mismatch between compiler and assembler)
PR target/50354
	* config/sparc/linux64.h (TARGET_DEFAULT): Only override if the default
	processor is at least V9 and TARGET_64BIT_DEFAULT is defined.

From-SVN: r180013
2011-10-14 23:02:40 +00:00
Gerald Pfeifer f11502ac2b * invoke.texi (AVR Options): Avoid \leq{}.
From-SVN: r180007
2011-10-14 20:22:15 +00:00
Kai Tietz fc1f4caf5f gimplify.c (gimplify_expr): Take care that for bitwise-binary transformation the operands have compatible types.
* gimplify.c (gimplify_expr): Take care that for bitwise-binary
        transformation the operands have compatible types.

	* gfortran.fortran-torture/compile/logical-2.f90: New test.

From-SVN: r180006
2011-10-14 21:30:42 +02:00
Jakub Jelinek 1c4153dd02 sse.md (vec_widen_smult_hi_v8hi, [...]): Macroize using VI2_AVX2 mode iterator and any_extend code iterator.
* config/i386/sse.md (vec_widen_smult_hi_v8hi,
	vec_widen_smult_lo_v8hi, vec_widen_umult_hi_v8hi,
	vec_widen_umult_lo_v8hi): Macroize using VI2_AVX2
	mode iterator and any_extend code iterator.
	(vec_widen_<s>mult_hi_v8si, vec_widen_<s>mult_lo_v8si): New
	expanders.
	(vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si): Enable
	also for TARGET_SSE4_1 using pmuldq insn.
	(sdot_prodv8hi): Macroize using VI2_AVX2 iterator.
	(sse2_sse4_1): New code attr.
	(udot_prodv4si): Macroize using any_extend code iterator.
	(<s>dot_prodv8si): New expander.

	* gcc.target/i386/sse2-mul-1.c: New test.
	* gcc.target/i386/sse4_1-mul-1.c: New test.
	* gcc.target/i386/avx-mul-1.c: New test.
	* gcc.target/i386/xop-mul-1.c: New test.
	* gcc.target/i386/avx2-mul-1.c: New test.

From-SVN: r180005
2011-10-14 21:25:07 +02:00
Jason Merrill 2ec5455527 fix PR tag
From-SVN: r180004
2011-10-14 15:22:59 -04:00
Jason Merrill 7204877f43 re PR c++/50563 ([C++0x] Weird syntax acceptance rules for non-static data members initialized in place)
PR c++/50563
	* parser.c (cp_parser_cache_group): Handle end==CPP_COMMA.
	(cp_parser_save_nsdmi): Pass it.

From-SVN: r180003
2011-10-14 15:12:57 -04:00
Jason Merrill 37d8632b51 re PR c++/50707 ([C++0x] Non-static const data member initializer breaks default constructor)
PR c++/50507
	* method.c (walk_field_subobs): Check for NSDMI before
	complaining about uninitialized fields.

From-SVN: r180002
2011-10-14 15:12:45 -04:00
Jason Merrill c3646b46fa pt.c (tsubst_decl): Use void_zero_node instead of error_mark_node as a placeholder.
* pt.c (tsubst_decl) [FIELD_DECL]: Use void_zero_node
	instead of error_mark_node as a placeholder.

From-SVN: r180001
2011-10-14 15:12:33 -04:00
Janus Weil 6fd7dd5719 re PR fortran/50570 (Incorrect error for assignment to intent(in) pointer)
2011-10-14  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50570
	* expr.c (gfc_check_vardef_context): Don't throw an error on
	non-pointer assignments involving an intent(in) pointer dummy.


2011-10-14  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50570
	* gfortran.dg/pointer_intent_5.f90: New.

From-SVN: r180000
2011-10-14 19:59:29 +02:00
Yakovlev Vladimir e14ca379ad Changed cost for loading QImode using movzbl.
2011-10-14  Yakovlev Vladimir  <vladimir.b.yakovlev@intel.com>

	* config/i386/i386.c (atom_cost): Changed cost for loading
	QImode using movzbl.

From-SVN: r179999
2011-10-14 10:38:46 -07:00
Michael Meissner 04fe093aea Fix typo in my last change
From-SVN: r179998
2011-10-14 17:36:05 +00:00
Jakub Jelinek 2e2accf8ae sse.md (vec_interleave_high<mode>, [...]): Add AVX2 expanders for VI_256 modes.
* config/i386/sse.md (vec_interleave_high<mode>,
	vec_interleave_low<mode>): Add AVX2 expanders for VI_256
	modes.
	* config/i386/i386.c (expand_vec_perm_interleave3): New function.
	(ix86_expand_vec_perm_builtin_1): Call it.

From-SVN: r179995
2011-10-14 18:55:25 +02:00
Georg-Johann Lay a08147527b Fix thinko from r179765
Fix thinko from r179765
	* config/avr/avr.c (avr_option_override): Don't override
	flag_omit_frame_pointer if not actually needed.

From-SVN: r179994
2011-10-14 16:42:24 +00:00
Georg-Johann Lay e8ac5ac96a re PR target/46278 (avr-gcc 4.5.1 doing suboptimal reloads using X)
PR target/46278
	* doc/invoke.texi (AVR Options): Document -mstrict-X.
	* config/avr/avr.opt (-mstrict-X): New option.
	(avr_strict_X): New variable reflecting -mstrict-X.
	* config/avr/avr.c (avr_reg_ok_for_addr_p): Add parameter
	outer_code and pass it down to avr_regno_mode_code_ok_for_base_p.
	(avr_legitimate_address_p): Pass outer_code to
	avr_reg_ok_for_addr_p and use that function in case PLUS.
	(avr_mode_code_base_reg_class): Depend on avr_strict_X.
	(avr_regno_mode_code_ok_for_base_p): Ditto, and depend on outer_code.
	(avr_option_override): Disable -fcaller-saves if -mstrict-X is on.

From-SVN: r179993
2011-10-14 15:42:33 +00:00
Artjoms Sinkarovs 7d7a021160 Exclude 32-bit archs from warn-vect-op* tests.
From-SVN: r179991
2011-10-14 15:37:07 +00:00
Jakub Jelinek 267ff156d0 sse.md (neg<mode>2): Use VI_AVX2 iterator instead of VI_128.
* config/i386/sse.md (neg<mode>2): Use VI_AVX2 iterator instead
	of VI_128.

From-SVN: r179990
2011-10-14 17:28:39 +02:00
Arnaud Charlet b7539c3b93 [multiple changes]
2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* exp_disp.adb (Check_Premature_Freezing): If an untagged type
	is a generic actual, it is a subtype of a type that was frozen
	by the instantiation, and even if not marked frozen it does not
	affect the construction of the dispatch table.

2011-10-14  Robert Dewar  <dewar@adacore.com>

	* make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
	reformatting.
	* s-rident.ads: Add missing Compiler_Unit pragma.

From-SVN: r179989
2011-10-14 17:12:32 +02:00
Tobias Burnus 85ff29389d re PR fortran/50718 (ICE (fold_convert) with -fcheck=pointer)
2011-10-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50718
        * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
        for dummy arguments with VALUE attribute.

2011-10-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50718
        * gfortran.dg/pointer_check_11.f90: New.
        * gfortran.dg/pointer_check_12.f90: New.

From-SVN: r179988
2011-10-14 17:09:21 +02:00
Jakub Jelinek 8c3532055a sse.md (mulv2di3): Macroize using VI8_AVX2 iterator.
* config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2
	iterator.
	(ashl<mode>3): Use VI248_AVX2 iterator instead of VI248_128.
	Use <sseinsnmode> instead of TI in mode attr.

From-SVN: r179987
2011-10-14 17:05:55 +02:00
Arnaud Charlet af89615fea [multiple changes]
2011-10-14  Gary Dismukes  <dismukes@adacore.com>

	* sem_res.adb: Minor reformatting.

2011-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
	Code and comment reformatting. Use BIP_Task_Master
	when creating a _master.
	(BIP_Formal_Suffix): Code reformatting. Correct the case for
	BIP_Task_Master.
	(Make_Build_In_Place_Call_In_Object_Declaration): Use
	BIP_Task_Master when creating a reference to the enclosing
	function's _master formal.
	(Move_Activation_Chain): Use BIP_Task_Master when creating a reference
	to the _master.
	* exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
	(Needs_BIP_Finalization_Master): Alphabetized.
	* sem_ch6.adb (Create_Extra_Formals): Update the usage of
	BIP_Task_Master.

2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
	reject an aliased keyword on the object declaration of an extended
	return statement. In older versions of the language indicate
	that this is illegal in the standard.

2011-10-14  Pascal Obry  <obry@adacore.com>

	* sem_util.adb, sem_ch4.adb: Minor reformatting.

2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb: Recognize properly procedure calls that are
	transformed into code statements.

2011-10-14  Vincent Celier  <celier@adacore.com>

	* projects.texi: Minor fix in project example.

From-SVN: r179986
2011-10-14 17:03:39 +02:00
Arnaud Charlet f2d10a021b [multiple changes]
2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb: Return objects are aliased if their type is
	immutably limited as per AI05-0053.

2011-10-14  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
	expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
	Short_Circuit_And_Or expansion code (moved to sem_res).
	* sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
	"and" and "or" operators as short-circuit "and then" and "or
	else", when pragma Short_Circuit_And_Or is active.

From-SVN: r179985
2011-10-14 16:56:46 +02:00
Paolo Carlini 008d5fccd8 re PR c++/38174 (Missing some built-in candidates for operator overloading)
/cp
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38174
	* call.c (add_builtin_candidate): If two pointers have a composite
	pointer type, generate a single candidate with that type.

/testsuite
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38174
	* g++.dg/overload/operator4.C: New.

From-SVN: r179984
2011-10-14 14:43:03 +00:00
David Alan Gilbert e11a4c8086 di-longlong64-sync-1.c: New test.
gcc/testsuite/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* gcc.dg/di-longlong64-sync-1.c: New test.
	* gcc.dg/di-sync-multithread.c: New test.
	* gcc.target/arm/di-longlong64-sync-withhelpers.c: New test.
	* gcc.target/arm/di-longlong64-sync-withldrexd.c: New test.
	* lib/target-supports.exp: (arm_arch_*_ok): Series of effective-target
	tests for v5, v6, v6k, and v7-a, and add-options helpers.
	(check_effective_target_arm_arm_ok): New helper.
	(check_effective_target_sync_longlong): New helper.

From-SVN: r179983
2011-10-14 14:39:32 +00:00
David Alan Gilbert 41aac0de5b linux-atomic-64bit.c: New (based on linux-atomic.c).
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* config/arm/linux-atomic-64bit.c: New (based on linux-atomic.c).
	* config/arm/linux-atomic.c: Change comment to point to 64bit version.
	(SYNC_LOCK_RELEASE): Instantiate 64bit version.
	* config/arm/t-linux-eabi: Pull in linux-atomic-64bit.c.

From-SVN: r179982
2011-10-14 14:39:10 +00:00
David Alan Gilbert cfe527436c arm.c (arm_output_ldrex): Support ldrexd.
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* config/arm/arm.c (arm_output_ldrex): Support ldrexd.
	(arm_output_strex): Support strexd.
	(arm_output_it): New helper to output it in Thumb2 mode only.
	(arm_output_sync_loop): Support DI mode.  Change comment to
	not support const_int.
	(arm_expand_sync): Support DI mode.
	* config/arm/arm.h (TARGET_HAVE_LDREXBHD): Split into LDREXBH
	and LDREXD.
	* config/arm/iterators.md (NARROW): move from sync.md.
	(QHSD): New iterator for all current ARM integer modes.
	(SIDI): New iterator for SI and DI modes only.
	* config/arm/sync.md (sync_predtab): New mode_attr.
	(sync_compare_and_swapsi): Fold into sync_compare_and_swap<mode>.
	(sync_lock_test_and_setsi): Fold into sync_lock_test_and_setsi<mode>.
	(sync_<sync_optab>si): Fold into sync_<sync_optab><mode>.
	(sync_nandsi): Fold into sync_nand<mode>.
	(sync_new_<sync_optab>si): Fold into sync_new_<sync_optab><mode>.
	(sync_new_nandsi): Fold into sync_new_nand<mode>.
	(sync_old_<sync_optab>si): Fold into sync_old_<sync_optab><mode>.
	(sync_old_nandsi): Fold into sync_old_nand<mode>.
	(sync_compare_and_swap<mode>): Support SI & DI.
	(sync_lock_test_and_set<mode>): Likewise.
	(sync_<sync_optab><mode>): Likewise.
	(sync_nand<mode>): Likewise.
	(sync_new_<sync_optab><mode>): Likewise.
	(sync_new_nand<mode>): Likewise.
	(sync_old_<sync_optab><mode>): Likewise.
	(sync_old_nand<mode>): Likewise.
	(arm_sync_compare_and_swapsi): Turn into iterator on SI & DI.
	(arm_sync_lock_test_and_setsi): Likewise.
	(arm_sync_new_<sync_optab>si): Likewise.
	(arm_sync_new_nandsi): Likewise.
	(arm_sync_old_<sync_optab>si): Likewise.
	(arm_sync_old_nandsi): Likewise.
	(arm_sync_compare_and_swap<mode> NARROW): use sync_predtab, fix indent.
	(arm_sync_lock_test_and_setsi<mode> NARROW): Likewise.
	(arm_sync_new_<sync_optab><mode> NARROW): Likewise.
	(arm_sync_new_nand<mode> NARROW): Likewise.
	(arm_sync_old_<sync_optab><mode> NARROW): Likewise.
	(arm_sync_old_nand<mode> NARROW): Likewise.

From-SVN: r179981
2011-10-14 14:38:58 +00:00
David Alan Gilbert 3e2a46fe39 re PR target/48126 (arm_output_sync_loop: misplaced memory barrier)
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	PR target/48126
	* config/arm/arm.c (arm_output_sync_loop): Move label before barrier.

From-SVN: r179980
2011-10-14 14:38:42 +00:00
David Alan Gilbert 80651d8e1c arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.

From-SVN: r179979
2011-10-14 14:38:30 +00:00
Paolo Carlini f5fb344bf9 invoke.texi ([Wformat-zero-length]): Tidy.
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/invoke.texi ([Wformat-zero-length]): Tidy.

From-SVN: r179978
2011-10-14 14:03:53 +00:00
Jakub Jelinek 9dd58aa41c gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr also on COND_EXPR/VEC_COND_EXPR comparison operands if...
* gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr
	also on COND_EXPR/VEC_COND_EXPR comparison operands if they are
	ADDR_EXPRs.

From-SVN: r179969
2011-10-14 14:05:43 +02:00
François Dumont 9918dc0f99 41975.cc: New.
2011-10-14  François Dumont  <francois.cppdevs@free.fr>

	* testsuite/performance/23_containers/insert_erase/41975.cc: New.

From-SVN: r179968
2011-10-14 11:25:27 +00:00
Richard Guenther f6e52e91bd re PR tree-optimization/50723 (internal compiler error: verify_ssa failed)
2011-10-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50723
	* ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.

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

From-SVN: r179967
2011-10-14 11:03:06 +00:00