Re: [PATCH] RISC-V: Fix ICE on riscv_gpr_save_operation_p [PR95683]

2020-06-15 Thread Kito Cheng via Gcc-patches
Committed, thanks :) On Tue, Jun 16, 2020 at 6:07 AM Jim Wilson wrote: > > On Mon, Jun 15, 2020 at 7:41 AM Kito Cheng wrote: > > gcc/ChangeLog: > > > > PR target/95683 > > * config/riscv/riscv.c (riscv_gpr_save_operation_p): Remove > > assertion and turn it into a early

Re: [PATCH] Optimize V*QImode shift by constant using same operation on V*HImode [PR95524]

2020-06-15 Thread Hongtao Liu via Gcc-patches
On Mon, Jun 15, 2020 at 9:48 PM Jakub Jelinek wrote: > > On Mon, Jun 15, 2020 at 09:29:29PM +0800, Hongtao Liu via Gcc-patches wrote: > > Basically i "copy" this optimization from clang i386 backend, Refer > > to pr95524 for details. > > Bootstrap is ok, regression test on i386/x86-64 backend

Re: [PATCH] c++: Fix ICE in check_local_shadow with enum [PR95560]

2020-06-15 Thread Marek Polacek via Gcc-patches
On Thu, Jun 11, 2020 at 03:32:14PM -0400, Jason Merrill wrote: > On 6/10/20 5:11 PM, Marek Polacek wrote: > > Another indication that perhaps this warning is emitted too early. We > > crash because same_type_p gets a null type: we have an enumerator > > without a fixed underlying type and

Re: [PATCH] Port libgccjit to Windows.

2020-06-15 Thread Nicolas Bértolo via Gcc-patches
> Thanks, pushed to git master. Thanks, Nicolas.

Re: [PATCH] Port libgccjit to Windows.

2020-06-15 Thread JonY via Gcc-patches
On 6/12/20 12:19 AM, JonY wrote: > On 6/11/20 10:02 PM, Nicolas Bértolo wrote: >> Hi, >> >> On 6/7/20 11:12 PM, JonY wrote: >>> Ideally, libtool is used so we get libgccjit-0.dll, unfortunately it is >>> not. So the only way to ABI version the dll would be to use Unix style >>> soname to mark when

[PATCH 5/6 ver 2] rs6000, Add vector splat builtin support

