Kyrylo Tkachov [Thu, 30 Apr 2015 17:03:26 +0000 (17:03 +0000)]
[AArch64] Add alternative 'extr' pattern, calculate rtx cost properly
* config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
(*extrsi5_insn_uxtw_alt): Likewise.
* config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
(aarch64_rtx_costs, IOR case): Use above to properly cost extr
operations.
From-SVN: r222639
Kyrylo Tkachov [Thu, 30 Apr 2015 17:01:34 +0000 (17:01 +0000)]
[AArch64] Properly cost FABD pattern
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
fabd in ABS case.
From-SVN: r222638
Kyrylo Tkachov [Thu, 30 Apr 2015 16:59:50 +0000 (16:59 +0000)]
[AArch64] Properly handle mvn-register and add EON+shift pattern and cost appropriately
* config/aarch64/aarch64.md
(*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
(*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
appropriately. Handle alternative EON form.
From-SVN: r222637
Renlin Li [Thu, 30 Apr 2015 15:52:24 +0000 (15:52 +0000)]
[PATCH][AARCH64]Define vec_shr as an unspec, use shl for big-endian.
gcc/
2015-04-30 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
* config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
gcc/testsuite/
2015-04-30 Renlin Li <renlin.li@arm.com>
Alan Lawrence <alan.lawrence@arm.com>
* gcc.target/aarch64/vect-reduc-or_1.c: New.
From-SVN: r222635
Jan Hubicka [Thu, 30 Apr 2015 15:09:19 +0000 (17:09 +0200)]
re PR ipa/65873 (Failure to inline always_inline memcpy)
PR ipa/65873
* ipa-inline.c (can_inline_edge_p): It is safe to inline across
-fstrict-aliasing boundaries.
From-SVN: r222634
Rainer Orth [Thu, 30 Apr 2015 14:50:26 +0000 (14:50 +0000)]
Add missing PR middle-end/64729 reference.
From-SVN: r222631
Edward Smith-Rowland [Thu, 30 Apr 2015 14:43:19 +0000 (14:43 +0000)]
Add fundamentals TR container erasure.
2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
Add fundamentals TR container erasure.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Add new headers.
* include/experimental/array: New.
* include/experimental/deque: New.
* include/experimental/erase_if.tcc: New.
* include/experimental/forward_list: New.
* include/experimental/list: New.
* include/experimental/map: New.
* include/experimental/set: New.
* include/experimental/string: New.
* include/experimental/unordered_map: New.
* include/experimental/unordered_set: New.
* include/experimental/vector: New.
* testsuite/experimental/deque/erasure.cc: New.
* testsuite/experimental/forward_list/erasure.cc: New.
* testsuite/experimental/list/erasure.cc: New.
* testsuite/experimental/map/erasure.cc: New.
* testsuite/experimental/set/erasure.cc: New.
* testsuite/experimental/string/erasure.cc: New.
* testsuite/experimental/unordered_map/erasure.cc: New.
* testsuite/experimental/unordered_set/erasure.cc: New.
* testsuite/experimental/vector/erasure.cc: New.
From-SVN: r222630
Kyrylo Tkachov [Thu, 30 Apr 2015 13:36:22 +0000 (13:36 +0000)]
[AArch64] Properly cost MNEG/[SU]MNEGL patterns
* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
and [SU]MNEGL patterns.
From-SVN: r222627
Marek Polacek [Thu, 30 Apr 2015 13:35:44 +0000 (13:35 +0000)]
c-typeck.c (c_build_va_arg): Clarify the error message.
* c-typeck.c (c_build_va_arg): Clarify the error message.
* gcc.dg/pr65901.c (foo): Adjust dg-error.
* gcc.c-torture/compile/pr48767.c (foo): Likewise.
From-SVN: r222626
Kyrylo Tkachov [Thu, 30 Apr 2015 13:34:54 +0000 (13:34 +0000)]
Fix up new line in previous commit
From-SVN: r222625
Kyrylo Tkachov [Thu, 30 Apr 2015 13:34:05 +0000 (13:34 +0000)]
[AArch64] Properly handle SHIFT ops and EXTEND in aarch64_rtx_mult_cost
* config/aarch64/aarch64.c (aarch64_shift_p): New function.
(aarch64_rtx_mult_cost): Update comment to reflect that it also handles
combined arithmetic-shift ops. Properly handle all shift and extend
operations that can occur in combination with PLUS/MINUS.
Rename maybe_fma to compound_p.
(aarch64_rtx_costs): Use aarch64_shift_p when costing compound
arithmetic and shift operations.
From-SVN: r222624
Kyrylo Tkachov [Thu, 30 Apr 2015 13:30:49 +0000 (13:30 +0000)]
[AArch64] Use extend_arith rtx cost appropriately
* config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
rather than arith_shift cost when costing ADD/MINUS of an
extended value.
From-SVN: r222623
Marek Polacek [Thu, 30 Apr 2015 13:20:03 +0000 (13:20 +0000)]
c-common.c (maybe_warn_bool_compare): When comparing with 0/1, require that the non-constant be of a boolean type.
* c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
require that the non-constant be of a boolean type.
* c-c++-common/Wbool-compare-3.c: New test.
From-SVN: r222622
Jan Hubicka [Thu, 30 Apr 2015 13:18:22 +0000 (15:18 +0200)]
re PR tree-optimization/65948 (FAIL: g++.dg/lto/
20101010-4 cp_lto_20101010-4_0.o-cp_lto_20101010-4_0.o link)
PR lto/65948
* ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
to itself.
From-SVN: r222621
James Norris [Thu, 30 Apr 2015 12:44:39 +0000 (12:44 +0000)]
[PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests
PR testsuite/65205
libgomp/
* testsuite/lib/libgomp.exp
(check_effective_target_openacc_host_selected)
(check_effective_target_openacc_host_nonshm_selected): New
procedures.
* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
dg-shouldfail.
* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
From-SVN: r222620
Richard Sandiford [Thu, 30 Apr 2015 11:53:31 +0000 (11:53 +0000)]
genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests are for the same position.
gcc/
* genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
are for the same position.
From-SVN: r222618
François Dumont [Thu, 30 Apr 2015 11:36:52 +0000 (11:36 +0000)]
2015-04-30 François Dumont <fdumont@gcc.gnu.org>
* include/bits/cpp_type_traits.h
(__gnu_cxx::__is_normal_iterator): Delete.
* include/bits/stl_algobase.h (std::__niter_base): Adapt.
* include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
(std::__niter_base): Overloads for std::reverse_iterator,
__gnu_cxx::__normal_iterator and std::move_iterator.
From-SVN: r222617
Paolo Carlini [Thu, 30 Apr 2015 09:43:39 +0000 (09:43 +0000)]
re PR c++/57610 (Reference initialized with temporary instead of sub-object of conversion result)
2015-04-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57610
* g++.dg/init/ref22.C: New.
From-SVN: r222615
Marek Polacek [Thu, 30 Apr 2015 09:35:05 +0000 (09:35 +0000)]
c-typeck.c (c_incomplete_type_error): Refactor to use %qT.
* c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
the type of a decl.
* gcc.dg/incomplete-typedef-1.c: New test.
From-SVN: r222614
Marek Polacek [Thu, 30 Apr 2015 09:28:48 +0000 (09:28 +0000)]
c-typeck.c (set_init_label): Call error_at instead of error and pass LOC to it.
* c-typeck.c (set_init_label): Call error_at instead of error and
pass LOC to it.
* gcc.dg/init-bad-8.c: New test.
From-SVN: r222613
Paolo Carlini [Thu, 30 Apr 2015 09:04:04 +0000 (09:04 +0000)]
re PR c++/59955 (Segmentation fault on (re?)defining a struct template as function template, when inside a struct tempate)
2015-04-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59955
* g++.dg/template/crash121.C: New.
From-SVN: r222612
François Dumont [Thu, 30 Apr 2015 07:13:37 +0000 (07:13 +0000)]
hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): Delete.
2015-04-30 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
Delete.
* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
Remove usage of latter and compute size of the prime numbers array
locally.
From-SVN: r222611
Aditya Kumar [Thu, 30 Apr 2015 05:42:54 +0000 (05:42 +0000)]
tree-vectorizer.c (set_uid_loop_bbs): New.
2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
* tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
vectorize_loops.
(vectorize_loops): Use it.
From-SVN: r222610
Jan Hubicka [Thu, 30 Apr 2015 04:43:32 +0000 (06:43 +0200)]
ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only for aggregate types.
* ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
for aggregate types.
(register_odr_type): Be ready for MAIN_VARIANT of ODR type
type to be non_ODR.
* tree.c (need_assembler_name_p): Compute mangled name for
non-fundamental types and integer types.
From-SVN: r222609
Mikhail Maltsev [Thu, 30 Apr 2015 03:47:40 +0000 (03:47 +0000)]
dojump.c (do_compare_rtx_and_jump): Use std::swap instead of manual swaps.
2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
* dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
manual swaps.
* expr.c (expand_expr_real_2): Likewise.
From-SVN: r222608
Jan Hubicka [Thu, 30 Apr 2015 02:58:43 +0000 (04:58 +0200)]
tree.c (build_common_builtin_nodes): Do not build __builtin_alloca_with_align as equivalent of library alloca.
* tree.c (build_common_builtin_nodes): Do not build
__builtin_alloca_with_align as equivalent of library alloca.
From-SVN: r222607
Jan Hubicka [Thu, 30 Apr 2015 02:45:54 +0000 (02:45 +0000)]
dwarf2out.c (gen_type_die_with_usage): Call verify_type.
* dwarf2out.c (gen_type_die_with_usage): Call verify_type.
* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
bugus variants.
* tree.c: Include print-tree.h and ipa-utils.h
(free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
(free_lang_data_in_cgraph): Call verify_type.
(verify_type_variant): New function.
(verify_type): New function.
* tree.h (verify_type): Declare.
* lto.c (lto_fixup_state): Call verify_type.
From-SVN: r222606
Trevor Saunders [Thu, 30 Apr 2015 02:08:05 +0000 (02:08 +0000)]
fixup libobjc's usage of PCC_BITFIELD_TYPE_MATTERS
libobjc/ChangeLog:
* encoding.c (objc_layout_structure_next_member): check value of
PCC_BITFIELD_TYPE_MATTERS instead of if it is defined.
From-SVN: r222605
GCC Administrator [Thu, 30 Apr 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222603
Doug Evans [Wed, 29 Apr 2015 22:50:31 +0000 (22:50 +0000)]
re PR libstdc++/65839 (xmethods need updating once gdb decides how to fix 18285)
PR libstdc++/65839
* python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
Replace all lookups of "bool" with this.
(get_std_size_type): New function. Replace all lookups of std::size_t
with this.
(*Worker): New method get_result_type.
(DequeWorkerBase.__init__): New arg val_type. All callers updated.
(ListWorkerBase.__init__): New arg val_type. All callers updated.
(UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
Delete setting of name, enabled.
(UniquePtrDerefWorker.__init__): New arg elem_type. All callers
updated. Delete setting of name.
(UniquePtrMethodsMatcher): Rewrite for consistency with all other
libstdc++ xmethod matchers.
* testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
* testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
* testsuite/libstdc++-xmethods/deque.cc: Ditto.
* testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
* testsuite/libstdc++-xmethods/list.cc: Ditto.
* testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
* testsuite/libstdc++-xmethods/vector.cc: Ditto.
From-SVN: r222599
Ian Lance Taylor [Wed, 29 Apr 2015 22:40:07 +0000 (22:40 +0000)]
compiler: Consider multi-result calls in escape analysis.
When building connection graphs between objects, the analysis
only handled calls of the form `call(...)` or `var := call(...)`.
Functions with multiple results being used e.g. `var, _ = call(...)`
were not analyzed, causing some escaping variables to be marked as
non-escaping.
From-SVN: r222598
Ian Lance Taylor [Wed, 29 Apr 2015 22:14:34 +0000 (22:14 +0000)]
compiler: Propagate escape info from closures to enclosed variables.
If a closure escapes, the enclosed variables must escape via the
closure. Reachability analysis had a bug where the enclosed
variables were not considered as reachable from the closure.
From-SVN: r222597
Doug Evans [Wed, 29 Apr 2015 21:57:04 +0000 (21:57 +0000)]
Use consistent naming for value type attributes.
* python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
to _val_type.
(ArraySizeWorker, ArrayEmptyWorker): Ditto.
(ArrayFrontWorker, ArrayBackWorker): Ditto.
(ArrayAtWorker, ArraySubscriptWorker): Ditto.
(DequeWorkerBase): Rename elemtype to val_type.
(ForwardListWorkerBase): Rename _elem_type to _val_type.
(ForwardListFrontWorker): Ditto. And rename elem_address to
val_address.
(ForwardListMethodsMatcher): Rename elem_type to val_type.
(VectorWorkerBase): Rename _elemtype to _val_type.
From-SVN: r222596
Ian Lance Taylor [Wed, 29 Apr 2015 21:31:53 +0000 (21:31 +0000)]
runtime: Support -buildmode=c-shared.
These changes permit using the go tool from the upcoming Go
1.5 release with -buildmode=c-archive to build gccgo code into
an archive file that can be linked with a C program.
From-SVN: r222594
Steve Ellcey [Wed, 29 Apr 2015 21:09:10 +0000 (21:09 +0000)]
mips-cpus.def: (mips4): Change default processor from PROCESSOR_R8000 to PROCESSOR_R10000.
2015-04-29 Steve Ellcey <sellcey@imgtec.com>
* config/mips/mips-cpus.def: (mips4): Change default processor
from PROCESSOR_R8000 to PROCESSOR_R10000.
From-SVN: r222593
Uros Bizjak [Wed, 29 Apr 2015 20:58:25 +0000 (22:58 +0200)]
re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)
PR target/65871
* config/i386/i386.md (*bmi_bextr_<mode>_cczonly): New pattern.
(*bmi2_bzhi_<mode>3_1_cczonly): Ditto.
(setcc+movzbl peephole2): Check also clobbered reg.
(setcc+andl peephole2): Ditto.
From-SVN: r222592
Jason Merrill [Wed, 29 Apr 2015 20:51:05 +0000 (16:51 -0400)]
re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800
* tree.c (apply_identity_attributes): Fix handling of classes.
From-SVN: r222591
Josh Triplett [Wed, 29 Apr 2015 20:32:41 +0000 (20:32 +0000)]
c-common.c (handle_section_attribute): Refactor to reduce nesting and distinguish between error cases.
* c-common.c (handle_section_attribute): Refactor to reduce
nesting and distinguish between error cases.
From-SVN: r222590
Petar Jovanovic [Wed, 29 Apr 2015 20:28:52 +0000 (20:28 +0000)]
mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use la/jalr instead of jal.
gcc/ChangeLog:
2015-04-21 Petar Jovanovic <petar.jovanovic@rt-rk.com>
* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
la/jalr instead of jal.
gcc/testsuite/ChangeLog:
2015-04-21 Petar Jovanovic <petar.jovanovic@rt-rk.com>
* gcc.target/mips/call-from-init.c: New test.
* gcc.target/mips/mips.exp: Add section_start to mips_option_groups.
From-SVN: r222589
Uros Bizjak [Wed, 29 Apr 2015 18:53:19 +0000 (20:53 +0200)]
re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)
PR target/65871
* config/i386/i386.md (*bmi_bextr_<mode>_cczonly): New pattern.
(*bmi2_bzhi_<mode>3_1_cczonly): Ditto.
testsuite/ChangeLog:
PR target/65871
* gcc.target/i386/pr65871-1.c: New test
* gcc.target/i386/pr65871-2.c: Ditto.
From-SVN: r222588
Marek Polacek [Wed, 29 Apr 2015 18:13:44 +0000 (18:13 +0000)]
re PR c/64610 (No -Wbool-compare warning on "(0 != a) >= 0")
PR c/64610
* c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
with 0/1.
* c-c++-common/Wbool-compare-1.c (fn1): Remove a few lines.
* c-c++-common/Wbool-compare-2.c: New test.
From-SVN: r222587
Bernd Schmidt [Wed, 29 Apr 2015 16:52:45 +0000 (16:52 +0000)]
Fix libgcc installation for offload targets.
* Makefile.in (real_host_noncanonical): New variable.
(libsubdir): Use it.
* configure.ac (real_host_noncanonical): Compute. Remove special
case for intelmicemul.
* configure: Regenerate.
From-SVN: r222585
Thomas Schwinge [Wed, 29 Apr 2015 16:23:26 +0000 (18:23 +0200)]
[PR libgomp/65099] nvptx mkoffload: pass "-m32" or "-m64" to the compiler
... depending on "-foffload-abi=[...]".
Coding style/code copied from gcc/config/i386/intelmic-mkoffload.c for
consistency.
gcc/
* config/nvptx/mkoffload.c (target_ilp32): New variable.
(main): Set it depending on "-foffload-abi=[...]".
(compile_native, main): Use it to pass "-m32" or "-m64" to the
compiler.
From-SVN: r222583
Alan Lawrence [Wed, 29 Apr 2015 16:10:27 +0000 (16:10 +0000)]
[AArch64] Fix PR/65770 vstN_lane on bigendian
gcc/:
* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
Flip lane index back at assembly time for bigendian.
gcc/testsuite/:
* gcc.target/aarch64/vstN_lane_1.c: New file.
From-SVN: r222582
Jonathan Wakely [Wed, 29 Apr 2015 16:07:47 +0000 (17:07 +0100)]
re PR libstdc++/65760 (invalid use of incomplete type with std::is_convertible<C, C>)
PR libstdc++/65760
* include/std/functional (__check_func_return_type): Use is_same to
avoid using _is_convertible on incomplete types.
* testsuite/20_util/function/65760.cc: New.
From-SVN: r222581
Thomas Schwinge [Wed, 29 Apr 2015 15:44:41 +0000 (17:44 +0200)]
Add OMP_STANDALONE_CLAUSES.
gcc/
* tree.h (OMP_STANDALONE_CLAUSES): New macro.
* gimplify.c (gimplify_omp_workshare): Use it.
gcc/c/
* c-parser.c (c_parser_oacc_enter_exit_data): Use
OMP_STANDALONE_CLAUSES.
gcc/cp/
* parser.c (cp_parser_oacc_enter_exit_data): Use
OMP_STANDALONE_CLAUSES.
From-SVN: r222580
Jonathan Wakely [Wed, 29 Apr 2015 15:22:13 +0000 (16:22 +0100)]
re PR libstdc++/64657 (Support iterators with overloaded operator-comma)
PR libstdc++/64657
* include/bits/basic_string (basic_string::_S_copy_chars): Cast
expression to void.
* include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
time_get::_M_extract_num, time_get::_M_extract_name,
time_get::_M_extract_wday_or_month): Likewise.
* include/bits/stl_algo.h (__includes, __replace_copy_if,
__is_sorted_until, __is_permutation, transform): Likewise.
* include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
__equal::equal, __lexicographical_compare_impl, equal): Likewise.
* include/bits/stl_numeric.h (inner_product): Likewise.
* include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
* testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
input_iterator_wrapper): Declare unusable comma operator.
* testsuite/21_strings/basic_string/cons/char/64657.cc: New.
* testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
New.
From-SVN: r222579
Paolo Carlini [Wed, 29 Apr 2015 14:06:27 +0000 (14:06 +0000)]
re PR c++/64667 (-Winit-self ignored for reference fields)
/cp
2015-04-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/64667
* init.c (perform_member_init): Handle references for -Winit-self.
/testsuite
2015-04-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/64667
* g++.dg/warn/Winit-self-3.C: New.
From-SVN: r222577
Richard Sandiford [Wed, 29 Apr 2015 13:32:59 +0000 (13:32 +0000)]
Makefile.in (build/genrecog.o): Depend on inchash.h.
gcc/
* Makefile.in (build/genrecog.o): Depend on inchash.h.
(build/genrecog$(build_exeext): Depend on build/hash-table.o and
build/inchash.o
* genrecog.c: Rewrite most of the code except for the third page.
From-SVN: r222575
Richard Sandiford [Wed, 29 Apr 2015 13:32:34 +0000 (13:32 +0000)]
inchash.h, inchash.c: Include bconfig.h for build objects.
gcc/
* inchash.h, inchash.c: Include bconfig.h for build objects.
* Makefile.in (build/inchash.o): New rule.
From-SVN: r222574
Uros Bizjak [Wed, 29 Apr 2015 11:53:39 +0000 (13:53 +0200)]
namelist_87.f90: Use dg-add-options ieee.
* gfortran.dg/namelist_87.f90: Use dg-add-options ieee.
From-SVN: r222573
Yvan Roux [Wed, 29 Apr 2015 11:31:40 +0000 (11:31 +0000)]
re PR target/65924 (ICE const_int_operand failed on arm-none-eabi)
gcc/
2015-04-29 Yvan Roux <yvan.roux@linaro.org>
PR target/65924
* config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
number in type attribute expression.
gcc/testsuite/
2015-04-29 Yvan Roux <yvan.roux@linaro.org>
PR target/65924
* gcc.target/arm/pr65924.c: New test.
From-SVN: r222572
Richard Sandiford [Wed, 29 Apr 2015 11:12:17 +0000 (11:12 +0000)]
loop-iv.c (canon_condition): Generalize to all types of integer constant.
gcc/
* loop-iv.c (canon_condition): Generalize to all types of integer
constant.
From-SVN: r222571
Bernhard Reutner-Fischer [Wed, 29 Apr 2015 10:45:31 +0000 (12:45 +0200)]
gimple-walk.c #include TLC
Also look at return values of parse_input_constraint and
parse_output_constraint.
From-SVN: r222569
Alan Lawrence [Wed, 29 Apr 2015 10:13:36 +0000 (10:13 +0000)]
[ARM]Remove vec_shr and vec_shr optabs
* config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
From-SVN: r222568
Tom de Vries [Wed, 29 Apr 2015 09:13:49 +0000 (09:13 +0000)]
Move pass_stdarg to after pass_dce in pass_all_optimizations
2015-04-29 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/65893
* passes.def (pass_all_optimizations): Move pass_stdarg to after
pass_dce.
From-SVN: r222567
Thomas Schwinge [Wed, 29 Apr 2015 09:04:31 +0000 (11:04 +0200)]
Fix OpenMP's target update directive in templated code.
FAIL: g++.dg/gomp/tpl-target-update.C -std=c++98 (internal compiler error)
FAIL: g++.dg/gomp/tpl-target-update.C -std=c++98 (test for excess errors)
FAIL: g++.dg/gomp/tpl-target-update.C -std=c++11 (internal compiler error)
FAIL: g++.dg/gomp/tpl-target-update.C -std=c++11 (test for excess errors)
FAIL: g++.dg/gomp/tpl-target-update.C -std=c++14 (internal compiler error)
FAIL: g++.dg/gomp/tpl-target-update.C -std=c++14 (test for excess errors)
[...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C: In instantiation of 'void f(T, T) [with T = int]':
[...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:19:9: required from here
[...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:10:9: internal compiler error: tree check: expected oacc_parallel or oacc_kernels or oacc_data or oacc_host_data or omp_parallel or omp_task or omp_for or omp_simd or cilk_simd or cilk_for or omp_distribute or oacc_loop or omp_teams or omp_target_data or omp_target or omp_sections or omp_single, have omp_target_update in tsubst_expr, at cp/pt.c:14209
0xf5aae1 tree_range_check_failed(tree_node const*, char const*, int, char const*, tree_code, tree_code)
[...]/source-gcc/gcc/tree.c:9384
0x66e201 tree_range_check
[...]/source-gcc/gcc/tree.h:2979
0x66e201 tsubst_expr
[...]/source-gcc/gcc/cp/pt.c:14209
0x6695e3 tsubst_expr
[...]/source-gcc/gcc/cp/pt.c:13752
0x66ac07 tsubst_expr
[...]/source-gcc/gcc/cp/pt.c:13938
0x667c41 instantiate_decl(tree_node*, int, bool)
[...]/source-gcc/gcc/cp/pt.c:20367
0x6ae386 instantiate_pending_templates(int)
[...]/source-gcc/gcc/cp/pt.c:20484
0x6edc3d cp_write_global_declarations()
[...]/source-gcc/gcc/cp/decl2.c:4456
gcc/cp/
* pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
gcc/testsuite/
* g++.dg/gomp/tpl-target-update.C: New file.
From-SVN: r222564
Richard Biener [Wed, 29 Apr 2015 08:51:08 +0000 (08:51 +0000)]
re PR tree-optimization/65917 (XFAIL: gcc.dg/tree-ssa/
20030922-2.c scan-tree-dump-times dom1 "if " 2)
2015-04-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/65917
* gcc.dg/tree-ssa/
20030922-2.c: Disable ifcombine and XFAIL.
From-SVN: r222562
Jakub Jelinek [Wed, 29 Apr 2015 08:25:11 +0000 (10:25 +0200)]
c-common.h (omp_clause_mask): Unconditionally define as a class.
* c-common.h (omp_clause_mask): Unconditionally define as a class.
Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
HOST_BITS_PER_WIDE_INT.
From-SVN: r222561
Richard Biener [Wed, 29 Apr 2015 08:15:52 +0000 (08:15 +0000)]
tree-vect-data-refs.c (vect_analyze_group_access): Properly compute GROUP_SIZE for basic-block SLP.
2015-04-29 Richard Biener <rguenther@suse.de>
* tree-vect-data-refs.c (vect_analyze_group_access): Properly
compute GROUP_SIZE for basic-block SLP.
* tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
take into account gaps.
(vect_get_mask_element): Properly reject references to previous
vectors.
(vect_transform_slp_perm_load): Likewise.
From-SVN: r222560
Christian Bruel [Wed, 29 Apr 2015 06:52:23 +0000 (08:52 +0200)]
re PR target/64835 (-fno-ipa-cp is inconsitently supported when attributes optimize or target are used)
2015-04-29 Christian Bruel <christian.bruel@st.com>
PR target/64835
* config/i386/i386.c (ix86_default_align): New function.
(ix86_override_options_after_change): Call ix86_default_align.
(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
(ix86_override_options_after_change): New function.
From-SVN: r222559
Doug Evans [Wed, 29 Apr 2015 00:17:09 +0000 (00:17 +0000)]
list.cc (_GLIBCXX_USE_CXX11_ABI): Define to zero.
* testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
Define to zero.
From-SVN: r222556
GCC Administrator [Wed, 29 Apr 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r222555
Jeff Law [Tue, 28 Apr 2015 23:18:27 +0000 (17:18 -0600)]
* tree-ssa-dom.c (record_equality); Fix comment typos.
From-SVN: r222551
Jason Merrill [Tue, 28 Apr 2015 21:27:17 +0000 (17:27 -0400)]
re PR c++/65896 (Erroneous uninitialized variable access error in constexpr function with temporary variables)
PR c++/65896
* constexpr.c (cxx_eval_store_expression): Don't try to actually
store an empty class.
From-SVN: r222549
Joseph Myers [Tue, 28 Apr 2015 21:21:24 +0000 (22:21 +0100)]
* fr.po: Update.
From-SVN: r222547
Tom de Vries [Tue, 28 Apr 2015 20:58:51 +0000 (20:58 +0000)]
Remove ifn_va_arg ap fixup
2015-04-28 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/65887
* gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
* c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
From-SVN: r222546
Sandra Loosemore [Tue, 28 Apr 2015 20:15:59 +0000 (16:15 -0400)]
extend.texi (Declaring Attributes of Functions): Split into subsections by target.
2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/extend.texi (Declaring Attributes of Functions): Split into
subsections by target. Alphabetize the table of common attributes.
Rewrite some of the introductory text to reflect the new structure.
Update some cross-references to point to the new subsections.
(Attribute Syntax): Put paragraph about "__" naming here. Remove
duplicate copies in the discussion of function, label, and type
attributes.
From-SVN: r222543
Jonathan Wakely [Tue, 28 Apr 2015 19:42:56 +0000 (20:42 +0100)]
stl_algo.h (random_shuffle): Only define for hosted implementations.
* include/bits/stl_algo.h (random_shuffle): Only define for hosted
implementations.
From-SVN: r222542
Jonathan Wakely [Tue, 28 Apr 2015 19:42:51 +0000 (20:42 +0100)]
Makefile.am (SUBDIRS): Move python to hosted_source.
* Makefile.am (SUBDIRS): Move python to hosted_source.
* Makefile.in: Regenerate.
* acinclude.m4 (glibcxx_SUBDIRS): Reorder.
* configure: Regenerate.
From-SVN: r222541
Marc Glisse [Tue, 28 Apr 2015 19:35:49 +0000 (21:35 +0200)]
re PR libstdc++/65883 (numeric_limits<unsigned __int128>::max() returns incorrect value)
2015-04-28 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/65883
* include/std/limits (numeric_limits): Add missing unsigned.
From-SVN: r222540
Andre Vehreschild [Tue, 28 Apr 2015 19:03:01 +0000 (21:03 +0200)]
interface.c (gfc_compare_types): Check for unlimited polymorphism flag in the correct position indepent of the...
gcc/fortran/ChangeLog:
2015-04-28 Andre Vehreschild <vehre@gmx.de>
* interface.c (gfc_compare_types): Check for unlimited
polymorphism flag in the correct position indepent of the _data
component being present or not. This prevents a segfault, when
the _data component is not present.
* symbol.c (gfc_type_compatible): Same.
gcc/testsuite/ChangeLog:
2015-04-28 Andre Vehreschild <vehre@gmx.de>
* gfortran.dg/implicit_class_1.f90: Adding flag to check, if
segfault is fixed.
From-SVN: r222539
Marek Polacek [Tue, 28 Apr 2015 17:29:24 +0000 (17:29 +0000)]
* c-parser.c (c_parser_binary_expression): Remove duplicate line.
From-SVN: r222537
Caroline Tice [Tue, 28 Apr 2015 17:27:19 +0000 (10:27 -0700)]
Fix typos in entry from yesterday, as requested.
From-SVN: r222536
Dominique d'Humieres [Tue, 28 Apr 2015 17:16:19 +0000 (19:16 +0200)]
re PR bootstrap/65910 (r222473 breaks x86_64 darwin bootstrap)
2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
PR bootstrap/65910
* varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
From-SVN: r222535
Bill Schmidt [Tue, 28 Apr 2015 15:44:24 +0000 (15:44 +0000)]
vect-33.c: Remove spurious line.
2015-04-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vect/vect-33.c: Remove spurious line.
From-SVN: r222533
Stephan Bergmann [Tue, 28 Apr 2015 15:05:27 +0000 (15:05 +0000)]
vector (_Safe_vector::operator=): Add missing returns.
2015-04-28 Stephan Bergmann <sbergman@redhat.com>
* include/debug/vector (_Safe_vector::operator=): Add missing returns.
From-SVN: r222532
Jason Merrill [Tue, 28 Apr 2015 14:43:59 +0000 (10:43 -0400)]
re PR c++/65656 (__builtin_constant_p should always be constexpr)
PR c++/65656
* constexpr.c (cxx_eval_builtin_function_call): Fix
__builtin_constant_p.
From-SVN: r222531
Jason Merrill [Tue, 28 Apr 2015 14:43:54 +0000 (10:43 -0400)]
re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800
* tree.c (strip_typedefs): Add remove_attributes parm.
(strip_typedefs_expr): Likewise.
(apply_identity_attributes): New subroutine of strip_typedefs.
* pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
(convert_nontype_argument, unify): Likewise.
* cp-tree.h: Adjust.
From-SVN: r222530
Jason Merrill [Tue, 28 Apr 2015 14:43:48 +0000 (10:43 -0400)]
re PR c++/65734 (Yet another case of lost alignment by stor_layout)
PR c++/65734
gcc/
* stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
(finalize_type_size): Respect TYPE_USER_ALIGN.
(layout_type) [ARRAY_TYPE]: Likewise.
gcc/cp/
* class.c (fixup_attribute_variants): Respect TYPE_USER_ALIGN.
From-SVN: r222529
Yvan Roux [Tue, 28 Apr 2015 14:41:04 +0000 (14:41 +0000)]
arm.md (*arm_movt): Fix type attribute.
2015-04-28 Yvan Roux <yvan.roux@linaro.org>
* config/arm/arm.md (*arm_movt): Fix type attribute.
(*cmpsi_shiftsi): Likewise.
(*cmpsi_shiftsi_swp): Likewise.
(*movsicc_insn): Likewise.
(*cond_move): Likewise.
(*if_plus_move): Likewise.
(*if_move_plus): Likewise.
(*if_arith_move): Likewise.
(*if_move_arith): Likewise.
(*if_shift_move): Likewise.
(*if_move_shift): Likewise.
(*arm_movtas_ze): Likewise.
* config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
redundancy and type attribute.
(*thumb2_movsi_insn): Fix type attribute.
(*thumb2_addsi_short): Likewise.
(thumb2_addsi3_compare0): Likewise.
(*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
attributes accordingly.
From-SVN: r222528
Jan Hubicka [Tue, 28 Apr 2015 14:13:59 +0000 (16:13 +0200)]
* g++.dg/tree-ssa/pr61034.C: Add temporary; fix template.
From-SVN: r222527
Jonathan Wakely [Tue, 28 Apr 2015 13:21:54 +0000 (14:21 +0100)]
re PR libstdc++/60333 (type_traits make_signed, make_unsigned missing support for long long enumerations)
PR libstdc++/60333
* include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
Handle enumeration types larger than sizeof(long).
(__make_signed_selector<_Tp, false, true>): Find unsigned type then
make it signed.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
dg-error.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
From-SVN: r222526
Jonathan Wakely [Tue, 28 Apr 2015 13:05:33 +0000 (14:05 +0100)]
re PR libstdc++/61645 (forward_list::splice_after shall not throw exceptions)
PR libstdc++/61645
* include/bits/forward_list.h (forward_list::splice_after): Add
noexcept.
* include/bits/forward_list.tcc (forward_list::splice_after):
Likewise.
From-SVN: r222525
Jonathan Wakely [Tue, 28 Apr 2015 12:35:30 +0000 (13:35 +0100)]
re PR libstdc++/65631 (seed_seq should not be copyable)
PR libstdc++/65631
* include/bits/random.h (seed_seq) Define copy constructor and copy
assignment as deleted.
* testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
From-SVN: r222524
Jonathan Wakely [Tue, 28 Apr 2015 12:07:40 +0000 (13:07 +0100)]
exception (uncaught_exceptions): Add comment.
* libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
Use -std=gnu++1z. Check feature-test macro.
From-SVN: r222523
Jonathan Wakely [Tue, 28 Apr 2015 12:07:34 +0000 (13:07 +0100)]
type_traits (void_t): Add.
* include/std/type_traits (void_t): Add.
* testsuite/20_util/void_t/1.cc: New.
From-SVN: r222522
Markus Trippelsdorf [Tue, 28 Apr 2015 10:09:43 +0000 (10:09 +0000)]
re PR middle-end/65911 (r222508 breaks clang-tblgen)
Fix PR65911
2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
PR other/65911
* function.c (pad_to_arg_alignment): Add parentheses.
From-SVN: r222521
Uros Bizjak [Tue, 28 Apr 2015 09:23:40 +0000 (11:23 +0200)]
elf-lib.h: New file.
libgcc/ChangeLog:
* config/frv/elf-lib.h: New file.
(CRT_GET_RFIB_DATA): Move definition from gcc/config/frv/frv.h.
* libgcc/config.host (frv-*elf, frv-*-*linux*): Add frv/elf-lib.h
to tm_file.
* config/frv/frvbengin.c: Do not include defaults.h
* config/frv/frvend.c: Ditto.
gcc/ChangeLog:
* config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
libgcc/config/frv/elf-lib.h.
From-SVN: r222519
Eric Botcazou [Tue, 28 Apr 2015 08:54:07 +0000 (08:54 +0000)]
c-ada-spec.c (in_function): Delete.
* c-ada-spec.c (in_function): Delete.
(dump_generic_ada_node): Do not change in_function and remove the
redundant code dealing with it.
(print_ada_declaration): Do not change in_function. Use INDENT_INCR.
(print_ada_methods): Output the static member functions in a nested
package after the regular methods as well as associated renamings.
Co-Authored-By: Pierre-Marie de Rodat <derodat@adacore.com>
From-SVN: r222517
Tom de Vries [Tue, 28 Apr 2015 08:46:37 +0000 (08:46 +0000)]
Fix example in header comment in tree-call-cdce.c
2015-04-28 Tom de Vries <tom@codesourcery.com>
* tree-call-cdce.c: Fix example in header comment.
From-SVN: r222516
Marek Polacek [Tue, 28 Apr 2015 08:36:50 +0000 (08:36 +0000)]
re PR c/65901 (no warning or error for va_arg (ap, void))
PR c/65901
* c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
* gcc.c-torture/compile/pr48767.c (foo): Add dg-error.
* gcc.dg/pr65901.c: New test.
From-SVN: r222515
Richard Biener [Tue, 28 Apr 2015 08:30:44 +0000 (08:30 +0000)]
re PR fortran/62283 (basic-block vectorization fails)
2015-04-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/62283
* tree-vect-slp.c (vect_build_slp_tree): When the SLP build
fails fatally and we are vectorizing a basic-block simply
cause the child to be constructed piecewise.
(vect_analyze_slp_cost_1): Adjust.
(vect_detect_hybrid_slp_stmts): Likewise.
(vect_bb_slp_scalar_cost): Likewise.
(vect_get_constant_vectors): For piecewise constructed
constants place them after the last def.
(vect_get_slp_defs): Adjust.
* tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
externals for basic-block vectorization.
* gfortran.dg/vect/pr62283-2.f: New testcase.
* gcc.dg/vect/bb-slp-14.c: Adjust.
From-SVN: r222514
Thomas Preud'homme [Tue, 28 Apr 2015 08:10:44 +0000 (08:10 +0000)]
re PR target/63503 ([AArch64] A57 executes fused multiply-add poorly in some situations)
2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR target/63503
* config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
aarch64-*-*.
* config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
* config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
(AARCH64_TUNE_FMA_STEERING): Likewise.
* config/aarch64/aarch64-cores.def: Set
AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
FMUL/FMADD instructions.
* config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
(aarch64_override_options): Include cortex-a57-fma-steering.h. Call
aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
* config/aarch64/cortex-a57-fma-steering.h: New file.
* config/aarch64/cortex-a57-fma-steering.c: Likewise.
From-SVN: r222512
Richard Sandiford [Tue, 28 Apr 2015 07:46:40 +0000 (07:46 +0000)]
gensupport.c (std_preds): Add missing codes to address_operand entry.
gcc/
* gensupport.c (std_preds): Add missing codes to address_operand entry.
From-SVN: r222511
Richard Biener [Tue, 28 Apr 2015 07:26:41 +0000 (07:26 +0000)]
re PR c++/65851 (ice in set_lattice_value at tree-ssa-cc p.c:535)
2015-04-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/65851
* tree-ssa-ccp.c (set_lattice_value): Perform a meet when
changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
(ccp_lattice_meet): Remove stray argument. Use operand_equal_p
rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
(ccp_visit_phi_node): Adjust.
(evaluate_stmt): For simplifications to SSA names return its
lattice value if that isn't VARYING. Return immediately when
simplified to a constant.
(visit_assignment): Adjust.
(ccp_visit_stmt): Likewise.
* g++.dg/torture/pr65851.C: New testcase.
From-SVN: r222510
Tom de Vries [Tue, 28 Apr 2015 06:05:14 +0000 (06:05 +0000)]
Evaluate side-effects in expand_ifn_va_arg_1
2015-04-28 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/65818
* tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
evaluated.
From-SVN: r222509
Trevor Saunders [Tue, 28 Apr 2015 04:47:09 +0000 (04:47 +0000)]
remove #if ARGS_GROW_DOWNWARD
gcc/ChangeLog:
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* calls.c (save_fixed_argument_area): Don't check
ARGS_GROW_DOWNWARD with the preprocessor.
(restore_fixed_argument_area): Likewise.
(mem_overlaps_already_clobbered_arg_p): Likewise.
(check_sibcall_argument_overlap): Likewise.
(expand_call): Likewise.
(emit_library_call_value_1): Likewise.
(store_one_arg): Likewise.
* function.c (assign_parms): Likewise.
(locate_and_pad_parm): Likewise.
(pad_to_arg_alignment): Likewise.
* targhooks.c (std_gimplify_va_arg_expr): Likewise.
From-SVN: r222508
Trevor Saunders [Tue, 28 Apr 2015 04:46:20 +0000 (04:46 +0000)]
always define ARGS_GROW_DOWNWARD
gcc/ChangeLog:
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
* defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
* calls.c (save_fixed_argument_area): Don't chekc if
ARGS_GROW_DOWNWARD is defined.
(restore_fixed_argument_area): Likewise.
(mem_overlaps_already_clobbered_arg_p): Likewise.
(check_sibcall_argument_overlap): Likewise.
(expand_call): Likewise.
(emit_library_call_value_1): Likewise.
(store_one_arg): Likewise.
* function.c (assign_parms): Likewise.
(locate_and_pad_parm): Likewise.
(pad_to_arg_alignment): Likewise.
* targhooks.c (std_gimplify_va_arg_expr): Likewise.
From-SVN: r222507
Trevor Saunders [Tue, 28 Apr 2015 04:45:12 +0000 (04:45 +0000)]
always define HAVE_epilogue
gcc/ChangeLog:
2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (gen_epilogue): New function.
(HAVE_epilogue): Add default definition to false.
* alias.c (init_alias_analysis): don't check if HAVE_epilogue is
defined.
* cfgrtl.c (cfg_layout_finalize): Likewise.
* df-scan.c: Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
(reposition_prologue_and_epilogue_notes): Likewise.
* reorg.c (find_end_label): Likewise.
* toplev.c: Likewise.
From-SVN: r222506