Commit Graph

127615 Commits

Author SHA1 Message Date
Jakub Jelinek
1c76069c9d re PR testsuite/59494 (FAIL: gfortran.dg/vect/fast-math-mgrid-resid.f scan-tree-dump-times optimized "vect_[^\\n]*\\+ " 13)
PR testsuite/59494
	* gfortran.dg/vect/fast-math-mgrid-resid.f: Change
	-fdump-tree-optimized to -fdump-tree-pcom-details in dg-options and
	cleanup-tree-dump from optimized to pcom.  Remove scan-tree-dump-times
	for vect_\[^\\n\]*\\+, add scan-tree-dump-times for no suitable chains and
	Executing predictive commoning without unrolling.

From-SVN: r206598
2014-01-14 10:00:30 +01:00
Joey Ye
a984e92e9e plugin.texi (Building GCC plugins): Update to C++.
2014-01-14  Joey Ye  <joey.ye@arm.com>

        * doc/plugin.texi (Building GCC plugins): Update to C++.

From-SVN: r206597
2014-01-14 07:29:25 +00:00
Kirill Yukhin
c56a42b9be avx512erintrin.h (_mm_rcp28_round_sd): New.
gcc/
        * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
        (_mm_rcp28_round_ss): Ditto.
        (_mm_rsqrt28_round_sd): Ditto.
        (_mm_rsqrt28_round_ss): Ditto.
        (_mm_rcp28_sd): Ditto.
        (_mm_rcp28_ss): Ditto.
        (_mm_rsqrt28_sd): Ditto.
        (_mm_rsqrt28_ss): Ditto.
        * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
        * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
        * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
        (IX86_BUILTIN_RCP28SD): Ditto.
        (IX86_BUILTIN_RCP28SS): Ditto.
        (IX86_BUILTIN_RSQRT28SD): Ditto.
        (IX86_BUILTIN_RSQRT28SS): Ditto.
        (bdesc_special_args): Define __builtin_ia32_movntdqa512,
        __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
        __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
        (ix86_expand_special_args_builtin): Expand new FTYPE.
        * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
        (srcp14<mode>): Make insn unary.
        (avx512f_vmscalef<mode><round_name>): Use substed predicate.
        (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
        (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
        (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
        (avx512er_exp2<mode><mask_name><round_saeonly_name>):
        Fix rounding: make it SAE only.
        (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): Ditto.
        (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): Ditto.
        (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
        (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
        (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
        * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
        (round_saeonly_mask_scalar_operand4): Ditto.
        (round_saeonly_mask_scalar_op3): Ditto.
        (round_saeonly_mask_scalar_op4): Ditto.

gcc/testsuite/
        * gcc.target/i386/avx-1.c: Fix __builtin_ia32_exp2ps_mask,
        __builtin_ia32_exp2pd_mask, __builtin_ia32_rcp28ps_mask,
        __builtin_ia32_rcp28pd_mask, __builtin_ia32_rsqrt28ps_mask,
        __builtin_ia32_rsqrt28pd_mask. Add __builtin_ia32_rcp28ss_round,
        __builtin_ia32_rcp28sd_round, __builtin_ia32_rsqrt28ss_round,
        __builtin_ia32_rsqrt28sd_round.
        * gcc.target/i386/avx512er-vexp2pd-1.c: Fix rounding mode.
        * gcc.target/i386/avx512er-vexp2ps-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28pd-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28sd-1.c: New.
        * gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
        * gcc.target/i386/avx512f-vmovntdqa-1.c: Ditto.
        * gcc.target/i386/avx512f-vmovntdqa-2.c: Ditto.
        * gcc.target/i386/avx512f-vrcp14sd-2.c: Fix.
        * gcc.target/i386/avx512f-vrcp14ss-2.c: Ditto.
        * gcc.target/i386/sse-22.c: Extend with new built-ins,
        fix wrong rounding mode (see above).
        * gcc.target/i386/sse-23.c: Ditto.

From-SVN: r206596
2014-01-14 06:21:06 +00:00
GCC Administrator
e5e46f5ee5 Daily bump.
From-SVN: r206593
2014-01-14 00:16:45 +00:00
Bill Schmidt
09fccb6243 rs6000-c.c (altivec_resolve_overloaded_builtin): Implement -maltivec=be for vec_insert and vec_extract.
gcc:

2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Implement -maltivec=be for vec_insert and vec_extract.

gcc/testsuite:

2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/insert.c: New.
	* gcc.dg/vmx/insert-be-order.c: New.
	* gcc.dg/vmx/extract.c: New.
	* gcc.dg/vmx/extract-be-order.c: New.

From-SVN: r206590
2014-01-13 23:18:05 +00:00
François Dumont
51835a800d set.h (set): Implement C++11 allocator-aware container requirements.
2014-01-13  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/set.h (set): Implement C++11 allocator-aware
	container requirements.
	* include/debug/map.h (map): Likewise.
	* include/debug/multiset.h (multiset): Likewise.
	* include/debug/multimap.h (multimap): Likewise.
	* include/debug/set.h (set::operator=(set&&)): Add noexcept and
	fix implementation regarding management of safe iterators.
	* include/debug/map.h (map::operator=(map&&)): Likewise.
	* include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
	* include/debug/multimap.h (multimap::operator=(multimap&&)):
	Likewise.
	* include/debug/set.h (set::operator=(std::initializer_list<>)):
	Rely on the same operator from normal mode.
	* include/debug/map.h (map::operator=(std::initializer_list<>)):
	Likewise.
	* include/debug/multiset.h
	(multiset::operator=(std::initializer_list<>)): Likewise.
	* include/debug/multimap.h
	(multimap::operator=(std::initializer_list<>)): Likewise.
	* include/debug/set.h (set::swap(set&)): Add noexcept
	specification, add allocator equality check.
	* include/debug/map.h (map::swap(map&)): Likewise.
	* include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
	* include/debug/multimap.h (multimap::swap(multimap&)): Likewise.

From-SVN: r206588
2014-01-13 20:07:22 +00:00
H.J. Lu
ed100f5d64 Make sure that -msse/-mavx are appended at the end
PR libitm/53113
	* Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
	(x86_avx.lo): Append -mavx to CXXFLAGS.
	* Makefile.in: Regenerate.

From-SVN: r206587
2014-01-13 11:36:17 -08:00
DJ Delorie
fb28dac0ff msp430.md (call_internal): Don't allow memory references with SP as the base register.
* config/msp430/msp430.md (call_internal): Don't allow memory
references with SP as the base register.
(call_value_internal): Likewise.
* config/msp430/constraints.md (Yc): New.  For memory references
that don't use SP as a base register.

* config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
"an integer without a # prefix"
* config/msp430/msp430.md (epilogue_helper): Use it.

From-SVN: r206586
2014-01-13 14:17:45 -05:00
Jakub Jelinek
03b9e8e48d re PR tree-optimization/59617 ([vectorizer] ICE in vectorizable_mask_load_store with AVX-512F's gathers enabled.)
PR target/59617
	* config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
	AVX512F gather builtins.
	* tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
	on gather decls with INTEGER_TYPE masktype.
	(vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
	directly into the builtin rather than hoisting it before loop.

From-SVN: r206585
2014-01-13 20:16:30 +01:00
Jakub Jelinek
19e51b409e re PR tree-optimization/59387 (wrong code (hangs) at -Os on x86_64-linux-gnu)
PR tree-optimization/59387
	* tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
	(scev_const_prop): If folded_casts and type has undefined overflow,
	use force_gimple_operand instead of force_gimple_operand_gsi and
	for each added stmt if it is assign with
	arith_code_with_undefined_signed_overflow, call
	rewrite_to_defined_overflow.
	* tree-ssa-loop-im.c: Don't include gimplify-me.h, include
	gimple-fold.h instead.
	(arith_code_with_undefined_signed_overflow,
	rewrite_to_defined_overflow): Moved to ...
	* gimple-fold.c (arith_code_with_undefined_signed_overflow,
	rewrite_to_defined_overflow): ... here.  No longer static.
	Include gimplify-me.h.
	* gimple-fold.h (arith_code_with_undefined_signed_overflow,
	rewrite_to_defined_overflow): New prototypes.

	* gcc.c-torture/execute/pr59387.c: New test.

From-SVN: r206583
2014-01-13 20:14:03 +01:00
Kyrylo Tkachov
cd794ed4c2 arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.

From-SVN: r206580
2014-01-13 15:58:47 +00:00
Richard Biener
b02281f225 lto.exp: Do check_effective_target_lto check before adjusting mathlib options.
2014-01-13  Richard Biener  <rguenther@suse.de>

	* g++.dg/lto/lto.exp: Do check_effective_target_lto check before
	adjusting mathlib options.
	* gfortran.dg/lto/lto.exp: Likewise.

From-SVN: r206577
2014-01-13 11:27:43 +00:00
Eric Botcazou
e75fde1a84 builtins.c (get_object_alignment_2): Minor tweak.
* builtins.c (get_object_alignment_2): Minor tweak.
	* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.

From-SVN: r206576
2014-01-13 10:36:27 +00:00
Christian Bruel
eae298d699 sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and optimized non constant lengths.
2014-01-13  Christian Bruel  <christian.bruel@st.com>

	* config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
	  optimized non constant lengths.

From-SVN: r206575
2014-01-13 10:16:48 +01:00
Jakub Jelinek
698da88a86 vect-simd-clone-10.c: Add dg-do run.
* gcc.dg/vect/vect-simd-clone-10.c: Add dg-do run.
	* gcc.dg/vect/vect-simd-clone-12.c: Likewise.

From-SVN: r206574
2014-01-13 10:13:15 +01:00
Jakub Jelinek
8175be9a83 re PR libgomp/59194 (tsan detects race for real variables in an OMP reduction clause)
PR libgomp/59194
	* omp-low.c (expand_omp_atomic_pipeline): Expand the initial
	load as __atomic_load_N if possible.

From-SVN: r206572
2014-01-13 08:56:40 +01:00
GCC Administrator
131241a395 Daily bump.
From-SVN: r206571
2014-01-13 00:17:02 +00:00
Eric Botcazou
2323a580f1 re PR ada/59772 (floating-point constants are not correctly encoded)
PR ada/59772
	* gcc-interface/cuintp.c (build_cst_from_int): Use 32-bit integer type
	as intermediate type.
	(UI_To_gnu): Likewise.

From-SVN: r206565
2014-01-12 14:29:12 +00:00
Janus Weil
a1b80ec7e0 re PR fortran/58026 ([F03] Bad error recovery for allocatable component of undeclared type)
2014-01-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58026
	* decl.c (gfc_match_data_decl): Improve error recovery.


2014-01-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58026
	* gfortran.dg/alloc_comp_basics_6.f90: New.

From-SVN: r206564
2014-01-12 12:08:31 +01:00
GCC Administrator
915afe4494 Daily bump.
From-SVN: r206563
2014-01-12 00:17:10 +00:00
Steven G. Kargl
e60c935b0e re PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item 0 in list input)
2014-01-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/59700
	* gfortran.dg/pr59700.f90: New test.

From-SVN: r206559
2014-01-11 21:38:30 +00:00
Jerry DeLisle
fde33df77c Missed file for previous commit.
From-SVN: r206558
2014-01-11 21:36:57 +00:00
Dominique d'Humieres
14817bebf0 re PR libfortran/59419 (Failing OPEN with FILE='xxx' and IOSTAT creates the file 'xxx' after revision 196783)
2014-01-11  Dominique d'Humieres  <dominiq@lps.ens.fr>

	* gfortran.dg/binding_label_tests_10_main.f03: Cleanup mod file.
	* gfortran.dg/use_only_3.f90: Likewise.
	* gfortran.dg/inquire_10.f90: Delete opened file.
	* gfortran.dg/inquire_15.f90: Likewise.
	* gfortran.dg/pr16597.f90: Likewise.
	* gfortran.dg/open_negative_unit_1.f90: Likewise + test
	for PR59419.

From-SVN: r206557
2014-01-11 21:30:43 +00:00
David Edelsohn
9c11136838 rs6000.c (rs6000_expand_mtfsf_builtin): Remove target parameter.
* config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
        target parameter.
        (rs6000_expand_builtin): Adjust call.

From-SVN: r206555
2014-01-11 14:25:54 -05:00
David Edelsohn
c82846bc44 re PR target/58115 (testcase gcc.target/i386/intrinsics_4.c failure)
PR target/58115
        * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
        * config/rs6000/rs6000.c: Include target-globals.h.
        (rs6000_set_current_function): Instead of doing target_reinit
        unconditionally, use save_target_globals_default_opts and
        restore_target_globals.

        * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
        FPSCR.
        * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
        (rs6000_expand_builtin): Handle mffs and mtfsf.
        (rs6000_init_builtins): Define mffs and mtfsf.
        * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New.
        (rs6000_mffs): New pattern.
        (rs6000_mtfsf): New pattern.

From-SVN: r206554
2014-01-11 13:57:56 -05:00
Jerry DeLisle
2558e2e838 re PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item 0 in list input)
2014-01-11  Jerry DeLisle  <jvdelisle@gcc.gnu>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR libfortran/59700
	PR libfortran/59764
	* io/io.h (struct st_parameter_dt): Assign expanded_read flag to
	unused bit. Define new variable line_buffer_pos.
	* io/list_read.c (free_saved, next_char, l_push_char,
	read_logical, read_real): Replace use of item_count with
	line_buffer_pos for line_buffer look ahead.
	(read_logical, read_integer, parse_real, read_real, check_type):
	Adjust location of free_line to after generating error messages
	to retain the correct item count for the message.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r206553
2014-01-11 18:57:20 +00:00
Bin Cheng
2c40742689 tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
* tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
	Start narrowing with START.  Apply candidate-use pair
	and check overall cost in narrowing.
	(iv_ca_prune): Pass new argument.

From-SVN: r206552
2014-01-11 09:33:39 +00:00
GCC Administrator
730e409386 Daily bump.
From-SVN: r206548
2014-01-11 00:16:58 +00:00
Jeff Law
7e41c852e3 re PR middle-end/59743 (ICE: Segmentation fault)
PR middle-end/59743
	* ree.c (combine_reaching_defs): Ensure the defining statement
	occurs before the extension when optimizing extensions with
	different source and destination hard registers.

	PR middle-end/59743
	* gcc.c-torture/compile/pr59743.c: New test.

From-SVN: r206545
2014-01-10 15:13:18 -07:00
Jan Hubicka
b270b096a1 re PR middle-end/58585 (ICE in ipa with virtual inheritance)
PR ipa/58585
	* ipa-devirt.c (build_type_inheritance_graph): Also add types of vtables
	into the type inheritance graph.

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

From-SVN: r206543
2014-01-10 21:34:37 +00:00
Jakub Jelinek
0d6d7b9a20 re PR rtl-optimization/59754 ([ree.c] Incorrect merge while working with vector registers)
PR rtl-optimization/59754
	* ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
	modes in the REGNO != REGNO case.

From-SVN: r206542
2014-01-10 22:27:52 +01:00
Bill Schmidt
110132c131 rs6000-builtin.def: Fix pasto for VPKSDUS.
2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.

From-SVN: r206541
2014-01-10 21:26:25 +00:00
Jakub Jelinek
4f87d581ad re PR tree-optimization/59745 (internal compiler error: tree check: expected tree that contains 'typed' structure, have '<invalid tree code>' in operand_equal_p, at fold-const.c:2492)
PR tree-optimization/59745
	* tree-predcom.c (tree_predictive_commoning_loop): Call
	free_affine_expand_cache if giving up because components is NULL.

From-SVN: r206540
2014-01-10 21:37:52 +01:00
Jakub Jelinek
5da969605f target-globals.c (save_target_globals): Allocate < 4KB structs using GC in payload of target_globals struct instead of...
* target-globals.c (save_target_globals): Allocate < 4KB structs using
	GC in payload of target_globals struct instead of allocating them on
	the heap and the larger structs separately using GC.
	* target-globals.h (struct target_globals): Make regs, hard_regs,
	reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
	of GTY((skip)) and change type to void *.
	(reset_target_globals): Cast loads from those fields to corresponding
	types.

From-SVN: r206539
2014-01-10 21:25:05 +01:00
Hans-Peter Nilsson
322b9977d2 * gcc.dg/pr46309.c: Disable for cris*-*-*.
From-SVN: r206537
2014-01-10 19:18:34 +00:00
Steve Ellcey
1aa26aacc4 re PR plugins/59335 (Plugin doesn't build on trunk)
2014-01-10  Steve Ellcey  <sellcey@mips.com>

	PR plugins/59335
	* Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
	gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
	tree-ssanames.h, print-tree.h, varasm.h, and context.h.

From-SVN: r206535
2014-01-10 17:54:10 +00:00
Eric Botcazou
8566e0e726 * gcc.target/arm/neon-nested-apcs.c: Tweak dg directives.
From-SVN: r206532
2014-01-10 16:10:37 +00:00
Richard Earnshaw
7783a24674 re PR target/59744 (miscompilation of unsigned comparison on aarch64)
PR target/59744
Fix ChangeLog typos in previous commit (r206529).

From-SVN: r206530
2014-01-10 15:21:21 +00:00
Richard Earnshaw
1c992d1e6b re PR c++/9744 (Explicit parameterization of templated return value fails within templated function)
PR target/9744

gcc:
	* aarch64-modes.def (CC_Zmode): New flags mode.
	* aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
	represents an equality.
	(aarch64_get_condition_code0): Handle CC_Zmode.
	* aarch64.md (compare_neg<mode>): Restrict to equality operations.

gcc/testsuite:
	* gcc.target/aarch64/cmn-neg.c: Use equality comparisons.
	* gcc.target/aarch64/cmn-neg2.c: New test.

From-SVN: r206529
2014-01-10 15:12:03 +00:00
Andreas Krebbel
86464cbd91 s390.c (s390_expand_tbegin): Remove jump over CC extraction in good case.
2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
	extraction in good case.

From-SVN: r206527
2014-01-10 14:59:41 +00:00
Jonathan Wakely
48c7451eee re PR libstdc++/59699 (Effective C++ has moved)
PR libstdc++/59699
	* doc/xml/manual/support.xml (std.support.types.null): Update links.

From-SVN: r206526
2014-01-10 14:30:32 +00:00
Jonathan Wakely
b1fb52ca2e re PR libstdc++/59687 (The description of ios::noreplace is hilarious)
PR libstdc++/59687
	* doc/xml/manual/backwards_compatibility.xml
	(backwards.third.nocreate_noreplace): Correct and expand.

From-SVN: r206525
2014-01-10 14:30:27 +00:00
Jonathan Wakely
92bf138207 re PR libstdc++/59698 (The type of NULL is described elsewhere)
PR libstdc++/59698
	* doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
	and stylistic improvements.
	* doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
	and update for C++11.
	* doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.

From-SVN: r206524
2014-01-10 14:30:21 +00:00
Richard Biener
5e6667b25b re PR tree-optimization/59374 (-ftree-slp-vectorize breaks unique_ptr's move constructor)
2014-01-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59374
	* tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
	checking after SLP discovery.  Mark stmts not participating
	in any SLP instance properly.

	* gcc.dg/torture/pr59374-3.c: New testcase.

From-SVN: r206523
2014-01-10 13:07:42 +00:00
Kyrylo Tkachov
5619162cdb arm.c (arm_new_rtx_costs): Use destination mode when handling a SET rtx.
2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_new_rtx_costs): Use destination mode
	when handling a SET rtx.

From-SVN: r206521
2014-01-10 11:48:37 +00:00
Kyrylo Tkachov
2d17b99fe3 arm-cores.def (cortex-a53): Specify FL_CRC32.
2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
	(cortex-a57): Likewise.
	(cortex-a57.cortex-a53): Likewise. Remove redundant flags.

From-SVN: r206520
2014-01-10 11:47:04 +00:00
Kyrylo Tkachov
4b6af762b4 [gcc/testsuite/]
2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* lib/target-supports.exp
	(check_effective_target_arm_crypto_ok_nocache): New.
	(check_effective_target_arm_crypto_ok): Use above procedure.
	(add_options_for_arm_crypto): Use et_arm_crypto_flags.

From-SVN: r206519
2014-01-10 11:43:48 +00:00
Kyrylo Tkachov
bcca645ce1 arm.c (arm_init_iwmmxt_builtins): Skip non-iwmmxt builtins.
2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
	non-iwmmxt builtins.

From-SVN: r206518
2014-01-10 11:42:03 +00:00
Tom de Vries
91db35373a Note that pass_pre destroys PROP_no_crit_edges
2014-01-09  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-pre.c (pass_data_pre): Add comment about PROP_no_crit_edges
	in properties_required.  Add PROP_no_crit_edges to properties_destroyed.
	* tree-ssa-sink.c (pass_data_sink_code): Remove PROP_no_crit_edges
	from properties_required.

From-SVN: r206517
2014-01-10 10:37:22 +00:00
Jan Hubicka
a3788dde0e re PR c++/58252 (ice in gimple_get_virt_method_for_binfo with -O2)
PR ipa/58252
	PR ipa/59226
	* ipa-devirt.c record_target_from_binfo): Take as argument
	stack of binfos and lookup matching one for virtual inheritance.
	(possible_polymorphic_call_targets_1): Update.

	* g++.dg/ipa/devirt-20.C: New testcase.	
	* g++.dg/torture/pr58252.C: Likewise.
	* g++.dg/torture/pr59226.C: Likewise.

From-SVN: r206516
2014-01-10 09:33:24 +00:00