Jason Merrill [Fri, 4 Mar 2016 16:07:20 +0000 (11:07 -0500)]
re PR c++/70067 (internal compiler error: in strip_typedefs, at cp/tree.c:1466)
PR c++/70067
* tree.c (strip_typedefs): Handle TYPENAME_TYPE lookup finding the
same type.
From-SVN: r233973
David Malcolm [Fri, 4 Mar 2016 15:50:27 +0000 (15:50 +0000)]
PR c/68187: fix overzealous -Wmisleading-indentation (comment #1)
gcc/c-family/ChangeLog:
PR c/68187
* c-indentation.c (get_visual_column): Move code to determine next
tab stop to...
(next_tab_stop): ...this new function.
(line_contains_hash_if): Delete function.
(detect_preprocessor_logic): Delete function.
(get_first_nws_vis_column): New function.
(detect_intervening_unindent): New function.
(should_warn_for_misleading_indentation): Replace call to
detect_preprocessor_logic with a call to
detect_intervening_unindent.
gcc/testsuite/ChangeLog:
PR c/68187
* c-c++-common/Wmisleading-indentation.c (fn_42_a): New test
function.
(fn_42_b): Likewise.
(fn_42_c): Likewise.
From-SVN: r233972
David Malcolm [Fri, 4 Mar 2016 15:45:19 +0000 (15:45 +0000)]
PR c/68187: fix overzealous -Wmisleading-indentation (comment #0)
gcc/c-family/ChangeLog:
PR c/68187
* c-indentation.c (should_warn_for_misleading_indentation): When
suppressing warnings about cases where the guard and body are on
the same column, only use the first non-whitespace column in place
of the guard token column when dealing with "else" clauses.
When rejecting aligned BODY and NEXT, loosen the requirement
from equality with the first non-whitespace of guard to simply
that they not be indented relative to it.
gcc/testsuite/ChangeLog:
PR c/68187
* c-c++-common/Wmisleading-indentation.c (fn_40_a): New test
function.
(fn_40_b): Likewise.
(fn_41_a): Likewise.
(fn_41_b): Likewise.
From-SVN: r233971
Jakub Jelinek [Fri, 4 Mar 2016 14:45:56 +0000 (15:45 +0100)]
re PR target/70059 (Invalid codegen on AVX-512 when using _mm512_inserti64x4(x, y, 0))
PR target/70059
* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
<extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
fixes.
(vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands.
* gcc.target/i386/avx512f-pr70059.c: New test.
* gcc.target/i386/avx512dq-pr70059.c: New test.
From-SVN: r233968
Bernd Schmidt [Fri, 4 Mar 2016 14:12:36 +0000 (14:12 +0000)]
Avoid terminating early in LRA, unless -fchecking (PR57676)
gcc/
PR rtl-optimization/57676
* lra-assigns.c (lra_assign): Guard test for maximum iterations
with flag_checking.
gcc/testsuite/
PR rtl-optimization/57676
* gcc.dg/torture/pr57676.c: New test.
From-SVN: r233967
Ilya Enkovich [Fri, 4 Mar 2016 13:49:54 +0000 (13:49 +0000)]
tree-vect-patterns.c (search_type_for_mask): Handle comparison of booleans.
gcc/
* tree-vect-patterns.c (search_type_for_mask): Handle
comparison of booleans.
gcc/testsuite/
* gcc.dg/pr70026.c: New test.
From-SVN: r233966
Marek Polacek [Fri, 4 Mar 2016 13:26:25 +0000 (13:26 +0000)]
re PR c/69798 (ICE on invalid code on x86_64-linux-gnu in c_parser_braced_init, at c/c-parser.c:4338)
PR c/69798
* c-parser.c (c_parser_postfix_expression): Call
c_parser_cast_expression rather than c_parser_postfix_expression.
* gcc.dg/cilk-plus/pr69798-1.c: New test.
* gcc.dg/cilk-plus/pr69798-2.c: New test.
From-SVN: r233965
Kyrylo Tkachov [Fri, 4 Mar 2016 11:09:11 +0000 (11:09 +0000)]
[AArch64][testsuite] PR target/70004: Remove check using undefined behaviour
PR target/70004
* gcc.target/aarch64/scalar_shift_1.c: (test_corners_sisd_di):
Delete.
(test_corners_sisd_si): Likewise.
(main): Remove checks of the above.
* gcc.target/aarch64/shift_wide_invalid_1.c: New test.
From-SVN: r233964
Eric Botcazou [Fri, 4 Mar 2016 08:46:33 +0000 (08:46 +0000)]
* gcc.dg/Wno-frame-address.c: Skip on IA-64.
From-SVN: r233963
Christophe Lyon [Fri, 4 Mar 2016 08:43:27 +0000 (08:43 +0000)]
pr69951.c: Accept argc==0.
2016-03-04 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.dg/torture/pr69951.c: Accept argc==0.
From-SVN: r233962
Richard Biener [Fri, 4 Mar 2016 08:31:19 +0000 (08:31 +0000)]
re PR middle-end/70054 (GCC 6 gives a strict-aliasing warning on use of std::aligned_storage)
2016-03-04 Richard Biener <rguenther@suse.de>
PR c++/70054
* c-common.c (strict_aliasing_warning): Use alias_set_subset_of
instead of alias_sets_conflict_p.
* g++.dg/warn/Wstrict-aliasing-bogus-union-2.C: New testcase.
* gcc.dg/Wstrict-aliasing-struct-member.c: New testcase.
From-SVN: r233961
Jakub Jelinek [Fri, 4 Mar 2016 07:39:21 +0000 (08:39 +0100)]
extend.texi (__builtin_alloca, [...]): Fix @xref usage.
* doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
Fix @xref usage.
From-SVN: r233960
Dominik Vogt [Fri, 4 Mar 2016 07:33:16 +0000 (07:33 +0000)]
S/390: Set GOARCH to the current target when testing multiarch.
The attached patch fixes a test failure of go.test/test/env.go on
s390x biarch. Bootstrapped and regression tested on s390x biarch
and s390.
gcc/testsuite/ChangeLog
2016-03-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR testsuite/69766
* go.test/go-test.exp: S/390: Set GOARCH to the current target when
testing multiarch.
From-SVN: r233959
Jakub Jelinek [Fri, 4 Mar 2016 07:27:15 +0000 (08:27 +0100)]
re PR debug/69947 (DW_OP_GNU_implicit_pointer broken on the trunk)
PR debug/69947
* dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
all other ops that have dw_val_class_die_ref operands,
and DW_OP_GNU_entry_value.
* gcc.dg/guality/pr69947.c: New test.
From-SVN: r233958
Jason Merrill [Fri, 4 Mar 2016 01:48:33 +0000 (20:48 -0500)]
* method.c (synthesized_method_walk): operator= can also be constexpr.
From-SVN: r233956
Jason Merrill [Fri, 4 Mar 2016 01:45:48 +0000 (20:45 -0500)]
pt.c (tsubst_copy_and_build): Get LAMBDA_EXPR_RETURN_TYPE from the instantiated closure.
* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Get
LAMBDA_EXPR_RETURN_TYPE from the instantiated closure.
From-SVN: r233955
Jason Merrill [Fri, 4 Mar 2016 01:45:43 +0000 (20:45 -0500)]
re PR c++/67164 (ICE: tree check: expected class ‘expression’, have ‘exceptional’ (argument_pack_select) in tree_operand_check, at tree.h:3356)
PR c++/67164
* pt.c (copy_template_args): New.
(tsubst_pack_expansion): Use it.
From-SVN: r233954
GCC Administrator [Fri, 4 Mar 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233953
Jason Merrill [Thu, 3 Mar 2016 22:43:14 +0000 (17:43 -0500)]
* call.c (build_aggr_conv): Use get_nsdmi.
From-SVN: r233947
Jason Merrill [Thu, 3 Mar 2016 22:43:09 +0000 (17:43 -0500)]
re PR c++/51406 ([c++0x] Incorrect result of static_cast to rvalue reference to base class.)
PR c++/51406
* typeck.c (build_static_cast_1): Avoid folding back to lvalue.
From-SVN: r233946
Jason Merrill [Thu, 3 Mar 2016 22:43:03 +0000 (17:43 -0500)]
re PR c++/67364 ("accessing uninitialized member" error in constexpr context)
PR c++/67364
* constexpr.c (cxx_eval_component_reference): Just return an empty
CONSTRUCTOR for an empty class.
From-SVN: r233945
Jakub Jelinek [Thu, 3 Mar 2016 20:52:40 +0000 (21:52 +0100)]
re PR ada/70017 (c52103x and c52104x test failure on s390x)
PR ada/70017
* gcc.dg/pr70017.c (foo): Store 0 to first element of each array.
From-SVN: r233944
Kyrylo Tkachov [Thu, 3 Mar 2016 17:25:43 +0000 (17:25 +0000)]
[ARM] PR rtl-optimization/69904: Disallow copying/duplicating of load-exclusive operations
PR rtl-optimization/69904
* config/arm/arm.c (arm_cannot_copy_insn_p):
Return true for load-exclusive instructions.
* gcc.target/arm/pr69904.c: New test.
From-SVN: r233941
Jakub Jelinek [Thu, 3 Mar 2016 14:32:15 +0000 (15:32 +0100)]
re PR target/70021 (Test miscompiled with -O3 option for -march=core-avx2.)
PR target/70021
* tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
the pattern no matter if it is used just by non-pattern, pattern
or mix thereof.
(process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
oprnd1 def_stmt is in pattern, don't look through it.
* gcc.dg/vect/pr70021.c: New test.
* gcc.target/i386/pr70021.c: New test.
From-SVN: r233940
Rainer Orth [Thu, 3 Mar 2016 13:40:30 +0000 (13:40 +0000)]
Fix passing object names to make_sunver.pl
* Makefile.am (libffi.map-sun): Properly convert
$(libffi_la_OBJECTS) to object names.
* Makefile.in: Regenerate.
From-SVN: r233938
Marek Polacek [Thu, 3 Mar 2016 11:42:19 +0000 (11:42 +0000)]
re PR middle-end/70050 (ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have vector_type in generic_simplify_162, at generic-match.c:6175)
PR middle-end/70050
* match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
* gcc.dg/pr70050.c: New test.
From-SVN: r233937
Rainer Orth [Thu, 3 Mar 2016 10:30:25 +0000 (10:30 +0000)]
Tabify libffi/Makefile.am
* Makefile.am (libffi.map-sun): Tabify:
* Makefile.in: Regenerate.
From-SVN: r233936
James Greenhalgh [Thu, 3 Mar 2016 10:18:05 +0000 (10:18 +0000)]
[Patch testsuite] Change xfail conditions for bb-slp-34.c
gcc/testsuite/
* gcc.dg/vect/bb-slp-34.c: Don't XFAIL for ARM/AArch64.
From-SVN: r233935
Martin Liska [Thu, 3 Mar 2016 10:08:09 +0000 (10:08 +0000)]
Skip properly debug stmt in optimize_mask_stores (PR
PR tree-optimization/70043
* tree-vect-loop.c (optimize_mask_stores): Move iterator to
previous statement if we see a debug statement.
* gfortran.dg/vect/pr70043.f90: New test.
From-SVN: r233934
Eric Botcazou [Thu, 3 Mar 2016 09:56:30 +0000 (09:56 +0000)]
* gnat.dg/specs/task1.ads: New test.
From-SVN: r233932
Rainer Orth [Thu, 3 Mar 2016 09:46:03 +0000 (09:46 +0000)]
Invoke gdb with -batch to avoid prompts
* lib/gcc-gdb-test.exp (gdb-test): Make log message match command.
Invoke gdb with -batch.
* lib/gcc-simulate-thread.exp (simulate-thread): Likewise.
From-SVN: r233930
Dominik Vogt [Thu, 3 Mar 2016 09:31:57 +0000 (09:31 +0000)]
libitm: Introduce target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
The attached patch adds the a target specific attribute via the
new target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE to the
function begin_transaction(). S/390 uses this to set the
soft-float target attribute which is needed to fix a crash with
-m31.
As there seems to be no place in libitm to document internal macros like
USE_HTM_FASTPATH or the new macro, I've put the documentation in a
comment where the macro is used.
2016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
function attribute to disable floating point in begin_transaction() on
S/390.
* beginend.cc (begin_transaction): Use
TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
From-SVN: r233929
Richard Biener [Thu, 3 Mar 2016 09:12:53 +0000 (09:12 +0000)]
re PR tree-optimization/55936 (Missed VRP optimization)
2016-03-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/55936
* tree-vrp.c (compare_name_with_value): Add use_equiv_p
parameter and guard unsafe equivalence use.
(vrp_evaluate_conditional_warnv_with_ops): Always use
safe equivalences but not via the quadratic compare_names
helper.
* gcc.dg/tree-ssa/vrp06.c: Remove XFAIL.
From-SVN: r233928
Michael Collison [Thu, 3 Mar 2016 07:42:02 +0000 (07:42 +0000)]
re PR target/70014 ([ARM] Predicate does not match constraint (*subsi3_carryin_const))
2016-03-03 Michael Collison <michael.collison@linaro.org>
PR target/70014
* config/arm/arm.md (*subsi3_carryin_const): Change predicate
for operand 1 to s_register_operand. Change predicate for operand
2 to arm_not_immediate_operand.
From-SVN: r233927
Richard Henderson [Thu, 3 Mar 2016 01:40:29 +0000 (17:40 -0800)]
re PR libffi/70024 (libffi ABI change w/o SONAME bump)
PR libffi/70024
* Makefile.am (libffi_version_script): Look in cwd for libffi.map.
(libffi_version_dep, libffi.map-sun): Likewise.
(libffi.map): New target.
* libffi.map.in: Rename from libffi.map. Add required defines,
includes, and conditionals.
From-SVN: r233926
GCC Administrator [Thu, 3 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233925
Jeff Law [Thu, 3 Mar 2016 00:11:03 +0000 (17:11 -0700)]
re PR rtl-optimization/69942 (gcc.dg/ifcvt-5.c FAILs)
PR rtl-optimization/69942
* gcc.dg/ifcvt-5.c: Use "word_mode" rather than "int" to limit the
effects of argument promotions.
From-SVN: r233922
Richard Henderson [Wed, 2 Mar 2016 23:28:11 +0000 (15:28 -0800)]
re PR libffi/70024 (libffi ABI change w/o SONAME bump)
PR libffi/70024
* Makefile.am (libffi_version_script): New.
(libffi_version_dep): New.
(libffi_version_info): New.
(libffi_la_LDFLAGS): Include libffi_version_info, libffi_version_script.
(libffi_la_DEPENDENCIES): Include libffi_version_dep.
* acinclude.m4 (LIBAT_ENABLE, LIBAT_CHECK_LINKER_FEATURES): New.
(LIBAT_ENABLE_SYMVERS, LIBAT_BUILD_VERSIONED_SHLIB): New.
(LIBAT_BUILD_VERSIONED_SHLIB_GNU): New.
(LIBAT_BUILD_VERSIONED_SHLIB_SUN): New.
* configure.ac: Invoke LIBAT_ENABLE_SYMVERS.
* libffi.map: New file.
* libtool-version: Increase to 5.0.0.
* Makefile.in, configure: Rebuild.
* man/Makefile.in, testsuite/Makefile.in: Rebuild.
From-SVN: r233921
Jeff Law [Wed, 2 Mar 2016 21:56:25 +0000 (14:56 -0700)]
Fix recent ChangeLog entry
From-SVN: r233918
H.J. Lu [Wed, 2 Mar 2016 21:46:55 +0000 (21:46 +0000)]
Regenerate doc/tm.texi
* doc/tm.texi: Regenerated.
From-SVN: r233917
Richard Henderson [Wed, 2 Mar 2016 21:09:54 +0000 (13:09 -0800)]
re PR rtl-optimization/67145 (associativity from pseudo-reg ordering)
PR rtl-opt/67145
* simplify-rtx.c (simplify_plus_minus): Allow reassoc without
simplification when all args are positive non-fixed registers.
From-SVN: r233916
Jakub Jelinek [Wed, 2 Mar 2016 20:30:48 +0000 (21:30 +0100)]
Minor ChangeLog formatting fixes.
From-SVN: r233915
Manuel López-Ibáñez [Wed, 2 Mar 2016 20:17:15 +0000 (20:17 +0000)]
target.def (lra_p): Specify that new ports should use LRA.
2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* target.def(lra_p): Specify that new ports should use LRA.
From-SVN: r233914
Jakub Jelinek [Wed, 2 Mar 2016 19:16:14 +0000 (20:16 +0100)]
re PR libgomp/69555 (libgomp.c++/target-6.C fails because of undefined behaviour)
PR libgomp/69555
* gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
gimplify_type_sizes the type they refer to.
(omp_notice_variable): Handle reference vars to VLAs.
* omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE reference
to VLA decls in the second pass instead of first pass.
* testsuite/libgomp.c++/pr69555-1.C: New test.
* testsuite/libgomp.c++/pr69555-2.C: New test.
From-SVN: r233913
Jeff Law [Wed, 2 Mar 2016 18:45:26 +0000 (11:45 -0700)]
re PR middle-end/69987 (internal compiler error: in verify_loop_structure, at cfgloop.c:1639)
PR tree-optimization/69987
* gfortran.dg/pr69987.f90: Use "-w" to avoid failures when the
target does not support -fprefetch-loop-arrays.
From-SVN: r233912
Max Ostapenko [Wed, 2 Mar 2016 16:32:55 +0000 (18:32 +0200)]
elf.c (backtrace_initialize): Properly initialize elf_fileline_fn to avoid possible crash.
libbacktrace/
2016-03-02 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
* elf.c (backtrace_initialize): Properly initialize elf_fileline_fn to
avoid possible crash.
(elf_add): Don't set *fileline_fn to elf_nodebug value in case of
missing debug info anymore.
From-SVN: r233911
Uros Bizjak [Wed, 2 Mar 2016 15:38:21 +0000 (16:38 +0100)]
bmi2-bzhi-2.c: Change to runtime test.
* gcc.target/i386/bmi2-bzhi-2.c: Change to runtime test.
From-SVN: r233910
Tom de Vries [Wed, 2 Mar 2016 15:10:34 +0000 (15:10 +0000)]
Handle addr_expr and component_ref in graphite-ast-to-ast
2016-03-02 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68659
* graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
new_expr == NULL_TREE.
(get_new_name): Handle ADDR_EXPR.
From-SVN: r233909
Bin Cheng [Wed, 2 Mar 2016 14:16:00 +0000 (14:16 +0000)]
Correct ChangeLog for revision 233907.
From-SVN: r233908
Bin Cheng [Wed, 2 Mar 2016 14:10:56 +0000 (14:10 +0000)]
re PR rtl-optimization/69052 (Performance regression after r229402.)
PR tree-optimization/69052
* loop-invariant.c (canonicalize_address): New function.
(inv_can_prop_to_addr_use): Check validity of address expression
which is canonicalized by above function.
gcc/testsuite/ChangeLog
PR tree-optimization/69052
* gcc.target/i386/pr69052.c: New test.
From-SVN: r233907
Alan Modra [Wed, 2 Mar 2016 14:05:21 +0000 (00:35 +1030)]
decl alignment not respected
This patch cures a problem with ICF of read-only variables at the
intersection of -fsection-anchors, -ftree-loop-vectorize, and targets
with alignment restrictions.
What happens with the testcase is:
- "c" is referenced in a constructor, thus make_decl_rtl for "c",
- make_decl_rtl puts "c" in an anchor block (-fsection-anchors),
- anchor block contents can't move, so "c" alignment can't change by
ipa_increase_alignment (-ftree-loop-vectorize),
- however "a" alignment can be increased,
- ICF aliases "a" to "c".
So we have a decl for "a" saying it is aligned to 128 bits, using mem
for "c" which is only 16 bit aligned.
PR ipa/69990
gcc/
* ipa-icf.c (sem_variable::merge): Do not merge an alias with
larger alignment.
gcc/testsuite/
gcc.dg/pr69990.c: New.
From-SVN: r233906
Jakub Jelinek [Wed, 2 Mar 2016 13:11:21 +0000 (14:11 +0100)]
re PR c/68062 (ICE when comparing vectors)
PR c/68062
* c-c++-common/vector-compare-4.c: Add -Wno-psabi to dg-options.
PR middle-end/70022
* gcc.dg/pr70022.c: Add -w -Wno-psabi to dg-options.
From-SVN: r233905
Jakub Jelinek [Wed, 2 Mar 2016 13:10:36 +0000 (14:10 +0100)]
re PR target/70028 (Error: operand size mismatch for `kmovw' (wrong assembly generated) with -mavx512bw -masm=intel)
PR target/70028
* config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
(*movhi_internal): Put mask moves from and to memory separately
from moves from/to GPRs.
* gcc.target/i386/pr70028.c: New test.
From-SVN: r233904
Richard Biener [Wed, 2 Mar 2016 12:44:15 +0000 (12:44 +0000)]
genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded GENERIC expressions in GIMPLE.
2016-03-02 Richard Biener <rguenther@suse.de>
* genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
GENERIC expressions in GIMPLE.
From-SVN: r233902
Richard Biener [Wed, 2 Mar 2016 10:04:43 +0000 (10:04 +0000)]
i386.c (type_natural_mode): Fix typo.
2016-03-02 Richard Biener <rguenther@suse.de>
* config/i386/i386.c (type_natural_mode): Fix typo.
From-SVN: r233901
Nick Clifton [Wed, 2 Mar 2016 09:53:05 +0000 (09:53 +0000)]
* config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
From-SVN: r233900
Maxim Kuvyrkov [Wed, 2 Mar 2016 09:38:09 +0000 (09:38 +0000)]
Print markers to stderr to avoid races with sanitizer output
* c-c++-common/asan/swapcontext-test-1.c,
* c-c++-common/tsan/thread_leak.c,
* g++.dg/tsan/aligned_vs_unaligned_race.C,
* g++.dg/tsan/benign_race.C,
* g++.dg/tsan/fd_close_norace.C,
* g++.dg/tsan/fd_close_norace2.C: Print markers to stderr to avoid
races with sanitizer output
From-SVN: r233899
Richard Biener [Wed, 2 Mar 2016 08:55:42 +0000 (08:55 +0000)]
re PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)
2016-03-02 Richard Biener <rguenther@suse.de>
Uros Bizjak <ubizjak@gmail.com>
PR target/67278
* config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
* gcc.dg/simd-8.c: New testcase.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r233898
Richard Biener [Wed, 2 Mar 2016 08:16:16 +0000 (08:16 +0000)]
re PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)
2016-03-02 Richard Biener <rguenther@suse.de>
PR middle-end/67278
* tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
* gcc.dg/simd-7.c: New testcase.
From-SVN: r233897
Eric Botcazou [Wed, 2 Mar 2016 07:57:17 +0000 (07:57 +0000)]
* gcc.target/i386/pr70007.c: Tweak.
From-SVN: r233894
Dominik Vogt [Wed, 2 Mar 2016 07:50:29 +0000 (07:50 +0000)]
S/390: Ada: Enable Stack_Check_Probes.
gcc/ada/ChangeLog
* system-linux-s390.adsx: Enable Stack_Check_Probes.
* system-linux-s390.ads: Likewise.
From-SVN: r233893
Dominik Vogt [Wed, 2 Mar 2016 07:47:49 +0000 (07:47 +0000)]
S/390: Reduce accuracy of bessel_6.f90.
gcc/testsuite/ChangeLog
* gfortran.dg/bessel_6.f90: Reduce accuracy for S/390.
From-SVN: r233892
Marek Polacek [Wed, 2 Mar 2016 07:24:19 +0000 (07:24 +0000)]
re PR c/67854 (Missing diagnostic for passing bool to va_arg)
PR c/67854
* gimplify.c (gimplify_va_arg_expr): Use expanded location for the
"is promoted to" warning.
* gcc.dg/pr67854.c: New test.
From-SVN: r233891
Jakub Jelinek [Wed, 2 Mar 2016 06:58:05 +0000 (07:58 +0100)]
re PR middle-end/70025 (Miscompilation of gc-7.4.2 on s390x starting with r227382)
PR middle-end/70025
* gcc.dg/torture/pr70025.c: New test.
From-SVN: r233889
Venkataramanan Kumar [Wed, 2 Mar 2016 06:14:43 +0000 (06:14 +0000)]
Adjust test case in PR68621 to compile with -fpic.
2016-03-02 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
PR tree-optimization/68621
* gcc.dg/tree-ssa/ifc-8.c: Adjust test.
From-SVN: r233888
DJ Delorie [Wed, 2 Mar 2016 04:41:58 +0000 (23:41 -0500)]
MAINTAINERS (mep): Remove myself as MeP maintainer.
* MAINTAINERS (mep): Remove myself as MeP maintainer.
* config.gcc: Deprecate mep-*.
From-SVN: r233887
Jason Merrill [Wed, 2 Mar 2016 02:55:23 +0000 (21:55 -0500)]
re PR c++/70036 ([concepts] ICE with a dependent sizeof in a concept)
PR c++/70036
* parser.c (cp_parser_requires_clause): Call
check_for_bare_parameter_packs.
From-SVN: r233886
Jason Merrill [Wed, 2 Mar 2016 02:47:15 +0000 (21:47 -0500)]
* gcc/cp/call.c: Mark as C++ for emacs.
From-SVN: r233885
Jason Merrill [Wed, 2 Mar 2016 02:32:44 +0000 (21:32 -0500)]
re PR c++/51489 (constexpr not working consistently)
PR c++/51489
* constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
the operands.
From-SVN: r233878
Jason Merrill [Wed, 2 Mar 2016 02:32:38 +0000 (21:32 -0500)]
re PR c++/69995 ([C++14] Invalid result when evaluating constexpr function)
PR c++/69995
* constexpr.c (cxx_eval_call_expression): Unshare arg.
(cxx_eval_constant_expression) [DECL_EXPR]: Unshare init.
[TARGET_EXPR]: Unshare init.
From-SVN: r233877
Vladimir Makarov [Wed, 2 Mar 2016 01:39:30 +0000 (01:39 +0000)]
re PR middle-end/70025 (Miscompilation of gc-7.4.2 on s390x starting with r227382)
2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/70025
* lra-constraints.c (regno_val_use_in): New.
(match_reload): Use it instead of regno_use_in.
From-SVN: r233876
GCC Administrator [Wed, 2 Mar 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233874
Jeff Law [Tue, 1 Mar 2016 23:12:10 +0000 (16:12 -0700)]
re PR tree-optimization/69196 (code size regression with jump threading at -O2)
PR tree-optimization/69196
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Appropriately clamp the number of statements to copy when the
thread path does not traverse a loop backedge.
PR tree-optimization/69196
* gcc.dg/tree-ssa/pr69196.c: New test.
From-SVN: r233870
Eric Botcazou [Tue, 1 Mar 2016 22:31:52 +0000 (22:31 +0000)]
re PR rtl-optimization/70007 (wrong code with -mbmi2)
PR rtl-optimization/70007
* gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
references present in REG_EQUAL notes attached to non-SET patterns.
From-SVN: r233867
Jeff Law [Tue, 1 Mar 2016 21:46:58 +0000 (14:46 -0700)]
re PR tree-optimization/69196 (code size regression with jump threading at -O2)
PR tree-optimization/69196
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Do count some PHIs in the thread path against the insn count. Decrease
final statement count by one as the control statement in the last
block will get removed. Remove special cased code for handling PHIs in the last block.
PR tree-optimization/69196
* gcc.dg/tree-ssa/vrp46.c: Twiddle threading params to keep it from
duplicating code and spoiling the expected output.
From-SVN: r233866
Michael Meissner [Tue, 1 Mar 2016 21:31:47 +0000 (21:31 +0000)]
re PR target/70033 (PowerPC power9 tests don't have guard for power9 support)
2016-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70033
* gcc.target/powerpc/p9-lxvx-stxvx-1.c: Make sure compiler
supports power9 before doing tests.
* gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise.
* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise.
* gcc.target/powerpc/p9-permute.c: Likewise.
From-SVN: r233865
Uros Bizjak [Tue, 1 Mar 2016 20:11:19 +0000 (21:11 +0100)]
re PR target/70027 (invalid assembly syntax generated with -fno-plt -masm=intel)
PR target/70027
* config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
asm dialect alternatives to explicit GOTPCREL calls.
testsuite/ChangeLog:
PR target/70027
* gcc.target/i386/pr70027.c: New test.
From-SVN: r233864
Eric Botcazou [Tue, 1 Mar 2016 20:05:31 +0000 (20:05 +0000)]
Fix date
From-SVN: r233863
Eric Botcazou [Tue, 1 Mar 2016 20:04:01 +0000 (20:04 +0000)]
re PR ada/70017 (c52103x and c52104x test failure on s390x)
PR ada/70017
* ira.c (do_reload): Issue warning for generic stack checking here...
* reload1.c (reload): ...instead of here and streamline it.
From-SVN: r233862
Jakub Jelinek [Tue, 1 Mar 2016 18:27:21 +0000 (19:27 +0100)]
re PR c/69796 (ICE on invalid code in useless_type_conversion_p, at gimple-expr.c:83)
PR c/69796
PR c/69974
* c-parser.c (c_parser_translation_unit): Don't change TREE_TYPE
of incomplete decls to error_mark_node.
* gcc.dg/pr69796.c: New test.
* gcc.dg/pr69974.c: New test.
From-SVN: r233861
Eric Botcazou [Tue, 1 Mar 2016 17:33:51 +0000 (17:33 +0000)]
* gnat.dg/stack_usage3.adb: Robustify and enable for all targets.
From-SVN: r233859
Nick Clifton [Tue, 1 Mar 2016 16:52:37 +0000 (16:52 +0000)]
* config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
From-SVN: r233858
Jeff Law [Tue, 1 Mar 2016 16:22:51 +0000 (09:22 -0700)]
re PR middle-end/69987 (internal compiler error: in verify_loop_structure, at cfgloop.c:1639)
PR tree-optimization/69987
* gfortran.dg/pr69987.f90: New test.
PR tree-optimization/69989
* gcc.c-torture/compile/pr69989-2.c: New test.
From-SVN: r233857
Richard Biener [Tue, 1 Mar 2016 15:58:25 +0000 (15:58 +0000)]
re PR middle-end/69983 (FAIL: gcc.dg/graphite/scop-sor.c scan-tree-dump-times graphite "number of SCoPs: 1" 1)
2016-03-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/69983
* tree-chrec.c (eq_evolutions_p): Handle conversions, compare
types and fall back to operand_equal_p.
From-SVN: r233856
Marek Polacek [Tue, 1 Mar 2016 15:30:42 +0000 (15:30 +0000)]
re PR c++/69795 (g++ ICE on invalid code on x86_64-linux-gnu in "reject_gcc_builtin")
PR c++/69795
* c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
any DECL.
* g++.dg/parse/invalid1.C: New test.
From-SVN: r233855
Andreas Krebbel [Tue, 1 Mar 2016 14:53:29 +0000 (14:53 +0000)]
S/390: Revert setmem pattern folding
This does not work without:
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01575.html
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Revert
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/constraints.md ("jm8"): New constraint.
* config/s390/predicates.md ("const_int_8bitset_operand"): New predicate.
* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
into ...
("*setmem_long<setmem_and>"): New pattern.
("*setmem_long_31z", "*setmem_long_and_31z"): Merge
into ...
("*setmem_long_31z<setmem_and>"): New pattern.
* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
New substitution rules with the required attributes.
From-SVN: r233854
Andreas Krebbel [Tue, 1 Mar 2016 14:51:17 +0000 (14:51 +0000)]
Revert recent gensupport change.
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Revert
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gensupport.c (process_substs_on_one_elem): Split loop to
complete mark_operands_used_in_match_dup on all expressions in the
vector first.
(adjust_operands_numbers): Inline into process_substs_on_one_elem
and remove function.
From-SVN: r233853
Richard Biener [Tue, 1 Mar 2016 13:32:13 +0000 (13:32 +0000)]
re PR middle-end/70022 (ICE: in tree_to_shwi, at tree.c:7328 with out-of-bounds vector index)
2016-03-01 Richard Biener <rguenther@suse.de>
PR middle-end/70022
* fold-const.c (fold_indirect_ref_1): Fix range checking for
vector BIT_FIELD_REF extract.
* gcc.dg/pr70022.c: New testcase.
From-SVN: r233852
Richard Biener [Tue, 1 Mar 2016 12:50:41 +0000 (12:50 +0000)]
re PR target/69994 (test case gfortran.dg/reassoc_6.f fails starting with r233669)
2016-03-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/69994
* tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
From-SVN: r233851
Ilya Enkovich [Tue, 1 Mar 2016 11:17:44 +0000 (11:17 +0000)]
re PR tree-optimization/69956 (Wrong vector type @ fold-const)
gcc/
PR tree-optimization/69956
* tree-vect-stmts.c (supportable_widening_operation): Support
multi-step conversion of boolean vectors.
(supportable_narrowing_operation): Likewise.
gcc/testsuite/
PR tree-optimization/69956
* gcc.dg/pr69956.c: New test.
From-SVN: r233850
Andreas Krebbel [Tue, 1 Mar 2016 09:27:10 +0000 (09:27 +0000)]
S/390: Disallow SImode in s390_decompose_address
After Y is never used anymore with SImode operands we can finally
disallow SImode (if != Pmode) in s390_decompose_address. In fact that
was the whole point of the patch series.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_decompose_address): Don't accept SImode
anymore.
From-SVN: r233849
Andreas Krebbel [Tue, 1 Mar 2016 09:26:20 +0000 (09:26 +0000)]
S/390: Use define_subst for the setmem patterns.
While trying to get rid of the Y constraint in the setmem patterns I
noticed that for these patterns it isn't even a problem since these
always only use the constraint with a Pmode match_operand. But while
being at it I've tried to fold some of the patterns a bit.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/constraints.md ("jm8"): New constraint.
* config/s390/predicates.md ("const_int_8bitset_operand"): New predicate.
* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
into ...
("*setmem_long<setmem_and>"): New pattern.
("*setmem_long_31z", "*setmem_long_and_31z"): Merge
into ...
("*setmem_long_31z<setmem_and>"): New pattern.
* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
New substitution rules with the required attributes.
From-SVN: r233848
Andreas Krebbel [Tue, 1 Mar 2016 09:25:23 +0000 (09:25 +0000)]
S/390: Get rid of Y constraint in vector.md.
This finally removes the Y constraint from the vector patterns while
folding some of them using a code iterator.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/subst.md (DSI_VI): New mode iterator.
("addr_style_op_subst"): Use DSI_VI instead of DSI.
* config/s390/vector.md ("vec_set<mode>"): Move expander before
the insn definition.
("*vec_set<mode>"): Change predicate and add alternative to
support only either register or const_int operands as element
selector.
("*vec_set<mode>_plus"): New pattern to support reg + const_int
operands.
("vec_extract<mode>"): New expander.
("*vec_extract<mode>"): New insn definition supporting reg and
const_int element selectors.
("*vec_extract<mode>_plus"): New insn definition supporting
reg+const_int element selectors.
("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
following expander+insn definition.
("<vec_shifts_name><mode>3"): New expander.
("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
From-SVN: r233847
Andreas Krebbel [Tue, 1 Mar 2016 09:24:29 +0000 (09:24 +0000)]
S/390: Get rid of Y constraint in tabort.
This removes the Y constraint from the tabort pattern definition. In
this case it is easier without using substitutions.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md ("*tabort_1"): Change predicate to
nonmemory_operand. Add a second alternative to cover
register as well as const int operands.
("*tabort_1_plus"): New pattern definition.
From-SVN: r233846
Andreas Krebbel [Tue, 1 Mar 2016 09:23:41 +0000 (09:23 +0000)]
S/390: Get rid of Y constraint in arithmetic right shift
patterns.
The arithmetic shift patterns set also the condition code. This adds
more substitution potential. Depending on whether the actual result
or the CC output will be used 3 different variants of each of these
patterns are needed. This multiplied with the PLUS and the AND
operands from the earlier substitutions enables a lot of folding.
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md ("*ashrdi3_cc_31")
("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
Merge insn definitions into ...
("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
New pattern definition.
("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
("*ashr<mode>3_and"): Merge insn definitions into ...
("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
New pattern definition.
* config/s390/subst.md ("addr_style_op_cc_subst")
("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
substitutions patterns plus attributes.
Add ashiftrt to SUBST iterator.
From-SVN: r233845
Andreas Krebbel [Tue, 1 Mar 2016 09:22:20 +0000 (09:22 +0000)]
S/390: Get rid of Y constraint in left and logical right
shift patterns.
With this patch the substitution patterns added earlier are used for
the logical right shift and all the left shift patterns.
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md ("<shift><mode>3"): Change predicate of
op2 to nonmemory_operand.
("*<shift>di3_31", "*<shift>di3_31_and"):
Merge into single pattern definition ...
("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
pattern definition ...
("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
* config/s390/subst.md: Add ashift and lshiftrt to SUBST
iterator.
From-SVN: r233844
Andreas Krebbel [Tue, 1 Mar 2016 09:21:23 +0000 (09:21 +0000)]
S/390: Get rid of Y constraint in rotate patterns.
This patch introduces substitution patterns to add PLUS const_int, and
AND operands to patterns and uses this to rewrite the existing rotate
pattern.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/predicates.md (const_int_6bitset_operand): New
predicates.
* config/s390/s390.md: Include subst.md.
("rotl<mode>3"): New expander.
("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
...
("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
* config/s390/subst.md: New file.
From-SVN: r233843
Andreas Krebbel [Tue, 1 Mar 2016 09:20:12 +0000 (09:20 +0000)]
S/390: Use enabled attribute overrides to disable
alternatives.
So far whenever we wanted to disable an alternative we have used mode
attributes emitting constraints matching an earlier alternative
assuming that due to this the later alternative will never be chosen.
With this patch the `enabled' attribute, which so far is only set from
`cpu_facility', is overridden to 0 to disable certain alternatives.
This comes handy when defining the substitutions later and while
adding it anyway I've used it for the existing cases as well.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.md ("op_type", "atype", "length" attributes):
Remove RRR type. It doesn't really exist.
("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
attributes.
("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
`enabled' attribute.
From-SVN: r233842
Andreas Krebbel [Tue, 1 Mar 2016 09:19:14 +0000 (09:19 +0000)]
gensupport: Fix define_subst operand renumbering.
When processing substitutions the operands are renumbered. To find a
free operand number the array used_operands_numbers is used.
Currently this array is used to assign new numbers before all the
RTXes in the vector have been processed. I did run into problems with
this for insns where a match_dup occurred in a later (use ...) operand
referring to an earlier operand (e.g. s390.md "setmem_long").
The patch splits the loop doing the processing into two in order to
have all the operand numbers collected already when assigning new
numbers.
gcc/ChangeLog:
2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gensupport.c (process_substs_on_one_elem): Split loop to
complete mark_operands_used_in_match_dup on all expressions in the
vector first.
(adjust_operands_numbers): Inline into process_substs_on_one_elem
and remove function.
From-SVN: r233841
Bill Schmidt [Tue, 1 Mar 2016 04:14:15 +0000 (04:14 +0000)]
re PR target/70011 (test case gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c fails)
2016-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/70011
* gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr299925.c:
XFAIL when hardware supports efficient unaligned storage access.
From-SVN: r233840