2020-06-15 Thread Carl Love via Gcc-patches
v2 changes: change log fixes gcc/config/rs6000/altivec changed name of define_insn and define_expand for vxxspltiw... to xxspltiw... Fixed spaces in gen_xxsplti32dx_v4sf_inst (operands[0], GEN_INT gcc/rs6000-builtin.def propagated name changes above where they are used.

[PATCH 4/6 ver 2] rs6000, Add vector shift double builtin support

2020-06-15 Thread Carl Love via Gcc-patches
v2 fixes: change logs redone gcc/config/rs6000/rs6000-call.c - added spaces before parenthesis around args. - GCC maintainers: The following patch adds support for the vector shift double builtins for RFC2609. The patch has

[PATCH 6/6 ver 2] rs6000 Add vector blend, permute builtin support

2020-06-15 Thread Carl Love via Gcc-patches
v2 changes: Updated ChangeLog per comments. define_expand "xxpermx", Updated implementation to use XOR (icode == CODE_FOR_xxpermx, fix comments and check for 3-bit immediate field. gcc/doc/extend.texi: comment "Maybe it should say it is related to vsel/xxsel,

[PATCH 1/6 ver 2] rs6000, Update support for vec_extract

2020-06-15 Thread Carl Love via Gcc-patches
v2 changes config/rs6000/altivec.md log entry for move from changed as suggested. config/rs6000/vsx.md log entro for moved to here changed as suggested. define_mode_iterator VI2 also moved, included in both change log entries GCC maintainers:

[PATCH 0/6] ] Permute Class Operations

2020-06-15 Thread Carl Love via Gcc-patches
Version 2. The patches in this series have been updated per the comments from Segher. I have put at the top of each patch a short summary of the version 2 changes. Hopefully the summaries will make the re-review easier and faster. Most of the changes were ChangeLog fixes with a few

[PATCH 3/6 ver 2] rs6000, Add vector replace builtin support

2020-06-15 Thread Carl Love via Gcc-patches
v2 fixes: change log entries config/rs6000/vsx.md, config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-call.c. gcc/config/rs6000/rs6000-call.c: fixed if check for 3rd arg between 0 and 3 fixed if check for 3rd arg between 0 and 12 gcc/config/rs6000/vsx.md:

[PATCH 2/6 ver 2] rs6000 Add vector insert builtin support

2020-06-15 Thread Carl Love via Gcc-patches
v2 changes Fix change log entry for config/rs6000/altivec.h Fix change log entry for config/rs6000/rs6000-builtin.def Fix change log entry for config/rs6000/rs6000-call.c vsx.md: Fixed if (BYTES_BIG_ENDIAN) else statements. Porting error from pu branch.

Re: [PATCH 3/3] rs6000: Add testsuite test cases for MMA built-ins.

2020-06-15 Thread will schmidt via Gcc-patches
On Mon, 2020-06-15 at 14:59 -0500, Peter Bergner via Gcc-patches wrote: > This patch adds the testsuite test cases for all of the MMA built- > ins. > > This patch plus patch1 and patch2 passed bootstrap and regtesting > with no > regressions on both powerpc64le-linux and powerpc64-linux. Ok for

Re: [PATCH 2/3] rs6000: Add MMA built-in function definitions

2020-06-15 Thread will schmidt via Gcc-patches
On Mon, 2020-06-15 at 14:58 -0500, Peter Bergner via Gcc-patches wrote: > This patches adds the actual MMA built-ins. The MMA accumulators are > INOUT > operands for most MMA instructions, but they are also very expensive > to > move around. For this reason, we have implemented a built-in API >

Re: [PATCH 1/3] rs6000: Add base support and types for defining MMA built-ins.

2020-06-15 Thread will schmidt via Gcc-patches
On Mon, 2020-06-15 at 14:56 -0500, Peter Bergner via Gcc-patches wrote: > This patch adds the new -mmma option as well as the initial MMA > support, > which includes the target specific __vector_pair and __vector_quad > types, > the POImode and PXImode partial integer modes they are mapped to, and

Re: [PATCH] RISC-V: Fix ICE on riscv_gpr_save_operation_p [PR95683]

2020-06-15 Thread Jim Wilson
On Mon, Jun 15, 2020 at 7:41 AM Kito Cheng wrote: > gcc/ChangeLog: > > PR target/95683 > * config/riscv/riscv.c (riscv_gpr_save_operation_p): Remove > assertion and turn it into a early exit check. > > gcc/testsuite/ChangeLog > > PR target/95683 > *

PR fortran/95687 - ICE in get_unique_hashed_string, at fortran/class.c:508

2020-06-15 Thread Harald Anlauf
And yet ABRBG (another one by Gerhard) provoking a buffer overflow. Sigh. At least this time we caught it on master. Regtested on x86_64-pc-linux-gnu. OK for master, and backports where appropriate? Thanks, Harald PR fortran/95687 - ICE in get_unique_hashed_string, at fortran/class.c:508

Aw: [PATCH][8/9/10/11 Regression] PR fortran/95689 - ICE in check_sym_interfaces, at fortran/interface.c:2015

2020-06-15 Thread Harald Anlauf
Copy error on the git commit message: > gcc/fortran/ > PR fortran/95689 > * class.c (get_unique_type_string): Enlarge temporary buffer, and > add check on length on mangled name to prevent overflow. This should have been: gcc/fortran/ PR fortran/95689 *

libgo patch committed: Update x/sys/cpu to support all GOARCH values

2020-06-15 Thread Ian Lance Taylor via Gcc-patches
This libgo patch by Tobias Klauser updates the x/sys/cpu package to add all GOARCH values supported by gccgo. This brings in https://golang.org/cl/237897 from the external x/sys/cpu repo. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian

Re: [PATCH] wwwdocs: Document devel/omp/gcc-10 branch

2020-06-15 Thread Kwok Cheung Yeung
I have now moved the entry for devel/omp/gcc-9 into the inactive branches section and reworded it slightly. Okay to push? Thanks Kwok On 12/06/2020 9:35 am, Thomas Schwinge wrote: or by topic (in which case it should probably go after openacc-gcc-9-branch)? By topic makes most sense to

Re: [PATCH v2] c++: Don't allow designated initializers with non-aggregates [PR95369]

2020-06-15 Thread Marek Polacek via Gcc-patches
On Thu, Jun 11, 2020 at 06:15:26PM -0400, Jason Merrill via Gcc-patches wrote: > On 6/11/20 5:28 PM, Marek Polacek wrote: > > On Thu, Jun 11, 2020 at 03:51:29PM -0400, Jason Merrill wrote: > > > On 6/9/20 2:17 PM, Marek Polacek wrote: > > > > Another part of 95369 is that we accept designated

[PATCH][8/9/10/11 Regression] PR fortran/95689 - ICE in check_sym_interfaces, at fortran/interface.c:2015

2020-06-15 Thread Harald Anlauf
YABRBG (Yet another bug report by Gerhard). Sigh. Another buffer overflow. We extend the buffer and now check for overflow. Regtested on x86_64-pc-linux-gnu. OK for master? Backports where possible? Thanks, Harald PR fortran/95689 - ICE in check_sym_interfaces, at

[PATCH] nvptx: Add support for subword compare-and-swap

2020-06-15 Thread Kwok Cheung Yeung
Hello This patch adds support on nvptx for __sync_val_compare_and_swap operations on 1- and 2-byte values. The implementation is a straight copy of the version for AMD GCN. I have added a new libgomp test that exercises the new operation. I have also verified that the new code does not

[PATCH 2/3] rs6000: Add MMA built-in function definitions

2020-06-15 Thread Peter Bergner via Gcc-patches
This patches adds the actual MMA built-ins. The MMA accumulators are INOUT operands for most MMA instructions, but they are also very expensive to move around. For this reason, we have implemented a built-in API where the accumulators are passed using pass-by-reference/pointers, so the user

[PATCH 3/3] rs6000: Add testsuite test cases for MMA built-ins.

2020-06-15 Thread Peter Bergner via Gcc-patches
This patch adds the testsuite test cases for all of the MMA built-ins. This patch plus patch1 and patch2 passed bootstrap and regtesting with no regressions on both powerpc64le-linux and powerpc64-linux. Ok for trunk? Peter 2020-06-15 Peter Bergner gcc/testsuite/ *

[PATCH 1/3] rs6000: Add base support and types for defining MMA built-ins.

2020-06-15 Thread Peter Bergner via Gcc-patches
This patch adds the new -mmma option as well as the initial MMA support, which includes the target specific __vector_pair and __vector_quad types, the POImode and PXImode partial integer modes they are mapped to, and their associated move patterns. Support for the restrictions on the registers

[PATCH 0/3] rs6000: Add support for Matrix-Multiply Assist (MMA) built-in functions.

2020-06-15 Thread Peter Bergner via Gcc-patches
POWER ISA 3.1 added new Matrix-Multiply Assist (MMA) instructions. The following patch series adds support for generating these instructions through built-in functions which are enabled with the -mmma option. Patch1 adds the base support required for defining the built-ins. Patch2 adds the

[PATCH] c++: Fix bogus "does not declare anything" warning (PR 66159)

2020-06-15 Thread Jonathan Wakely via Gcc-patches
Ping ... G++ gives a bogus warning for 'struct A; using B = struct ::A;' complaining that the elaborated-type-specifier doesn't declare anything. That's true, but it's not trying to declare struct ::A, just refer to it unambiguously. Do not emit the warning unless we're actually parsing a

Re: [PATCH 2/2] c++: Clean up previous change [PR41437]

2020-06-15 Thread Jason Merrill via Gcc-patches
On 6/15/20 2:59 PM, Patrick Palka wrote: On Mon, 15 Jun 2020, Jason Merrill wrote: On 6/5/20 5:16 PM, Patrick Palka wrote: The previous patch mostly avoided making any changes that had no functional impact, such as adjusting now-outdated comments and performing renamings. Such changes have

libgo patch committed: Use getrandom_linux_generic.go on riscv

2020-06-15 Thread Ian Lance Taylor via Gcc-patches
This patch by Tobias Klauser adds (32-bit) riscv support for the getrandom function in internal/syscall/unix. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian 274fa3704bdb79f75088e245772150ab1e83b460 diff --git a/gcc/go/gofrontend/MERGE

Re: [PATCH 2/2] c++: Clean up previous change [PR41437]

2020-06-15 Thread Patrick Palka via Gcc-patches
On Mon, 15 Jun 2020, Jason Merrill wrote: > On 6/5/20 5:16 PM, Patrick Palka wrote: > > The previous patch mostly avoided making any changes that had no > > functional impact, such as adjusting now-outdated comments and > > performing renamings. Such changes have been consolidated to this > >

Re: [PATCH, RS6000 PR target/94954] Fix wrong codegen for vec_pack_to_short_fp32() builtin

2020-06-15 Thread will schmidt via Gcc-patches
On Fri, 2020-06-12 at 18:31 -0500, Segher Boessenkool wrote: > Hi! > > On Thu, Jun 11, 2020 at 11:22:33PM -0500, will schmidt wrote: > > Fix codegen implementation for the builtin > > vec_pack_to_short_fp32. > > +;; Convert two vector F32 to packed vector f16. > > +(define_expand

Re: [PATCH] avoid false positives due to compute_objsize (PR 95353)

2020-06-15 Thread Martin Sebor via Gcc-patches
On 6/14/20 12:37 PM, Jeff Law wrote: On Sat, 2020-06-13 at 17:49 -0600, Martin Sebor wrote: On 6/13/20 3:50 PM, Sandra Loosemore wrote: On 6/2/20 6:12 PM, Martin Sebor via Gcc-patches wrote: The compute_objsize() function started out as a thin wrapper around compute_builtin_object_size(), but

Re: [PATCH 2/2] c++: Clean up previous change [PR41437]

2020-06-15 Thread Jason Merrill via Gcc-patches
On 6/5/20 5:16 PM, Patrick Palka wrote: The previous patch mostly avoided making any changes that had no functional impact, such as adjusting now-outdated comments and performing renamings. Such changes have been consolidated to this followup patch for easier review. The main change here is

Re: [PATCH 1/2] c++: Improve access checking inside templates [PR41437]

2020-06-15 Thread Jason Merrill via Gcc-patches
On 6/15/20 9:56 AM, Patrick Palka wrote: On Thu, 11 Jun 2020, Jason Merrill wrote: On 6/5/20 5:16 PM, Patrick Palka wrote: This patch generalizes our existing functionality for deferring access checking of typedefs when parsing a function or class template to now defer all kinds of access

Re: [PATCH] recog: Use parameter packs for operator()

2020-06-15 Thread Jonathan Wakely via Gcc-patches
+ template + rtx_insn *operator() (Ts... args...) const Why is this declared as a variadic template **and** a varargs function? I think the second ellipsis is wrong, it should be just: + template + rtx_insn *operator() (Ts... args) const And this seems like a more direct way to say "a

Re: [pushed][PATCH] identify lfs prefixed case PR95347

2020-06-15 Thread Segher Boessenkool
On Mon, Jun 15, 2020 at 09:25:40AM -0500, Aaron Sawdey wrote: > Now that this has been in trunk for a bit with no issues, ok to back port to > 10? Yes please. Thanks! Segher > > The same problem also arises for plfs where prefixed_load_p() > > doesn't recognize it so we get just lfs in the

[patch] fix PR lto/95604, -flto and -fcf-protection

2020-06-15 Thread Matthias Klose
PR lto/95604 was seen when checking for binaries without having CET support in a distro archive, for binaries built with LTO optimization. The hardening flag -fcf-protection=full is passed in CFLAGS, and maybe should be passed in LDFLAGS as well. However to make it work when not passed to the

[PATCH] RISC-V: Fix ICE on riscv_gpr_save_operation_p [PR95683]

2020-06-15 Thread Kito Cheng
- riscv_gpr_save_operation_p might try to match parallel on other patterns like inline asm pattern, and then it might trigger ther assertion checking there, so we could trun it into a early exit check. gcc/ChangeLog: PR target/95683 * config/riscv/riscv.c

Re: [pushed][PATCH] identify lfs prefixed case PR95347

2020-06-15 Thread Aaron Sawdey via Gcc-patches
Now that this has been in trunk for a bit with no issues, ok to back port to 10? Aaron Sawdey, Ph.D. saw...@linux.ibm.com IBM Linux on POWER Toolchain > On Jun 3, 2020, at 4:10 PM, Aaron Sawdey wrote: > > This passed regstrap and was approved offline by Segher, posting > the final form

Re: [PATCH 1/2] c++: Improve access checking inside templates [PR41437]

2020-06-15 Thread Patrick Palka via Gcc-patches
On Mon, 15 Jun 2020, Patrick Palka wrote: > On Thu, 11 Jun 2020, Jason Merrill wrote: > > > On 6/5/20 5:16 PM, Patrick Palka wrote: > > > This patch generalizes our existing functionality for deferring access > > > checking of typedefs when parsing a function or class template to now > > > defer

Re: [PATCH 1/2] c++: Improve access checking inside templates [PR41437]

2020-06-15 Thread Patrick Palka via Gcc-patches
On Thu, 11 Jun 2020, Jason Merrill wrote: > On 6/5/20 5:16 PM, Patrick Palka wrote: > > This patch generalizes our existing functionality for deferring access > > checking of typedefs when parsing a function or class template to now > > defer all kinds of access checks until template

Re: [PATCH] coroutines: Copy attributes to the outlined functions [PR95518]

2020-06-15 Thread Nathan Sidwell
On 6/11/20 3:53 PM, Iain Sandoe wrote: Hi We had omitted the copying of function attributes (including the 'used' status). Mark the outlined functions as artificial, since they are; some diagnostic processing tests this. Do we do the right thing for say attribute((section("bob"))? what if

Re: [PATCH] coroutines: Update handling and failure for g-r-o-o-a-f [PR95505]

2020-06-15 Thread Nathan Sidwell
On 6/11/20 3:50 PM, Iain Sandoe wrote: Hi, The reason that the code fails is that (by a somewhat complex implied route), when a user adds a 'get-return-on-alloc-fail’ to their coroutine promise, this implies the use of some content from ; we should not ICE because the user forgot that tho.

Re: [PATCH] Optimize V*QImode shift by constant using same operation on V*HImode [PR95524]

2020-06-15 Thread Jakub Jelinek via Gcc-patches
On Mon, Jun 15, 2020 at 09:29:29PM +0800, Hongtao Liu via Gcc-patches wrote: > Basically i "copy" this optimization from clang i386 backend, Refer > to pr95524 for details. > Bootstrap is ok, regression test on i386/x86-64 backend is ok. > > gcc/ChangeLog: > PR target/95524 >

Re: [PATCH] libstdc++: Fix char_traits move with overlap

2020-06-15 Thread Jonathan Wakely via Gcc-patches
On 15/06/20 14:42 +0100, Jonathan Wakely wrote: On 14/06/20 22:40 +, Paul Keir wrote: Hi, Upon constexpr evaluation, char_traits move uses copy_backward, but its last argument should be to the range end rather than its beginning. I include the fix and a test. This is my first patch, so

Re: [PATCH] libstdc++: Fix char_traits move with overlap

2020-06-15 Thread Jonathan Wakely via Gcc-patches
On 14/06/20 22:40 +, Paul Keir wrote: Hi, Upon constexpr evaluation, char_traits move uses copy_backward, but its last argument should be to the range end rather than its beginning. I include the fix and a test. This is my first patch, so if it looks OK, perhaps someone could commit for

[PATCH] Optimize V*QImode shift by constant using same operation on V*HImode [PR95524]

2020-06-15 Thread Hongtao Liu via Gcc-patches
Hi: Basically i "copy" this optimization from clang i386 backend, Refer to pr95524 for details. Bootstrap is ok, regression test on i386/x86-64 backend is ok. gcc/ChangeLog: PR target/95524 * gcc/config/i386/i386-expand.c (ix86_expand_vec_shift_qihi_constant): New

Re: [PATCH] vectorizer: add _bb_vec_info::const_iterator

2020-06-15 Thread Martin Liška
On 6/12/20 5:49 PM, Richard Sandiford wrote: Martin Liška writes: On 6/12/20 3:22 PM, Richard Sandiford wrote: Martin Liška writes: diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 636ad59c001..eac372e6abc 100644 --- a/gcc/tree-vect-patterns.c +++

Re: [committed] amdgcn: use unsigned extend for lshiftrt

2020-06-15 Thread Andrew Stubbs
On 15/05/2020 11:37, Andrew Stubbs wrote: This patch fixes a bug in which 8 and 16-bit vector shifts used the wrong kind of extend, thus causing wrong results.  It was simply a thinko in the insn code, so easily fixed. This is now back-ported to releases/gcc-10. Andrew

Re: [PATCH PR94274] fold phi whose incoming args are defined from binary

2020-06-15 Thread Richard Biener
On Thu, 11 Jun 2020, Zhanghaijian (A) wrote: > Hi, > > This is a experimental fix for pr94274. For if/else structure, when the > expressions is binary operation and have a common subexpression, and the > opcode is the same, we can fold the merging phi node in > tree_ssa_phiopt_worker

Re: [PATCH] ipa: special pass-through op for Fortran strides

2020-06-15 Thread Jan Hubicka
> On Fri, Jun 12, 2020 at 11:28 PM Martin Jambor wrote: > > > > Hi, > > > > when Fortran functions pass array descriptors they receive as a > > parameter to another function, they actually rebuild it. Thanks to > > work done mainly by Feng, IPA-CP can already handle the cases when > > they pass

RE: [PATCH] vect: Use LOOP_VINFO_DATAREFS and LOOP_VINFO_DDRS consistently

2020-06-15 Thread Yangfei (Felix)
Hi, > -Original Message- > From: Richard Biener [mailto:richard.guent...@gmail.com] > Sent: Monday, June 15, 2020 5:12 PM > To: Yangfei (Felix) > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] vect: Use LOOP_VINFO_DATAREFS and > LOOP_VINFO_DDRS consistently > > > > > Thanks for

Re: [stage1][PATCH] Lower VEC_COND_EXPR into internal functions.

2020-06-15 Thread Martin Liška
On 6/15/20 1:59 PM, Richard Biener wrote: On Mon, Jun 15, 2020 at 1:19 PM Martin Liška wrote: On 6/15/20 9:14 AM, Richard Biener wrote: On Fri, Jun 12, 2020 at 3:24 PM Martin Liška wrote: On 6/12/20 11:43 AM, Richard Biener wrote: So ... how far are you with enforcing a split

Re: [stage1][PATCH] Lower VEC_COND_EXPR into internal functions.

2020-06-15 Thread Richard Biener via Gcc-patches
On Mon, Jun 15, 2020 at 1:19 PM Martin Liška wrote: > > On 6/15/20 9:14 AM, Richard Biener wrote: > > On Fri, Jun 12, 2020 at 3:24 PM Martin Liška wrote: > >> > >> On 6/12/20 11:43 AM, Richard Biener wrote: > >>> So ... how far are you with enforcing a split VEC_COND_EXPR? > >>> Thus can we

Re: [PATCH PR95638]Record/restore postorder, rather than update it

2020-06-15 Thread Richard Biener via Gcc-patches
On Mon, Jun 15, 2020 at 12:04 PM bin.cheng via Gcc-patches wrote: > > Hi, > This simple patch fixes wrong code issue as reported. I tried to update > postorder information after > the second call to graphds_scc with alias dependence edges skipped. This > wasn't working, and I > realize it's

Re: [RFC][vect] BB SLP reduction prototype

2020-06-15 Thread Richard Biener
On Tue, 9 Jun 2020, Andre Vieira (lists) wrote: > Hi, > > So this is my rework of the code you sent me, I have not included the > 'permute' code you included as I can't figure out what it is meant to be > doing. Maybe something to look at later. > > I have also included three tests that show it

[PATCH PING] tree-ssa-threadbackward.c (profitable_jump_thread_path): Do not allow __builtin_constant_p.

2020-06-15 Thread Ilya Leoshkevich via Gcc-patches
On Thu, 2020-06-04 at 02:37 +0200, Ilya Leoshkevich wrote: > Bootstrapped and regtested on x86_64-redhat-linux, ppc64le-redhat- > linux > and s390x-redhat-linux. > > > Linux Kernel (specifically, drivers/leds/trigger/ledtrig-cpu.c) build > with GCC 10 fails on s390 with "impossible constraint".

Re: [stage1][PATCH] Lower VEC_COND_EXPR into internal functions.

2020-06-15 Thread Martin Liška
On 6/15/20 9:14 AM, Richard Biener wrote: On Fri, Jun 12, 2020 at 3:24 PM Martin Liška wrote: On 6/12/20 11:43 AM, Richard Biener wrote: So ... how far are you with enforcing a split VEC_COND_EXPR? Thus can we avoid the above completely (even as intermediate state)? Apparently, I'm quite

[COMMITTED] gcc: xtensa: make TARGET_HAVE_TLS definition static

2020-06-15 Thread Max Filippov via Gcc-patches
Remove TARGET_THREADPTR reference from TARGET_HAVE_TLS to avoid static data initialization dependency on xtensa core configuration. Tested with xtensa-linux-uclibc, no new regression failures. Committed to master. 2020-06-15 Max Filippov gcc/ * config/xtensa/xtensa.c

[PATCH 1/2] gcc: xtensa: make register elimination data static

2020-06-15 Thread Max Filippov via Gcc-patches
Remove ABI reference from the ELIMINABLE_REGS to avoid static data initialization dependency on xtensa core configuration. 2020-06-15 Max Filippov gcc/ * config/xtensa/xtensa.c (xtensa_can_eliminate): New function. (TARGET_CAN_ELIMINATE): New macro. *

[PATCH 2/2] gcc: xtensa: add -mabi option for call0/windowed ABI

2020-06-15 Thread Max Filippov via Gcc-patches
2020-06-15 Max Filippov gcc/ * config/xtensa/elf.h (ASM_SPEC, LINK_SPEC): Pass ABI switch to assembler/linker. * config/xtensa/linux.h (ASM_SPEC, LINK_SPEC): Ditto. * config/xtensa/uclinux.h (ASM_SPEC, LINK_SPEC): Ditto. * config/xtensa/xtensa.c

[COMMITTED 0/2] gcc: xtensa: implement -mabi option

2020-06-15 Thread Max Filippov via Gcc-patches
Hello, this series implements -mabi option support for xtensa target allowing to choose between windowed and call0 code generation. Tested with xtensa-linux-uclibc, both windowed and call0, no new regression failures. Committed to master. Max Filippov (2): gcc: xtensa: make register

[PATCH PR95638]Record/restore postorder, rather than update it

2020-06-15 Thread bin.cheng via Gcc-patches
Hi, This simple patch fixes wrong code issue as reported. I tried to update postorder information after the second call to graphds_scc with alias dependence edges skipped. This wasn't working, and I realize it's hard to do. This patch simply records postorder information before the call and

Re: [wwwdocs] Make plain text requirement more descriptive

2020-06-15 Thread Jakub Jelinek via Gcc-patches
On Mon, Jun 15, 2020 at 10:17:50AM +0100, Jonathan Wakely via Gcc-patches wrote: > I noticed a missing space between a comma and ellipsis, but expanding > the ellipsis seems more helpful anyway. > > OK for wwwdocs? Ok. > commit d06fcccabee91cfd17d01b379ea5400fd787b6f3 > Author: Jonathan Wakely

[wwwdocs] [committed] Use past tense for descriptions of historical mailing lists

2020-06-15 Thread Jonathan Wakely via Gcc-patches
Committed as obvious. commit 94e51dd51b4cc699592cc40bf78687920a9a2f4a Author: Jonathan Wakely Date: Mon Jun 15 10:20:58 2020 +0100 Use past tense for descriptions of historical mailing lists diff --git a/htdocs/lists.html b/htdocs/lists.html index ea37aedc..df45edd7 100644 ---

[wwwdocs] Make plain text requirement more descriptive

2020-06-15 Thread Jonathan Wakely via Gcc-patches
I noticed a missing space between a comma and ellipsis, but expanding the ellipsis seems more helpful anyway. OK for wwwdocs? commit d06fcccabee91cfd17d01b379ea5400fd787b6f3 Author: Jonathan Wakely Date: Mon Jun 15 10:17:03 2020 +0100 Make plain text requirement more descriptive diff

Re: [patch] Fix ICE in verify_sra_access_forest

2020-06-15 Thread Richard Biener via Gcc-patches
On Mon, Jun 15, 2020 at 10:23 AM Eric Botcazou wrote: > > > The patch probably fixes only part of the issues with SRA and rev-storage. > > Well, this issue (coming from a bypass in SRA) is the first issue uncovered > with rev-storage in SRA for years. > > > I see in build_ref_for_model: > > > >

Re: [PATCH] libgomp: added partial omp-tools.h for OMPD.

2020-06-15 Thread Jakub Jelinek via Gcc-patches
On Sat, Jun 13, 2020 at 10:29:27AM -0400, y2s1982 via Gcc-patches wrote: > This patch adds a partial omp-tools.h from OpenMP which describes function > prototypes and data types used for OMPD. > > All feedback has been addressed. > > 2020-06-13 Tony Sim > > libgomp/ChangeLog: > > *

Re: [wwwdocs] Add note about keeping replies on the mailing list

2020-06-15 Thread Jonathan Wakely via Gcc-patches
On 15/06/20 09:39 +0100, Jonathan Wakely wrote: I'd like to add this to our mailing list policies. I can't count the number of times I've tried to help somebody on the gcc-help list and they assume that means I want to be their personal support person in a private email conversation. This is

Re: [PATCH] vect: Use LOOP_VINFO_DATAREFS and LOOP_VINFO_DDRS consistently

2020-06-15 Thread Richard Biener via Gcc-patches
On Mon, Jun 15, 2020 at 9:34 AM Yangfei (Felix) wrote: > > Hi Richard, > > > -Original Message- > > From: Richard Biener [mailto:richard.guent...@gmail.com] > > Sent: Monday, June 15, 2020 3:25 PM > > To: Yangfei (Felix) > > Cc: gcc-patches@gcc.gnu.org > > Subject: Re: [PATCH] vect: Use

[PATCH][GCC] arm: Fix MVE scalar shift intrinsics code-gen.

2020-06-15 Thread Srinath Parvathaneni
Hello, This patch modifies the MVE scalar shift RTL patterns. The current patterns have wrong constraints and predicates due to which the values returned from MVE scalar shift instructions are overwritten in the code-gen. example: $ cat x.c #include "arm_mve.h" int32_t foo(int64_t acc, int

[wwwdocs] Add note about keeping replies on the mailing list

2020-06-15 Thread Jonathan Wakely via Gcc-patches
I'd like to add this to our mailing list policies. I can't count the number of times I've tried to help somebody on the gcc-help list and they assume that means I want to be their personal support person in a private email conversation. This is unlikely to change anything, because nobody will

Re: [patch] Fix ICE in verify_sra_access_forest

2020-06-15 Thread Eric Botcazou
> The patch probably fixes only part of the issues with SRA and rev-storage. Well, this issue (coming from a bypass in SRA) is the first issue uncovered with rev-storage in SRA for years. > I see in build_ref_for_model: > > /* The flag will be set on the record type. */ >

[Ada] Put_Image improvements for strings

2020-06-15 Thread Pierre-Marie de Rodat
Use string literal syntax for private types whose full type is string, as was already done for visible string types. Double the double-quote characters in the literal. Disable Put_Image for unchecked unions, so they'll just print the type name. Tested on x86_64-pc-linux-gnu, committed on trunk

[Ada] Rewrite Sem_Eval.Predicates_Match predicate

2020-06-15 Thread Pierre-Marie de Rodat
This reimplements the predicate more efficiently and more strictly. It is used to implement the part of the 4.9.1 (2/3) subclause that pertains to predicates: "A subtype statically matches another subtype of the same type if they have statically matching constraints, all predicate specifications

[Ada] Clean up error handling of 'Image

2020-06-15 Thread Pierre-Marie de Rodat
...in preparation for enabling 'Image for all types in Ada 2020, and having it call 'Put_Image for nonscalar types, and for types with user-defined 'Put_Image. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Bob Duff gcc/ada/ * sem_attr.adb (Check_Image_Type): New

[Ada] Passing actual parameter values to out formals when Default_Value is set

2020-06-15 Thread Pierre-Marie de Rodat
When the type of a scalar formal parameter of mode out has the Default_Value aspect, the actual type is also required to have that aspect (required now by AI12-0074, RM 6.4.1(5.3/4)), and the value of the actual must be passed on calls (since the actual is guaranteed to be initialized and

[Ada] Allow uninitialized values on Big_Positive/Natural

2020-06-15 Thread Pierre-Marie de Rodat
The current Dynamic_Predicate prevents declaring a variable without also initializing it at the same time. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Arnaud Charlet gcc/ada/ * libgnat/a-nbnbin.ads (Big_Positive, Big_Natural): Fix predicate.---

[Ada] Crash in tagged type constructor with task components

2020-06-15 Thread Pierre-Marie de Rodat
The compiler blows up processing a constructor function that returns a limited private tagged type that implements an interface type whose full view has a task type component. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Javier Miranda gcc/ada/ * restrict.ads

[Ada] AI12-0260 Functions Is_Basic and To_Basic in Wide_Characters.Handling

2020-06-15 Thread Pierre-Marie de Rodat
This Ada 202x AI introduces new functions Is_Basic and To_Basic in Ada.Wide_Characters.Handling. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Arnaud Charlet gcc/ada/ * libgnat/a-wichha.ads, libgnat/a-wichha.adb, libgnat/a-wichun.ads, libgnat/a-wichun.adb

[Ada] T'Image calls T'Put_Image

2020-06-15 Thread Pierre-Marie de Rodat
In Ada 2020, T'Image calls T'Put_Image if there is an explicit aspect_specification for Put_Image, or if U_Type'Image is illegal in pre-2020 versions of Ada. Scalar types continue to use the old 'Image, even in Ada 2020. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Bob Duff

[Ada] Fix analysis of Relaxed_Initialization for bodies-as-specs

2020-06-15 Thread Pierre-Marie de Rodat
Analysis of Relaxed_Initialization is heavily inspired by the existing code for Global/Depends contract. There was one difference in dealing with scope tables; it turns out that this difference was a mistake. Now fixed. Also, fix a mistake in querying the aspect property for subprogram parameter,

[Ada] Missing errors on aspect checking

2020-06-15 Thread Pierre-Marie de Rodat
Some aspects with no corresponding pragmas (Default_Value and Default_Component_Value) did not have proper checking for rules in RM 13.1(9) and RM 13.1(10)), this is now fixed. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Arnaud Charlet gcc/ada/ * sem_attr.adb

[Ada] Implement AI12-0343 Return Statement Checks

2020-06-15 Thread Pierre-Marie de Rodat
This implements the AI in all versions of the languages, since it is a binding interpretation. The goal of the AI is to clarify where three checks prescribed by the 6.5 clause are done in the case of an extended return statement (immediately after the return object is created or immediately

[Ada] Do expect task discriminants in Global and Depends contracts

2020-06-15 Thread Pierre-Marie de Rodat
This reverts a previous commit and reinstalls task discriminants for the analysis of Global/Depends contracts (and their refined variants). Task discriminants are rejected in those contracts, but need to be installed for the analysis, as otherwise we get difficult to understand error messages.

[Ada] Use uniform type resolution for membership tests

2020-06-15 Thread Pierre-Marie de Rodat
This fixes an annoying discrepancy in the resolution of the type of the elements of the choice list in a membership test. Consider: Msg : String; if Msg not in "" | "bypass" then ... end if; if not (Msg in "" or else Msg in "bypass") then ... end if; function Func return

[Ada] Put_Image: Enable for access-to-subprogram types

2020-06-15 Thread Pierre-Marie de Rodat
Implement Put_Image for access-to-subprogram, including access-to-protected-subprogram, and enable. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Bob Duff gcc/ada/ * libgnat/s-putima.ads, libgnat/s-putima.adb (Put_Image_Access_Subp, Put_Image_Access_Prot): New

[Ada] Implement AI12-0077 Has_Same_Storage on objects of size zero

2020-06-15 Thread Pierre-Marie de Rodat
This implements the AI in all versions of the language, since it is a binding interpretation. The point is to make 'Has_Same_Storage return false for objects of size zero, as 'Overlaps_Storage already does. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Eric Botcazou gcc/ada/

[Ada] Link failure with call to expression function in precondition

2020-06-15 Thread Pierre-Marie de Rodat
A call to an exprewion function generated for a precondition that applies to a null procedure leaves the freeze node for the expression function in the wrong context. As a result the body of the function is not properly compiled and the corresponding symbol is markea as undefined, leading to a

[Ada] Bad access checks on if/case expression as actual

2020-06-15 Thread Pierre-Marie de Rodat
This patch corrects an issue in the compiler whereby conditional expressions used directly as actuals for anonymous access types caused the callee to fail to generate relevant accessibility checks. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Justin Squirek gcc/ada/

[Ada] Put_Image: Implement for private types with full real type

2020-06-15 Thread Pierre-Marie de Rodat
Implement Put_Image for private types whose full type is a fixed or floating point type. Also implement 'Image for private types in general. This affects integers and enumeration types. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Bob Duff gcc/ada/ * exp_imgv.adb

[Ada] Do not expect task discriminants in Global and Depends contracts

2020-06-15 Thread Pierre-Marie de Rodat
When the support for Global and Depends (and their Refined variants) contracts was implemented, it wrongly allowed discriminants to appear in these contracts. This was later fixed, but we still had task discriminants installed when resolving the contract items. Tested on x86_64-pc-linux-gnu,

[Ada] Remove unreferenced and dubious Is_Renaming_Declaration

2020-06-15 Thread Pierre-Marie de Rodat
Routine Is_Renaming_Declaration was added to support the Ghost aspect in SPARK, but later its only callee has been removed when handling of this aspect was fixed; now it is unreferenced. Also, it is dubious whether we ever needed this routine (and whether we needed to explicitly list renaming node

[Ada] Do not expect Global or Depends on single protected objects

2020-06-15 Thread Pierre-Marie de Rodat
The Global and Depends contracts can only be attached to single task objects, not to single protected objects. Tested on x86_64-pc-linux-gnu, committed on trunk 2020-06-15 Piotr Trojanek gcc/ada/ * contracts.adb (Analyze_Object_Contract): Do not expect Global/Depends on

[Ada] Update 'Loop_Entry checking to match changes in 'Old rules.

2020-06-15 Thread Pierre-Marie de Rodat
AI12-0217 made changes in the rules for 'Old; make analogous changes for 'Loop_Entry. In particular, where the rules used to require that the attribute prefix must "statically denote" an object in some cases, those rules have been relaxed to say that the prefix must "statically name" an object

RE: [PATCH] AArch64: Don't check for amdgcn-amdhsa at all on arm targets.

2020-06-15 Thread Tamar Christina
Hi Andrew, > > > > The amdgcn-amdhsa test seems to be running for all targets > > unconditionally while only really makes sense for certain targets. > > This patch adds an opt-out list and opts out arm targets. > > > > Regtested on aarch64-none-linux-gnu and no issues. > > > > Ok for master? > >

Re: [PATCH] Add pattern for pointer-diff on addresses with same base/offset (PR 94234)

2020-06-15 Thread Richard Biener via Gcc-patches
On Fri, Jun 5, 2020 at 11:20 AM Feng Xue OS wrote: > > As Marc suggested, removed the new pointer_diff rule, and add another rule to > fold > convert-add expression. This new rule is: > > (T)(A * C) +- (T)(B * C) -> (T) ((A +- B) * C) > > Regards, > Feng > > --- > 2020-06-01 Feng Xue > >

RE: [PATCH] vect: Use LOOP_VINFO_DATAREFS and LOOP_VINFO_DDRS consistently

2020-06-15 Thread Yangfei (Felix)
Hi Richard, > -Original Message- > From: Richard Biener [mailto:richard.guent...@gmail.com] > Sent: Monday, June 15, 2020 3:25 PM > To: Yangfei (Felix) > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] vect: Use LOOP_VINFO_DATAREFS and > LOOP_VINFO_DDRS consistently > > On Sat, Jun

Re: [EXT] Re: [PATCH] Optimize and+or+sub into xor+not (PR94882)

2020-06-15 Thread Richard Biener via Gcc-patches
On Thu, Jun 4, 2020 at 5:09 PM Naveen Hurugalawadi wrote: > > Hi, > > Thanks for reviewing the patch and sharing your comments. > > >> nop_convert4 cannot happen, constants will have been constant folded here. > Removed. > > >> So I think it should be and the other patterns adjusted accordingly.

  1   2   >