Commit Graph

128427 Commits

Author SHA1 Message Date
Jan Hubicka
7fea98d8cf ipa.c (function_and_variable_visibility): Also clear WEAK flag when disolving COMDAT_GROUP.
* ipa.c (function_and_variable_visibility): Also clear WEAK
	flag when disolving COMDAT_GROUP.

From-SVN: r207878
2014-02-19 07:45:00 +00:00
Jan Hubicka
0a2550e705 ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
* ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
	* ipa-prop.c (ipa_set_jf_known_type): Return early when
	not devirtualizing.
	(ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
	do more sanity checks.
	(detect_type_change): Return true when giving up early.
	(compute_complex_assign_jump_func): Fix type parameter of
	ipa_set_ancestor_jf.
	(compute_complex_ancestor_jump_func): Likewise.
	(update_jump_functions_after_inlining): Fix updating of
	ancestor function.
	* ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type
	to be NULL.

From-SVN: r207877
2014-02-19 07:42:06 +00:00
Jan Hubicka
2dbe8b7088 cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove inline clones when edge disappears.
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
	inline clones when edge disappears.

From-SVN: r207875
2014-02-19 07:33:45 +00:00
Marek Polacek
cc28fc7fe9 re PR c/60195 (Strange warnings using atomic types)
PR c/60195
c/
	* c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
	Call mark_exp_read on exp.value.
	(build_atomic_assign): Set TREE_NO_WARNING on val and old.  Set
	TREE_ADDRESSABLE on old instead of val.
	(emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
testsuite/
	* gcc.dg/pr60195.c: New test.

From-SVN: r207873
2014-02-19 06:29:49 +00:00
Paul Pluzhnikov
07716f8d54 no-vfa-vect-depend-2.c (main1): Fix buffer overflow.
2014-02-19  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* gcc.dg/vect/no-vfa-vect-depend-2.c (main1): Fix buffer
	overflow.

From-SVN: r207872
2014-02-18 22:21:42 -08:00
Jakub Jelinek
179652df33 re PR preprocessor/58844 (ICE with invalid use of ##)
PR preprocessor/58844
	* macro.c (enter_macro_context): Only push
	macro_real_token_count (macro) tokens rather than
	macro->count tokens, regardless of
	CPP_OPTION (pfile, track-macro-expansion).

	* c-c++-common/cpp/pr58844-1.c: New test.
	* c-c++-common/cpp/pr58844-2.c: New test.

From-SVN: r207871
2014-02-19 07:05:55 +01:00
Balaji V. Iyer
0cfe1b4698 + * include/cilk/common.h (__CILKRTS_ABI_VERSION): Set the ABI version + to 1 instead of 0.
2014-02-18  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+	* include/cilk/common.h (__CILKRTS_ABI_VERSION): Set the ABI version
+	to 1 instead of 0.
+	* runtime/cilk-abi-cilk-for.cpp (cilk_for_recursive): Added a fix to
+	initialize stack frame correctly.
+

From-SVN: r207870
2014-02-18 19:43:21 -08:00
Michael Meissner
b9809dc4cf re PR target/60203 (Support long double/_Decimal128 direct move on power8)
2014-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/60203
	* config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
	Split 64-bit moves into 2 patterns.  Do not allow the use of
	direct move for TDmode in little endian, since the decimal value
	has little endian bytes within a word, but the 64-bit pieces are
	ordered in a big endian fashion, and normal subreg's of TDmode are
	not allowed.
	(mov<mode>_64bit_dm): Likewise.
	(movtd_64bit_nodm): Likewise.

From-SVN: r207868
2014-02-19 02:14:17 +00:00
GCC Administrator
4785ca2660 Daily bump.
From-SVN: r207863
2014-02-19 00:16:52 +00:00
Eric Botcazou
bababbfb57 re PR tree-optimization/60174 (ICE on ACATS cc3305a)
PR tree-optimization/60174
	* tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
	statement of an SSA_NAME that occurs in an abnormal PHI node.

From-SVN: r207859
2014-02-18 23:15:27 +00:00
Paolo Carlini
a1535f524b re PR c++/60225 ([c++11] ICE initializing constexpr array)
/cp
2014-02-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60225
	* semantics.c (ensure_literal_type_for_constexpr_object): Use
	strip_array_types.

/testsuite
2014-02-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60225
	* g++.dg/cpp0x/constexpr-ice10.C: New.

/cp
2014-02-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60215
	* semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]):
	During error recovery allow_non_constant may be false.

/testsuite
2014-02-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60215
	* g++.dg/cpp0x/pr60215.C: New.

From-SVN: r207858
2014-02-18 23:11:26 +00:00
Adam Butcher
75e9d9a0fa re PR c++/60064 ([c++1y] ICE with auto as parameter of friend function)
Fix PR c++/60064.

    PR c++/60064
    * parser.c (cp_parser_member_declaration): Pop fully implicit template
    scope for generic friend declarations as well as for non-friends.

    PR c++/60064
    * g++.dg/cpp1y/pr60064.C: New testcase.

From-SVN: r207856
2014-02-18 22:29:56 +00:00
Tobias Burnus
4ea4bf9c33 Really add the new testsuite files missing from commit r207854
2014-02-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49397
        * gfortran.dg/proc_ptr_45.f90: New.
        * gfortran.dg/proc_ptr_46.f90: New.

From-SVN: r207855
2014-02-18 23:29:00 +01:00
Tobias Burnus
ab1668f602 re PR fortran/49397 ([F03] ICE with proc pointer assignment)
2014-02-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49397
        * expr.c (gfc_check_pointer_assign): Add check for
        F2008Cor2, C729.
        * trans-decl.c (gfc_get_symbol_decl): Correctly generate
        * external
        decl in a corner case.

2014-02-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49397
        * gfortran.dg/proc_ptr_45.f90: New.
        * gfortran.dg/proc_ptr_46.f90: New.

From-SVN: r207854
2014-02-18 23:09:39 +01:00
Jakub Jelinek
70aacc9798 re PR sanitizer/60142 ([asan] -fsanitize=address breaks debugging - stepping into functions no longer possible)
PR sanitizer/60142
	* final.c (SEEN_BB): Remove.
	(SEEN_NOTE, SEEN_EMITTED): Renumber.
	(final_scan_insn): Don't force_source_line on second
	NOTE_INSN_BASIC_BLOCK.

From-SVN: r207853
2014-02-18 22:16:21 +01:00
Adam Butcher
b19fd0fd71 re PR c++/60190 ([c++1y] ICE with invalid return type of template lambda)
Fix PR c++/60190.

	PR c++/60190
	* parser.c (cp_parser_lambda_declarator_opt): Pop template parameter
	scope whenever a template parameter list has been started, independent
	of whether the function call operator was well-formed or not.

	PR c++/60190
	* g++.dg/cpp1y/pr60190.C: New testcase.

From-SVN: r207852
2014-02-18 21:07:48 +00:00
Uros Bizjak
223cdd1548 re PR target/60205 (No ABI warning for AVX-512)
PR target/60205
	* config/i386/i386.h (struct ix86_args): Add warn_avx512f.
	* config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
	(type_natural_mode): Warn ABI change when %zmm register is not
	available for AVX512F vector value passing.

testsuite/ChangeLog:

	PR target/60205
	* gcc.target/i386/pr60205-1.c: New test.
	* gcc.target/i386/pr60205-2.c: Ditto.

From-SVN: r207851
2014-02-18 19:55:35 +01:00
Kai Tietz
0bb4fc0517 re PR objc/56870 (@catch handler broken with SEH)
2014-02-18  Kai Tietz  <ktietz@redhat.com>
	Jonathan Schleifer  <js@webkeks.org>

	PR objc/56870
	* unwind-seh.c (_GCC_specific_handler): Pass proper
	value to unwind-handler.


Co-Authored-By: Jonathan Schleifer <js@webkeks.org>

From-SVN: r207849
2014-02-18 18:02:54 +01:00
Kai Tietz
48810be0cd re PR target/60193 (ICE on big nested frame)
2014-02-18  Kai Tietz  <ktietz@redhat.com>

	PR target/60193
	* config/i386/i386.c (ix86_expand_prologue): Use
	rax register as displacement for restoring %r10, %rax.
	Additional fix wrong offset for restoring both-registers.

2014-02-18  Kai Tietz  <ktietz@redhat.com>

	PR target/60193
	* gcc.target/i386/nest-1.c: New testcase.

From-SVN: r207844
2014-02-18 13:49:15 +01:00
Arnaud Charlet
2c9f8c0afa [multiple changes]
2014-02-18  Robert Dewar  <dewar@adacore.com>

	* cstand.adb (Build_Signed_Integer_Type): Minor change of formal
	from Int to Nat (Build_Unsigned_Integer_Type): New procedure
	(Create_Standard): Create new unsigned types.
	* exp_ch4.adb (Expand_N_Op_Mod): Expand mod in Modify_Tree_For_C
	mode (Expand_N_Reference): Removed, problematic and not needed
	for now.
	* exp_ch4.ads (Expand_N_Reference): Removed, problematic and
	not needed for now.
	* exp_util.ads, exp_util.adb (Power_Of_Two): New function.
	* expander.adb: Remove call to Expand_N_Reference (problematic,
	and not needed now).
	* sem_aux.ads, sem_aux.adb (Corresponding_Unsigned_Type): New function.
	* stand.adb: Read and write unsigned type entities.
	* stand.ads: Add new unsigned types.

2014-02-18  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch4.adb (Analyze_Call): Do not mark a function call
	as being inside an assertion expression as the flag is now removed.
	(Check_Ghost_Subprogram_Call): Do not query the
	In_Assertion_Expression flag as it is now removed, instead use
	a predicate function.
	* sem_elab.adb (Check_Internal_Call_Continue): Do not query the
	In_Assertion_Expression flag as it is now removed, instead use
	a predicate function.
	* sem_prag.ads: Add new table Assertion_Expression_Pragma.
	* sem_util.adb Add with and use clause for Sem_Prag.
	(In_Assertion_Expression_Pragma): New routine.
	* sem_util.ads (In_Assertion_Expression_Pragma): New routine.
	* sinfo.adb (In_Assertion_Expression): Removed.
	(Set_In_Assertion_Expression): Removed.
	* sinfo.ads Remove flag In_Assertion_Expression along with its
	use in nodes.
	(In_Assertion_Expression): Removed along with
	pragma Inline.	(Set_In_Assertion_Expression): Removed along
	with pragma Inline.

2014-02-18  Sergey Rybin  <rybin@adacore.com frybin>

	* gnat_ugn.texi: gnatpp section: add note that '-j' cannot be
	used together with '-r', '-rf' or '-rnb' options.

2014-02-18  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Comment
	and code reformatting. Use separate routines to check the
	legality of attribute 'Old in certain pragmas. Verify
	the use of 'Old, 'Result and locally declared entities
	within the prefix of 'Old.
	(Check_References_In_Prefix): New routine.
	(Check_Use_In_Contract_Cases): New routine.
	(Check_Use_In_Test_Case): New routine.

From-SVN: r207843
2014-02-18 12:56:35 +01:00
Vincent Celier
3b821fe9fe sem_aux.adb (Is_By_Reference_Type): For each components of a record type...
2014-02-18  Vincent Celier  <celier@adacore.com>

	* sem_aux.adb (Is_By_Reference_Type): For each components of
	a record type, check also if the component is volatile as it
	may have an aspect that makes it volatile. If it is, then the
	record type is a by reference type.

From-SVN: r207842
2014-02-18 12:54:13 +01:00
Robert Dewar
365c849669 exp_attr.adb: Minor reformatting.
2014-02-18  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb: Minor reformatting.
	* exp_ch4.ads, exp_ch4.adb (Expand_N_Reference): New procedure.
	* exp_util.adb (Remove_Side_Effects): Add conditional expressions
	as another case where we don't generate N_Reference nodes for
	primitive types.
	* expander.adb (Expand): Add call to Expand_N_Reference.

From-SVN: r207841
2014-02-18 12:52:58 +01:00
Eric Botcazou
20afe6403b ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous assertion with conditional return.
* ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
	assertion with conditional return.

From-SVN: r207838
2014-02-18 11:07:34 +00:00
Janus Weil
2a144f64c9 re PR fortran/60231 (ICE on undefined generic)
2014-02-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60231
	* resolve.c (check_generic_tbp_ambiguity): Check for presence of dummy
	arguments to prevent ICE.


2014-02-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60231
	* gfortran.dg/typebound_generic_15.f90: New.

From-SVN: r207836
2014-02-18 08:45:39 +01:00
Jakub Jelinek
d0b50387bc re PR driver/60233 (AVX instructions emitted with -march=native on host without AVX support)
PR driver/60233
	* config/i386/driver-i386.c (host_detect_local_cpu): If
	YMM state is not saved by the OS, also clear has_f16c.  Move
	CPUID 0x80000001 handling before YMM state saving checking.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r207833
2014-02-18 08:19:46 +01:00
Andrey Belevantsev
c4cd7435e4 re PR rtl-optimization/58960 (ICE in bmp_iter_set_init)
PR rtl-optimization/58960
        * haifa-sched.c (alloc_global_sched_pressure_data): New,
        factored out from ...
        (sched_init): ... here.
        (free_global_sched_pressure_data): New, factored out from ...
        (sched_finish): ... here.
        * sched-int.h (free_global_sched_pressure_data): Declare.
        * sched-rgn.c (nr_regions_initial): New static global.
        (haifa_find_rgns): Initialize it.
        (schedule_region): Disable sched-pressure for the newly
        generated regions.

From-SVN: r207832
2014-02-18 09:41:29 +04:00
GCC Administrator
877ae087f4 Daily bump.
From-SVN: r207831
2014-02-18 00:16:54 +00:00
Loren J. Rittle
37f2c4f004 * MAINTAINERS (Various Maintainers: c++ runtime libs): Remove myself.
From-SVN: r207828
2014-02-17 19:27:01 +00:00
Richard Biener
f0281fde20 tree-vect-stmts.c (free_stmt_vec_info): Clear BB and release SSA defs of pattern stmts.
2014-02-17  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
	release SSA defs of pattern stmts.

From-SVN: r207826
2014-02-17 15:34:03 +00:00
Richard Biener
c742772ca2 tree-inline.c (expand_call_inline): Release the virtual operand defined by the call we are about to inline.
2014-02-17  Richard Biener  <rguenther@suse.de>

	* tree-inline.c (expand_call_inline): Release the virtual
	operand defined by the call we are about to inline.

From-SVN: r207825
2014-02-17 15:23:19 +00:00
Richard Biener
0492158e94 tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
2014-02-17  Richard Biener  <rguenther@suse.de>

	* tree-ssa.c (verify_ssa): If verify_def found an error, ICE.

From-SVN: r207824
2014-02-17 14:10:42 +00:00
Janus Weil
ce18e2a6a1 re PR fortran/55907 (ICE with -fno-automatic -finit-local-zero)
2014-02-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55907
	* resolve.c (build_default_init_expr): Don't initialize character
	variable if -fno-automatic is given.


2014-02-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55907
	* gfortran.dg/init_flag_12.f90: New.

From-SVN: r207823
2014-02-17 13:46:52 +01:00
Eric Botcazou
248d745ac2 re PR libffi/60073 (64-bit libffi.call/cls_double_va.c FAILs after recent modification)
PR libffi/60073
	* src/sparc/v8.S: Assemble only if !SPARC64.
	* src/sparc/v9.S: Remove obsolete comment.
	* src/sparc/ffitarget.h (enum ffi_abi): Add FFI_COMPAT_V9.
	(V8_ABI_P): New macro.
	(V9_ABI_P): Likewise.
	(FFI_EXTRA_CIF_FIELDS): Define only if SPARC64.
	* src/sparc/ffi.c (ffi_prep_args_v8): Compile only if !SPARC64.
	(ffi_prep_args_v9): Compile only if SPARC64.
	(ffi_prep_cif_machdep_core): Use V9_ABI_P predicate.
	(ffi_prep_cif_machdep): Guard access to nfixedargs field.
	(ffi_prep_cif_machdep_var): Likewise.
	(ffi_v9_layout_struct): Compile only if SPARC64.
	(ffi_call): Deal with FFI_V8PLUS and FFI_COMPAT_V9 and fix warnings.
	(ffi_prep_closure_loc): Use V9_ABI_P and V8_ABI_P predicates.
	(ffi_closure_sparc_inner_v8): Compile only if !SPARC64.
	(ffi_closure_sparc_inner_v9): Compile only if SPARC64.  Guard access
	to nfixedargs field.

From-SVN: r207822
2014-02-17 12:00:04 +00:00
Kirill Yukhin
583a9919ad avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap arguments order in builtin.
gcc/
	* config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
	arguments order in builtin.
	(_mm512_permutexvar_epi64): Ditto.
	(_mm512_mask_permutexvar_epi64): Ditto
	(_mm512_maskz_permutexvar_epi32): Ditto
	(_mm512_permutexvar_epi32): Ditto
	(_mm512_mask_permutexvar_epi32): Ditto

gcc/testsuite/
	* gcc.target/i386/avx512f-vpermd-2.c: Fix reference calculations.
	* gcc.target/i386/avx512f-vpermpd-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermps-2.c: Ditto.
	* gcc.target/i386/avx512f-vpermq-var-2.c: Ditto.


Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>

From-SVN: r207821
2014-02-17 11:26:08 +00:00
Kugan Vivekanandarajah
6c01e96e5e MAINTAINERS (Write After Approval): Add myself.
2014-02-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r207820
2014-02-17 10:58:31 +00:00
Jan Hubicka
cd282a6d96 Revert accidental checkin.
From-SVN: r207818
2014-02-17 09:23:41 +00:00
Bill Schmidt
d737743fce altivec.md (p8_vmrgew): Handle little endian targets.
2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (p8_vmrgew): Handle little endian
	targets.
	(p8_vmrgow): Likewise.

From-SVN: r207815
2014-02-17 02:01:42 +00:00
Bill Schmidt
54c4bfd767 vsx.md (vsx_xxpermdi_<mode>): Handle little endian targets.
2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
	endian targets.

From-SVN: r207814
2014-02-17 02:00:26 +00:00
GCC Administrator
12dbb687e9 Daily bump.
From-SVN: r207813
2014-02-17 00:16:58 +00:00
Richard Sandiford
5f4dd4729c gcc/testsuite/
* lib/target-supports.exp
	(check_effective_target_logical_op_short_circuit): New procedure.
	* gcc.dg/binop-xor1.c: XFAIL for logical_op_short_circuit.
	* gcc.dg/tree-ssa/forwprop-28.c: Use logical_op_short_circuit
	instead of mips*-*-*, arc*-*-*, avr*-*-* and arm_cortex_m tests.
	* gcc.dg/tree-ssa/vrp47.c: Likewise.
	* gcc.dg/tree-ssa/vrp87.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Likewise.  Also use
	logical_op_short_circuit for the alternative test, extending
	it to arm_cortex_m.

From-SVN: r207810
2014-02-16 21:58:43 +00:00
Michael Meissner
518fea64fc re PR target/60203 (Support long double/_Decimal128 direct move on power8)
[gcc]
2014-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/60203
	* config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
	(mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
	into 64-bit and 32-bit moves.  On 64-bit moves, add support for
	using direct move instructions on ISA 2.07.  Also adjust
	instruction length for 64-bit.
	(mov<mode>_64bit, TFmode/TDmode): Likewise.
	(mov<mode>_32bit, TFmode/TDmode): Likewise.

[gcc/testsuite]
2014-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/60203
	* gcc.target/powerpc/pr60203.c: New testsuite.

From-SVN: r207808
2014-02-16 03:08:03 +00:00
GCC Administrator
71a03f516f Daily bump.
From-SVN: r207807
2014-02-16 00:16:58 +00:00
Mikael Morin
f0cbaeb80b re PR fortran/59599 (Compiler internal error on intrinsic ichar)
fortran/
        PR fortran/59599
        * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Calculate the
        number of arguments.

testsuite/
        PR fortran/59599
        * gfortran.dg/ichar_3.f90: New test.

From-SVN: r207799
2014-02-15 11:48:41 +00:00
Alan Modra
6164091674 re PR target/58675 (ICE in rs6000_secondary_reload_inner:15460, type = store)
PR target/58675
	PR target/57935
	* config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
	find_replacement on parts of insn rtl that might be reloaded.

From-SVN: r207798
2014-02-15 21:19:55 +10:30
Richard Biener
a2b33cc36b re PR tree-optimization/60183 (phiprop creates invalid code)
2014-02-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/60183
	* tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating
	loads.
	(tree_ssa_phiprop): Calculate and free post-dominators.

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

From-SVN: r207797
2014-02-15 09:54:52 +00:00
GCC Administrator
cd7734ca9e Daily bump.
From-SVN: r207796
2014-02-15 00:17:04 +00:00
Jeff Law
059742a47f re PR rtl-optimization/60131 (RTL check fail in rhs_regno)
PR rtl-optimization/60131
	* ree.c (get_extended_src_reg): New function.
	(combine_reaching_defs): Use it rather than assuming location
	of REG.
	(find_and_remove_re): Verify first operand of extension is
	a REG before adding the insns to the copy list.

	PR rtl-optimization/60131
	* g++.dg/torture/pr60131.C: New test.

From-SVN: r207792
2014-02-14 13:26:31 -07:00
Roland McGrath
88f7c49a8b Use ud2 assembly mnemonic when available.
gcc/
	* configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
	* configure: Regenerated.
	* config.in: Regenerated.
	* config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
	instead of ASM_SHORT.

From-SVN: r207789
2014-02-14 17:37:23 +00:00
Ian Bolton
f8cdff388d Skip test if -mfloat-abi=hard specified
From-SVN: r207788
2014-02-14 17:20:46 +00:00
Vladimir Makarov
2ae577fdbd re PR rtl-optimization/59535 (-Os code size regressions for Thumb1/Thumb2 with LRA)
2014-02-14  Vladimir Makarov  <vmakarov@redhat.com>
	    Richard Earnshaw  <rearnsha@arm.com>

	PR rtl-optimization/59535
	* lra-constraints.c (process_alt_operands): Encourage alternative
	when unassigned pseudo class is superset of the alternative class.
	(inherit_reload_reg): Don't inherit when optimizing for code size.
	* config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
	returning CORE_REGS for anything but Thumb1 and BASE_REGS for
	modes not less than 4 for Thumb1.


Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r207787
2014-02-14 16:18:29 +00:00