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
Patrick Palka [Tue, 1 Mar 2016 01:24:44 +0000 (01:24 +0000)]
Fix PR c++/69961 (invalid ctor call with dependent args)
gcc/cp/ChangeLog:
PR c++/68948
PR c++/69961
* pt.c (tsubst_baselink): Reinstate the check for an invalid
constructor call.
gcc/testsuite/ChangeLog:
PR c++/69961
* g++.dg/template/pr69961a.C: New test.
* g++.dg/template/pr69961b.C: New test.
From-SVN: r233838
David Malcolm [Tue, 1 Mar 2016 01:02:49 +0000 (01:02 +0000)]
PR preprocessor/69985: fix ICE with long lines in -Wformat
gcc/testsuite/ChangeLog:
PR preprocessor/69985
* gcc.dg/cpp/pr69985.c: New test case.
libcpp/ChangeLog:
PR preprocessor/69985
(linemap_position_for_loc_and_offset): Rename param from "offset"
to "column_offset". Right-shift the column_offset by m_range_bits
of the pertinent ordinary map whenever offsetting a
source_location. For clarity, offset the column by the column
offset, rather than the other way around.
From-SVN: r233836
Eric Botcazou [Tue, 1 Mar 2016 00:22:26 +0000 (00:22 +0000)]
re PR target/69706 (internal compiler error: in extract_constrain_insn, at recog.c:2246)
PR target/69706
* config/sparc/sparc.c (NWORDS_UP): Rename to...
(CEIL_NWORDS): ...this. Use CEIL macro.
(compute_fp_layout): Adjust to above renaming.
(function_arg_union_value): Likewise.
(sparc_arg_partial_bytes): Likewise.
(sparc_function_arg_advance): Likewise.
From-SVN: r233833
GCC Administrator [Tue, 1 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233832
Jeff Law [Tue, 1 Mar 2016 00:04:48 +0000 (17:04 -0700)]
re PR tree-optimization/70005 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
PR tree-optimization/70005
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
where an object with a boolean range is compared against a value
outside [0..1].
PR tree-optimization/70005
* gcc.c-torture/execute/pr70005.c New test.
From-SVN: r233829
Jeff Law [Mon, 29 Feb 2016 22:45:41 +0000 (15:45 -0700)]
re PR tree-optimization/69999 (ICE in verify_loop_structure, at cfgloop.c:1639 (error: loop with header 3 not in loop tree) at -O3 or -Ofast)
PR tree-optimization/69999
* gimple-ssa-split-paths.c (split_paths): When duplicating a block
with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
loop cleanups.
PR tree-optimization/69999
* gcc.c-torture/compile/pr69999.c: New test.
From-SVN: r233824
Joseph Myers [Mon, 29 Feb 2016 20:48:24 +0000 (20:48 +0000)]
* sv.po: Update.
From-SVN: r233820
Martin Liska [Mon, 29 Feb 2016 15:40:20 +0000 (16:40 +0100)]
Poison ENABLE_CHECKING macro
* system.h: Poison ENABLE_CHECKING macro.
From-SVN: r233817
Richard Biener [Mon, 29 Feb 2016 15:30:50 +0000 (15:30 +0000)]
re PR target/69994 (test case gfortran.dg/reassoc_6.f fails starting with r233669)
2016-02-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/69994
* tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
(get_unary_op): Look through nop conversions.
(ops_equal_values_p): New function, look for equality diregarding
nop conversions.
(eliminate_plus_minus_pair): Use ops_equal_values_p
(repropagate_negates): Do not use get_unary_op here.
From-SVN: r233816
Martin Liska [Mon, 29 Feb 2016 15:30:08 +0000 (16:30 +0100)]
Replace ENABLE_CHECKING macro with flag_checking in GNAT
* gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
Replace ENABLE_CHECKING macro with flag_checking.
From-SVN: r233815
Martin Liska [Mon, 29 Feb 2016 15:15:27 +0000 (16:15 +0100)]
HSA: reduce dump output w/o -details flag
* hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
is presented in dump flags.
* hsa-regalloc.c (linear_scan_regalloc): Likewise.
(hsa_regalloc): Likewise.
From-SVN: r233814
Yuri Rumyantsev [Mon, 29 Feb 2016 14:32:24 +0000 (14:32 +0000)]
re PR tree-optimization/69652 ([ICE] verify_ssa fail w/ -O2 -ffast-math -ftree-vectorize)
gcc/testsuite/
2016-02-29 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/69652
* gcc.dg/torture/pr69652.c: Delete test.
* gcc.dg/vect/pr69652.c: New test.
From-SVN: r233811
Jason Merrill [Mon, 29 Feb 2016 14:25:57 +0000 (09:25 -0500)]
re PR c++/69995 ([C++14] Invalid result when evaluating constexpr function)
PR c++/69995
* constexpr.c (cxx_eval_store_expression): Unshare init.
From-SVN: r233810
Richard Biener [Mon, 29 Feb 2016 13:24:24 +0000 (13:24 +0000)]
re PR tree-optimization/69980 (Supposedly wrong SLP code emitted)
2016-02-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/69980
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
permutation of those we need to keep.
* gfortran.dg/vect/pr69980.f90: New testcase.
From-SVN: r233809
Eric Botcazou [Mon, 29 Feb 2016 10:20:31 +0000 (10:20 +0000)]
re PR target/69706 (internal compiler error: in extract_constrain_insn, at recog.c:2246)
PR target/69706
* config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
(NWORDS_UP): ...this
(init_cumulative_args): Minor tweaks.
(sparc_promote_function_mode): Likewise.
(scan_record_type): Delete.
(traverse_record_type): New function template.
(classify_data_t): New structure type.
(classify_registers): New inline function.
(function_arg_slotno): In 64-bit mode, bail out early if FP slots are
exhausted. Instantiate traverse_record_type on classify_registers and
deal with the case of a structure passed in slot #15 with no FP field
in the first word.
(assign_data_t): New structure type.
(compute_int_layout): New static function.
(compute_fp_layout): Likewise.
(count_registers): New inline function.
(assign_int_registers): New static function.
(assign_fp_registers): Likewise.
(assign_registers): New inline function.
(function_arg_record_value_1): Delete.
(function_arg_record_value_2): Likewise.
(function_arg_record_value_3): Likewise.
(function_arg_record_value): Adjust to above changes. Instantiate
traverse_record_type on count_registers to first count the number of
registers to be used and then on assign_registers to assign them.
(function_arg_union_value): Adjust to above renaming.
(sparc_function_arg_1); Minor tweaks. Remove commented out code.
(sparc_arg_partial_bytes): Adjust to above renaming. Deal with the
case of a structure passed in slot #15
(sparc_function_arg_advance): Likewise.
(function_arg_padding): Minor tweak.
From-SVN: r233808
Eric Botcazou [Mon, 29 Feb 2016 09:30:09 +0000 (09:30 +0000)]
decl.c (gnat_to_gnu_entity): Retrofit handling of unconstrained array types as designated types into common...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
handling of unconstrained array types as designated types into common
processing. Also handle array types as incomplete designated types.
From-SVN: r233807
Eric Botcazou [Mon, 29 Feb 2016 09:21:12 +0000 (09:21 +0000)]
decl.c (gnat_to_gnu_entity): In ASIS mode, fully lay out the minimal record type.
* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
ASIS mode, fully lay out the minimal record type.
From-SVN: r233806
Eric Botcazou [Mon, 29 Feb 2016 09:16:57 +0000 (09:16 +0000)]
trans.c (finalize_nrv_r): Remove obsolete code.
* gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
(build_return_expr): Likewise.
(Call_to_gnu): If this is a function call and there is no target,
create a temporary for the return value for all aggregate types,
but never create it for a return statement. Push a binding level
around the call in more cases. Remove obsolete code.
From-SVN: r233805
Eric Botcazou [Mon, 29 Feb 2016 09:02:46 +0000 (09:02 +0000)]
ada-tree.h (DECL_RETURN_VALUE_P): New macro.
* gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
* gcc-interface/gigi.h (gigi): Remove useless attribute.
(gnat_gimplify_expr): Likewise.
(gnat_to_gnu_external): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
code dealing with the expression of external constants into...
Invoke gnat_to_gnu_external instead.
<E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
when not for a definition. Deal with COMPOUND_EXPR and variables with
DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
'reference to a function call in a renaming. Remove obsolete test and
adjust associated comment.
* gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
temporaries created to hold the return value, if any.
(gnat_to_gnu_external): ...this. New function.
* gcc-interface/utils.c (create_var_decl): Detect a constant created
to hold 'reference to function call.
* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.
From-SVN: r233804
Richard Biener [Mon, 29 Feb 2016 08:45:17 +0000 (08:45 +0000)]
re PR tree-optimization/69720 (wrong code at -O3 on x86_64-linux-gnu)
2016-02-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/69720
* tree-vect-loop.c (get_initial_def_for_reduction): Avoid
the adjustment_def path for possibly vectorized defs.
(vect_create_epilog_for_reduction): Handle vectorized initial
defs properly.
* gcc.dg/vect/vect-outer-pr69720.c: New testcase.
From-SVN: r233803
GCC Administrator [Mon, 29 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233801
Thomas Koenig [Sun, 28 Feb 2016 22:27:55 +0000 (22:27 +0000)]
re PR fortran/68147 (Potential incorrect code generation for string self-assignment)
2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/68147
PR fortran/47674
* frontend-passes.c (realloc_string_callback): Don't set
walk_subtrees.
2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/68147
PR fortran/47674
* gfortran.dg/realloc_on_assign_26.f90: New test case.
From-SVN: r233797
Thomas Koenig [Sun, 28 Feb 2016 22:24:27 +0000 (22:24 +0000)]
dump-parse-tree.c (show_code_node): Print association list of a block if present.
2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
* dump-parse-tree.c (show_code_node): Print association
list of a block if present. Handle EXEC_END_BLOCK.
From-SVN: r233796
Harald Anlauf [Sun, 28 Feb 2016 19:07:42 +0000 (19:07 +0000)]
re PR fortran/56007 (Remarkably bad error message with DO array=1,2)
2016-02-28 Harald Anlauf <anlauf@gmx.de>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/56007
* match.c (gfc_match_iterator): Add diagnostic for array variable
as do loop index.
* gfortran.dg/coarray_8.f90: Adjust error message.
* gfortran.dg/pr56007.f90: New test.
* gfortran.dg/pr56007.f: New test.
Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r233795
H.J. Lu [Sun, 28 Feb 2016 17:41:45 +0000 (17:41 +0000)]
Add a test for PR tree-optimization/69989
PR tree-optimization/69989
* gcc.dg/torture/pr69989.c: New test.
From-SVN: r233792
Eric Botcazou [Sun, 28 Feb 2016 14:36:41 +0000 (14:36 +0000)]
* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
From-SVN: r233791
Harald Anlauf [Sun, 28 Feb 2016 13:39:39 +0000 (13:39 +0000)]
re PR fortran/60126 (Internal compiler error with code using pointer reshaping (gfortran 4.8.2))
2016-02-28 Harald Anlauf <anlauf@gmx.de>
PR fortran/60126
* gfortran.dg/pr60126.f90: New test.
From-SVN: r233790
Jeff Law [Sun, 28 Feb 2016 06:34:20 +0000 (23:34 -0700)]
Revert
2016-02-26 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR tree-optimization/69740
* cfghooks.c (remove_edge): Request loop fixups if we delete
an edge that might turn an irreducible loop into a natural
loop.
Revert
2016-02-26 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.
From-SVN: r233787
GCC Administrator [Sun, 28 Feb 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233786