Commit Graph

136254 Commits

Author SHA1 Message Date
Jonathan Wakely
91c78ea5b6 Implement N3657: heterogeneous lookup in associative containers.
* include/bits/stl_map.h (map::find<>, map::count<>,
	map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
	member function templates to perform heterogeneous lookup.
	* include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
	multimap::lower_bound<>, multimap::upper_bound<>,
	multimap::equal_range<>): Likewise.
	* include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
	multiset::lower_bound<>, multiset::upper_bound<>,
	multiset::equal_range<>): Likewise.
	* include/bits/stl_set.h (set::find<>, set::count<>,
	set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
	* include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
	_Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
	_Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
	_Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
	* testsuite/23_containers/map/operations/2.cc: New.
	* testsuite/23_containers/multimap/operations/2.cc: New.
	* testsuite/23_containers/multiset/operations/2.cc: New.
	* testsuite/23_containers/set/operations/2.cc: New.

From-SVN: r219888
2015-01-20 11:50:58 +00:00
Jonathan Wakely
71a16cd8bc Add C++11 std::string constructors for locales and facets.
* config/abi/pre/gnu.ver: Export new constructors.
	* include/bits/codecvt.h (codecvt_byname): Add string constructor.
	(codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
	specializations and declare explicit instantiations.
	* include/bits/locale_classes.h (locale, collate_byname): Add string
	constructors.
	* include/bits/locale_facets.h (ctype_byname, numpunct_byname):
	Likewise.
	* include/bits/locale_facets_nonio.h (time_get_byname,
	time_put_byname, moneypunct_byname, messages_byname): Likewise.
	* src/c++11/codecvt.cc (codecvt_byname<char16_t>,
	codecvt_byname<char32_t>): Define explicit instantiations.
	* src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
	Instantiate string constructors.
	(ctype_byname): Define string constructor.
	* testsuite/22_locale/codecvt_byname/1.cc: New.
	* testsuite/22_locale/collate_byname/1.cc: New.
	* testsuite/22_locale/ctype_byname/2.cc: New.
	* testsuite/22_locale/messages_byname/1.cc: New.
	* testsuite/22_locale/moneypunct_byname/1.cc: New.
	* testsuite/22_locale/numpunct_byname/1.cc: New.

From-SVN: r219887
2015-01-20 11:50:51 +00:00
Jonathan Wakely
0e4974d62e re PR libstdc++/64658 (std::atomic_init() undefined)
PR libstdc++/64658
	* include/std/atomic (atomic_init): Define.
	* testsuite/29_atomics/atomic/64658.cc: New.

From-SVN: r219886
2015-01-20 11:50:43 +00:00
Richard Biener
f1691f6c78 re PR tree-optimization/64410 (gcc 25% slower than clang 3.5 for adding complex numbers)
2015-01-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64410
	* g++.dg/vect/pr64410.cc: Require vect_double.

From-SVN: r219885
2015-01-20 11:06:13 +00:00
Matthew Wahab
c896d4b449 [ARM] PR 64149: Remove -mlra/-mno-lra option for ARM.
gcc/
2015-01-20  Matthew Wahab  <matthew.wahab@arm.com>

	PR target/64149
	* config/arm/arm.option: Remove lra option and arm_lra_flag variable.
	* config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flag,
	replace the conditional with it's true branch.
	* config/arm/arm.c (TARGET_LRA_P): Set to hook_bool_void_true.
	(arm_lra_p): Remove.

gcc/testsuite/
2015-01-20  matthewhew Wahab  <matthew.wahab@arm.com>

	PR target/64149
	* gcc.target/arm/armthumb1-far-jump-3.c: Remove.

From-SVN: r219884
2015-01-20 10:26:18 +00:00
Eric Botcazou
a76ffff1bd * config/visium/visium.h (LIB_SPEC): Adjust in default case.
From-SVN: r219883
2015-01-20 09:32:07 +00:00
Rainer Orth
5bd8d5c12c Link with -lrt on Solaris 10
* configure.ac: Check if sched_yield and/or nanosleep need -lrt.
	* configure: Regenerate.
	* Makefile.am (go$(EXEEXT), gofmt$(EXEEXT), cgo$(EXEEXT)): Link
	with $(LIBS).
	* Makefile.in: Regenerate.

From-SVN: r219882
2015-01-20 09:26:50 +00:00
Prathamesh Kulkarni
42df23a65e mul-tables.c: Move symtab.h include after coretypes.h include.
2015-01-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* config/tilegx/mul-tables.c: Move symtab.h include after coretypes.h include.
	* config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, vec.h,
	machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
	double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
	insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.

From-SVN: r219881
2015-01-20 09:02:56 +00:00
Igor Zamyatin
7002f3bd9c re PR bootstrap/64676 (SEGV in tree-ssa-structalias.c solve_constraint)
gcc/

	PR bootstrap/64676
	Revert:
	2015-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>

	PR rtl-optimization/64081
	* loop-iv.c (def_pred_latch_p): New function.
	(latch_dominating_def): Allow specific cases with non-single
	definitions.
	(iv_get_reaching_def): Likewise.
	(check_complex_exit_p): New function.
	(check_simple_exit): Use check_complex_exit_p to allow certain cases
	with exits not executing on any iteration.

gcc/testsuite/

	PR bootstrap/64676
	Revert:
	2014-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>

	PR rtl-optimization/64081
	* gcc.dg/pr64081.c: New test.

From-SVN: r219880
2015-01-20 08:29:09 +00:00
Jan Hubicka
a5fcfb6df9 re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
PR lto/45375
	* i386.c (ix86_option_override_internal): Use ix86_tune_cost
	to set branch cost.

From-SVN: r219878
2015-01-20 04:39:45 +00:00
Ian Lance Taylor
cea526b81c runtime: No special case for 386 complex in FFI support.
All supported libgo 386 targets now have complex support in
libffi.

From Uros Bizjak.

From-SVN: r219877
2015-01-20 04:18:12 +00:00
David Malcolm
fdce7209c2 New jit API entrypoint: gcc_jit_context_compile_to_file
gcc/jit/ChangeLog:
	* docs/cp/topics/results.rst: Rename to...
	* docs/cp/topics/compilation.rst: ...this, and add section on
	ahead-of-time compilation.
	* docs/cp/topics/index.rst: Update for renaming of results.rst
	to compilation.rst.
	* docs/examples/emit-alphabet.bf: New file, a sample "brainf"
	script.
	* docs/examples/tut05-bf.c: New file, implementing a compiler
	for "brainf".
	* docs/internals/test-hello-world.exe.log.txt: Update to reflect
	changes to logger output.
	* docs/intro/index.rst: Add tutorial05.rst
	* docs/intro/tutorial05.rst: New file.
	* docs/topics/results.rst: Rename to...
	* docs/topics/compilation.rst: ...this, and add section on
	ahead-of-time compilation.
	* docs/topics/index.rst: Update for renaming of results.rst to
	compilation.rst.
	* jit-playback.c (gcc::jit::playback::context::compile): Convert
	return type from result * to void.  Move the code to convert to
	dso and dlopen the result to a new pure virtual "postprocess"
	method.
	(gcc::jit::playback::compile_to_memory::compile_to_memory): New
	function.
	(gcc::jit::playback::compile_to_memory::postprocess): New
	function, based on playback::context::compile.
	(gcc::jit::playback::compile_to_file::compile_to_file): New
	function.
	(gcc::jit::playback::compile_to_file::postprocess): New function.
	(gcc::jit::playback::compile_to_file::copy_file): New function.
	(gcc::jit::playback::context::convert_to_dso): Move internals
	to...
	(gcc::jit::playback::context::invoke_driver): New method.  Add
	"-shared" and "-c" options to driver's argv as needed.
	* jit-playback.h: Include "timevar.h".
	(gcc::jit::playback::context::compile): Convert return type from
	result * to void.
	(gcc::jit::playback::context::postprocess): New pure virtual
	function, making this an abstract base class.
	(gcc::jit::playback::context::get_tempdir): New accessor.
	(gcc::jit::playback::context::invoke_driver): New function.
	(class gcc::jit::playback::compile_to_memory): New subclass of
	playback::context.
	(class gcc::jit::playback::compile_to_file): Likewise.
	* jit-recording.c (gcc::jit::recording::context::compile): Use a
	playback::compile_to_memory, and extract its result.
	(gcc::jit::recording::context::compile_to_file): New function.
	* jit-recording.h (gcc::jit::recording::context::compile_to_file):
	New function.
	* libgccjit++.h (gccjit::context::compile_to_file): New method.
	* libgccjit.c (gcc_jit_context_compile): Update log message to
	clarify that this is an in-memory compile.
	(gcc_jit_context_compile_to_file): New function.
	* libgccjit.h (gcc_jit_context): Clarify that you can compile
	a context more than once, and that you can compile to a file
	as well as to memory.
	(gcc_jit_result): Clarify that this is the result of an
	in-memory compilation.
	(gcc_jit_context_compile): Clarify that you can compile, and that
	this is an in-memory compilation.
	(enum gcc_jit_output_kind): New enum.
	(gcc_jit_context_compile_to_file): New function.
	(gcc_jit_context_enable_dump): Clarify comment to cover both forms
	of compilation.
	* libgccjit.map (gcc_jit_context_compile_to_file): New API
	entrypoint.
	* notes.txt: Update to show the playback::context::postprocess
	virtual function.

gcc/testsuite/ChangeLog:
	* jit.dg/harness.h: Include <unistd.h>.
	(CHECK_NO_ERRORS): New.
	(verify_code): Wrap prototype in #ifndef TEST_COMPILING_TO_FILE.
	(test_jit): Support new macro TEST_COMPILING_TO_FILE for exercising
	gcc_jit_context_compile_to_file.
	* jit.dg/jit.exp (fixed_host_execute): Fix the code for passing on
	args to the spawned executable.
	(jit-expand-vars): New function.
	(jit-exe-params): New variable.
	(dg-jit-set-exe-params): New function.
	(jit-dg-test): Detect testcases that use
	jit-verify-compile-to-file and call jit-setup-compile-to-file.
	Set arguments of spawned process to jit-exe-params.
	(jit-get-output-filename): New function.
	(jit-setup-compile-to-file): New function.
	(jit-verify-compile-to-file): New function.
	(jit-run-executable): New function.
	(jit-verify-executable): New function.
	* jit.dg/test-compile-to-assembler.c: New testcase.
	* jit.dg/test-compile-to-dynamic-library.c: New testcase.
	* jit.dg/test-compile-to-executable.c: New testcase.
	* jit.dg/test-compile-to-object.c: New testcase.

From-SVN: r219876
2015-01-20 01:32:48 +00:00
GCC Administrator
cb22ab4164 Daily bump.
From-SVN: r219874
2015-01-20 00:16:59 +00:00
Jan Hubicka
a1aff58fb9 re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
PR lto/45375
	* i386.c (gate): Check flag_expensive_optimizations and
	optimize_size.
	(ix86_option_override_internal): Drop optimize_size condition
	on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
	MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
	MASK_PREFER_AVX128.
	(ix86_avx256_split_vector_move_misalign,
	ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
	* sse.md (all uses of TARGET_PREFER_AVX128): Add
	optimize_insn_for_speed_p check.

From-SVN: r219871
2015-01-19 23:58:19 +00:00
Oleg Endo
0c84d521a9 re PR target/64652 ([SH] ICE when using -mdiv=call-fp)
gcc/testsuite/
	PR target/64652
	* gcc.target/sh/torture/pr64652.c (test): Rename to test_0.
	(test_1): New.

From-SVN: r219870
2015-01-19 23:25:03 +00:00
Matthew Fortune
aa0c464a8a MIPS: Only pass floating-point options to the assembler when necessary
gcc/
	* config/mips/mips.h (FP_ASM_SPEC): New define.
	(ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
	instead.

From-SVN: r219867
2015-01-19 23:05:41 +00:00
Tim Shen
e5f3553320 re PR libstdc++/64649 (regex_traits::lookup_classname() only works with random access iterators)
PR libstdc++/64649
	* include/bits/regex.tcc (regex_traits<>::lookup_collatename,
	regex_traits<>::lookup_classname): Support forward iterators.
	* testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
	* testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.

From-SVN: r219866
2015-01-19 23:00:13 +00:00
Tim Shen
60c176fb45 re PR libstdc++/64584 (basic_regex::assign breaks *this if it throws regex_error)
PR libstdc++/64584
	PR libstdc++/64585
	* include/bits/regex.h (basic_regex<>::basic_regex,
	basic_regex<>::assign, basic_regex<>::imbue,
	basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
	imbuing basic_regex; Make assign() transactional against exception.
	* include/bits/regex_compiler.h (__compile_nfa<>): Add back
	__compile_nfa SFINAE.
	* include/std/regex: Adjust include order to avoid __compile_nfa
	forward declaration.
	* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
	* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.

From-SVN: r219865
2015-01-19 22:56:04 +00:00
Oleg Endo
b151091dca re PR target/53988 ([SH] tst Rm,Rn not used for QI/HImode)
gcc/
	PR target/53988
	* config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
	nullptr for insn when reaching the first insn.
	* config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
	(sh_insn_operands_modified_between_p): Add nullptr check.
	(sh_find_extending_set_of_reg): Fix log message.  Don't accept
	sign extending mem load if the insn contains any UNSPEC or
	UNSPEC_VOLATILE.

From-SVN: r219864
2015-01-19 22:35:53 +00:00
Jan Hubicka
c2db720467 params.def (inline-unit-growth): Drop to 15%.
* params.def (inline-unit-growth): Drop to 15%.
	* invoke.texi (inline-unit-growth): Document change.

From-SVN: r219863
2015-01-19 22:11:03 +00:00
Richard Henderson
3bac62c2b2 Add attribute unused to dummy arguments in ffi stub
From-SVN: r219862
2015-01-19 14:10:59 -08:00
Martin Liska
6b984df0da re PR ipa/64668 (internal compiler error: in compare_ssa_name, at ipa-icf-gimple.c:120)
Fix PR64668.

	* objc/compile/pr64668.m: New test.
	PR ipa/64668
	* ipa-icf-gimple.c (func_checker::compare_operand): Call proper
	function for second argument of OBJ_TYPE_REF.

From-SVN: r219861
2015-01-19 22:02:04 +00:00
Richard Henderson
36035d7967 Merge with upstream libffi 3ac1610aa33c887ea9b14935208943925714a33e
Includes build fixes for Solaris and Cygwin.

From-SVN: r219860
2015-01-19 13:14:59 -08:00
Jan Hubicka
9789b553b4 re PR ipa/64218 (ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite)
PR ipa/64218
	* ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
	whether function is an alias.

From-SVN: r219859
2015-01-19 20:46:15 +00:00
Jan Hubicka
68c9467f3e ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless cases.
* ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
	cases.

From-SVN: r219858
2015-01-19 20:35:55 +00:00
Vladimir Makarov
6ce54d0f33 re PR rtl-optimization/64671 (s390-linux profiledbootstrap failure)
2015-01-19  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/64671
	* lra-remat.c (operand_to_remat): Don't consider jump and call
	insns.

From-SVN: r219857
2015-01-19 20:13:35 +00:00
David Malcolm
670c08b357 Fix int vs bool issue in jit.dg/test-arith-overflow.c
gcc/testsuite/ChangeLog:
	* jit.dg/test-arith-overflow.c: Include stdbool.h.
	(create_overflow_fn): Update comment to clarify that
	the third param of the created function is a bool *, not
	an int *.
	(verify_int_overflow_fn): Convert param "expected_ovf" from
	int to bool.  Update third param of "overflow_fn_type" from int *
	to bool *.  Update local "actual_ovf" from int to bool.
	(verify_uint_overflow_fn): Likewise.

From-SVN: r219856
2015-01-19 19:15:10 +00:00
Bernd Edlinger
29c38396b5 re PR ada/64640 (Ada build failure on cygwin-32)
2015-01-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ada/64640
        * adaint.c: Handle __CYGWIN__ like __MINGW32__ here.
        * mingw32.h: Don't include <tchar.h> under cygwin.
        (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined.

From-SVN: r219855
2015-01-19 19:00:18 +00:00
David Edelsohn
b9f12a01be default64.h: Include rs6000-cpus.def.
* config/rs6000/default64.h: Include rs6000-cpus.def.
        (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
        (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
        * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
        and POWER8.
        * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
        POWER8.
        * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
        pseudo-op to specify assembler dialect.

From-SVN: r219854
2015-01-19 13:33:24 -05:00
Martin Liska
90190bb3cc re PR ipa/64664 (ICE: tree check: expected function_decl, have <invalid tree code> in opts_for_fn, at tree.h:4706)
Fix PR64664.

        PR ipa/64664
	* ipa-icf.c (sem_item_optimizer::filter_removed_items):
	Handle safe potentially removed nodes during filtering.

From-SVN: r219853
2015-01-19 18:07:08 +00:00
Richard Henderson
a9b8c95973 re PR libffi/64607 (Multilib test stops working in libffi)
PR libffi/64607

 * testsuite/lib/libffi.exp (libffi-init): Append -L for the
 just built libstdc++.

From-SVN: r219852
2015-01-19 09:58:06 -08:00
David Malcolm
450e225b58 jit: fix crash in memento_of_new_string_literal::make_debug_string
gcc/jit/ChangeLog:
	* jit-recording.c
	(gcc::jit::recording::memento_of_new_string_literal::make_debug_string):
	Add missing format string.

From-SVN: r219851
2015-01-19 17:16:37 +00:00
Eli Zaretskii
b411ed0cee strerror.c: Do not declare sys_nerr or sys_errlist if already macros
This fixes a MinGW warning in libiberty/strerror.c

2015-01-19  Eli Zaretskii  <eliz@gnu.org>

        * strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
        macros.

From-SVN: r219849
2015-01-19 15:28:56 +00:00
Martin Liska
185c9e5621 IPA ICF: add no_icf attribute.
* c-common.c (handle_noicf_attribute): New function.
	* doc/extend.texi (no_icf): Add new attribute description.
	* ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
	where the pass attempts to merge a function with no_icf attribute.
	* gcc.dg/ipa/ipa-icf-33.c: New test.

From-SVN: r219848
2015-01-19 15:20:16 +00:00
Ramana Radhakrishnan
b24671f781 Improve documentation of register constraints.
While looking at PR target/64532- I realized we haven't documented all
the register constraints. I'm not documenting the other immediate
constraints as it is not clear to me how much of that is actually
useful yet and I don't have the time this afternoon to clean this up.

Built documentation and looked at it.

Applied.

Ramana

From-SVN: r219847
2015-01-19 14:55:28 +00:00
Ville Voutilainen
8bae22b708 range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR on overloads for arrays.
2015-01-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	* include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
	on overloads for arrays.
	(cbegin, cend, rbegin, rend, crbegin, crend): New.
	* testsuite/24_iterators/range_access_cpp14.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r219846
2015-01-19 14:37:03 +00:00
Fei Yang
75f1620105 * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h
(buffer_float64x2, buffer_pad_float64x2): New helper variables.
       * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (hfloat64_t,
       result_float64x2, expected_hfloat64x2): New helper type, variable and
       declaration.
       (buffer_float64x2, buffer_pad_float64x2): New helper variables.
       * gcc.target/aarch64/advsimd-intrinsics/vfma.c: Don't run on target
       without the FMA feature and exclude test for vfmaq_f64 on arm*-*-*.
       * gcc.target/aarch64/advsimd-intrinsics/vfms.c: Don't run on target
       without the FMA feature and exclude test for vfmsq_f64 on arm*-*-*.
       * gcc.target/aarch64/advsimd-intrinsics/vfma_n.c: Don't run on arm*-*-*
       and target without the FMA feature.

From-SVN: r219845
2015-01-19 14:21:45 +00:00
Jiong Wang
af129d0787 [AArch64] Remove ashift pattern for QI/HI
2015-01-19  Jiong Wang  <jiong.wang@arm.com>
	    Andrew Pinski  <apinski@cavium.com>

  gcc/
    PR target/64304
    * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
    (ashl<mode>3): Don't expand if operands[2] is not constant.

  gcc/testsuite/
    * gcc.target/aarch64/pr64304.c: New testcase.


Co-Authored-By: Andrew Pinski <apinski@cavium.com>

From-SVN: r219844
2015-01-19 14:13:33 +00:00
Kyrylo Tkachov
36650ec619 [AArch64] PR 64448: Combine ((x ^ y) & m) ^ x into bsl/bif instruction
PR target/64448
	* config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
	Match xor-and-xor RTL pattern.

From-SVN: r219843
2015-01-19 14:03:23 +00:00
Igor Zamyatin
dfd3a76cae re PR rtl-optimization/64081 (r217828 prevents RTL loop unroll)
gcc/

	PR rtl-optimization/64081
	* loop-iv.c (def_pred_latch_p): New function.
	(latch_dominating_def): Allow specific cases with non-single
	definitions.
	(iv_get_reaching_def): Likewise.
	(check_complex_exit_p): New function.
	(check_simple_exit): Use check_complex_exit_p to allow certain cases
	with exits not executing on any iteration.

gcc/testsuite/

	PR rtl-optimization/64081
	* gcc.dg/pr64081.c: New test.

From-SVN: r219842
2015-01-19 13:58:54 +00:00
Jakub Jelinek
ff6a32a98e * common.opt (fgraphite): Fix a typo.
From-SVN: r219841
2015-01-19 14:41:44 +01:00
Felix Yang
7abab3d1d0 aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New pattern.
* config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
        pattern.
        * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
        uminp, smax_nanp, smin_nanp): New builtins.
        * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
        vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
        vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
        vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
        vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
        vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
        vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
        vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
        vpminnms_f32): Rewrite using builtin functions.

From-SVN: r219840
2015-01-19 13:22:41 +00:00
Jakub Jelinek
0d633627cd Remove 2014 entries somebody mistakenly readded.
From-SVN: r219839
2015-01-19 14:11:54 +01:00
Tejas Belagod
2e06627852 re PR testsuite/63971 (Some of gcc.target/aarch64/test_frame_*.c tests fail now)
2015-01-19  Tejas Belagod  <tejas.belagod@arm.com>

	PR target/63971
	* gcc.target/aarch64/test_frame_1.c: Expect only two loads of x30 (in
	the epilogue).
	* gcc.target/aarch64/test_frame_6.c: Likewise.
	* gcc.target/aarch64/test_frame_2.c: Expect only one pair load of x30
	and x19 (in the epilogue).
	* gcc.target/aarch64/test_frame_4.c: Likewise.
	* gcc.target/aarch64/test_frame_7.c: Likewise.

From-SVN: r219838
2015-01-19 12:57:48 +00:00
Thomas Schwinge
bed62c21fa [PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.
gcc/
	* omp-low.c (offload_symbol_decl): Remove variable.
	(get_offload_symbol_decl): Remove function.
	(expand_omp_target): For BUILT_IN_GOMP_TARGET,
	BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
	instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
	BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
	BUILT_IN_GOACC_UPDATE don't pass it at all.
	libgomp/
	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
	formal parameter.  Update all users.
	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
	Document unused formal parameter.

From-SVN: r219837
2015-01-19 13:05:43 +01:00
Thomas Schwinge
128b26dceb [PR libgomp/64625] Remove __OFFLOAD_TABLE__ variable/formal parameter.
gcc/
	* omp-low.c (offload_symbol_decl): Remove variable.
	(get_offload_symbol_decl): Remove function.
	(expand_omp_target): For BUILT_IN_GOMP_TARGET,
	BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
	instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
	BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
	BUILT_IN_GOACC_UPDATE don't pass it at all.
	libgomp/
	* libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
	(GOACC_parallel, GOACC_update): Remove const_void *offload_table
	formal parameter.  Update all users.
	* target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
	Document unused formal parameter.

From-SVN: r219836
2015-01-19 13:03:35 +01:00
Ilya Enkovich
3d36be01e4 tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk callers.
* tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
	callers.

From-SVN: r219835
2015-01-19 10:28:34 +00:00
Ilya Enkovich
c11d86b47f ipa-chkp.c (chkp_produce_thunks): Add early param to split thunks production into two passes.
gcc/

	* ipa-chkp.c (chkp_produce_thunks): Add early param
	to split thunks production into two passes.  Keep
	'always_inline' function bodies after the first pass.
	(pass_data_ipa_chkp_early_produce_thunks): New.
	(pass_ipa_chkp_early_produce_thunks): New.
	(pass_ipa_chkp_produce_thunks::execute): Adjust to new
	chkp_produce_thunks signature.
	(make_pass_ipa_chkp_early_produce_thunks): New.
	* passes.def (pass_ipa_chkp_early_produce_thunks): New.
	(pass_ipa_chkp_produce_thunks): Move after local optimizations.
	* tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.

gcc/testsuite/

	* gcc.target/i386/chkp-always_inline.c: New.

From-SVN: r219834
2015-01-19 10:26:52 +00:00
Jakub Jelinek
9deaf59d1b re PR sanitizer/64435 (Bootstrap failure in libsanitizer on AArch64 with Linux kernel <= 3.15)
PR sanitizer/64435
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
	upstream r223925.

From-SVN: r219833
2015-01-19 09:39:27 +01:00
Andrew Pinski
2f3b40a730 abitest.S (LABEL_TEST_FUNC_RETURN): Load testfunc_ptr as 32bit for ILP32 and 64bit for LP64.
* gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Load
	testfunc_ptr as 32bit for ILP32 and 64bit for LP64.


Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>

From-SVN: r219832
2015-01-19 04:46:27 +00:00