Commit Graph

127628 Commits

Author SHA1 Message Date
Richard Biener
95cb869787 re PR rtl-optimization/59802 (excessive compile time in RTL optimizers (loop unswitching, CPROP))
2014-01-15  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/59802
	* lcm.c (compute_available): Use inverted postorder to seed
	the initial worklist.

From-SVN: r206624
2014-01-15 08:47:30 +00:00
Andreas Krebbel
cb4b6d1706 s390.c (s390_preferred_reload_class): Don't return ADDR_REGS for invalid symrefs in non-PIC code.
2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_preferred_reload_class): Don't return
	ADDR_REGS for invalid symrefs in non-PIC code.

2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

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

From-SVN: r206623
2014-01-15 08:36:44 +00:00
Jakub Jelinek
2738b4c7e3 re PR other/58712 (issues found by --enable-checking=valgrind)
PR other/58712
	* builtins.c (determine_block_size): Initialize *probable_max_size
	even if len_rtx is CONST_INT.

From-SVN: r206621
2014-01-15 09:08:17 +01:00
Jakub Jelinek
241f845ab3 re PR c/58943 (wrong calculation of indirect structure member arithmetic via function call)
PR c/58943
	* c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
	effects, preevaluate rhs using SAVE_EXPR first.

	* c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
	build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
	being COMPOUND_EXPR.
	(c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
	operand a SAVE_EXPR and second MODIFY_EXPR.

	* gcc.c-torture/execute/pr58943.c: New test.
	* gcc.dg/tree-ssa/ssa-fre-33.c (main): Avoid using += in the test.

From-SVN: r206620
2014-01-15 09:03:53 +01:00
Chris Manghane
eb6eb86237 compiler: Use backend interface for interface info and field expressions.
* go-gcc.cc (Gcc_backend::compound_expression): New function.
	(Gcc_backend::conditional_expression): New function.

From-SVN: r206615
2014-01-15 00:17:22 +00:00
GCC Administrator
3f3bd8aa27 Daily bump.
From-SVN: r206614
2014-01-15 00:16:39 +00:00
Ian Lance Taylor
967d49d172 compiler: Add Backend Function type.
From-SVN: r206611
2014-01-14 23:21:16 +00:00
Andrew Pinski
d126a4aed0 aarch64-protos.h (tune_params): Add issue_rate.
2014-01-14  Andrew Pinski  <apinski@cavium.com>

	* config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
	* config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
	(cortexa53_tunings): Likewise.
	(aarch64_sched_issue_rate): New function.
	(TARGET_SCHED_ISSUE_RATE): Define.

From-SVN: r206609
2014-01-14 11:55:59 -08:00
Vladimir Makarov
dc6875820c ira-costs.c (find_costs_and_classes): Add missed ira_init_register_move_cost_if_necessary.
2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-costs.c (find_costs_and_classes): Add missed
	ira_init_register_move_cost_if_necessary.

From-SVN: r206606
2014-01-14 19:08:32 +00:00
Vladimir Makarov
e940b2ec99 re PR target/59787 ([ARM] mmx-2.c causes ICE when GCC is configured for cortex-a5/vfpv3-d16-fp16)
2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/59787
	* config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.

From-SVN: r206605
2014-01-14 19:07:01 +00:00
H.J. Lu
3292e3767d Consolidate ABI warning into type_natural_mode
gcc/

	PR target/59794
	* config/i386/i386.c (type_natural_mode): Add a bool parameter
	to indicate if type is used for function return value.  Warn
	ABI change if the vector mode isn't available for function
	return value.
	(ix86_function_arg_advance): Pass false to type_natural_mode.
	(ix86_function_arg): Likewise.
	(ix86_gimplify_va_arg): Likewise.
	(function_arg_32): Don't warn ABI change.
	(ix86_function_value): Pass true to type_natural_mode.
	(ix86_return_in_memory): Likewise.
	(ix86_struct_value_rtx): Removed.
	(TARGET_STRUCT_VALUE_RTX): Likewise.

gcc/testsuite/

	PR target/59794
	* g++.dg/ext/vector23.C: Also prune ABI change for Linux/x86.
	* gcc.target/i386/pr39162.c (y): New __m256i variable.
	(bar): Change return type to void.  Set y to x.
	* gcc.target/i386/pr59794-1.c: New testcase.
	* gcc.target/i386/pr59794-2.c: Likewise.
	* gcc.target/i386/pr59794-3.c: Likewise.
	* gcc.target/i386/pr59794-4.c: Likewise.
	* gcc.target/i386/pr59794-5.c: Likewise.
	* gcc.target/i386/pr59794-6.c: Likewise.
	* gcc.target/i386/pr59794-7.c: Likewise.

From-SVN: r206603
2014-01-14 08:41:10 -08:00
Richard Sandiford
db93087523 jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when converting a conditional jump into a...
gcc/
	* jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
	converting a conditional jump into a conditional return.

From-SVN: r206600
2014-01-14 14:45:07 +00:00
Richard Biener
a0e35eb02c re PR tree-optimization/58921 (ICE with segfault on valid code at -O3 on x86_64-linux-gnu)
2014-01-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58921
	PR tree-optimization/59006
	* tree-vect-loop-manip.c (vect_loop_versioning): Remove code
	hoisting invariant stmts.
	* tree-vect-stmts.c (vectorizable_load): Insert the splat of
	invariant loads on the preheader edge if possible.

	* gcc.dg/torture/pr58921.c: New testcase.
	* gcc.dg/torture/pr59006.c: Likewise.
	* gcc.dg/vect/pr58508.c: XFAIL no longer handled cases.

From-SVN: r206599
2014-01-14 09:04:50 +00:00
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