Re: [PATCH 3/7] Duplicate the range information of the phi onto the new ssa_name

2021-06-25 Thread Andrew Pinski via Gcc-patches
On Thu, Jun 24, 2021 at 8:17 AM Jeff Law via Gcc-patches wrote: > > > > On 6/23/2021 4:19 PM, apinski--- via Gcc-patches wrote: > > From: Andrew Pinski > > > > Since match_simplify_replacement uses gimple_simplify, there is a new > > ssa name created sometimes and then we go and replace the phi e

[pushed] c++: constexpr aggr init of empty class [PR101040]

2021-06-25 Thread Jason Merrill via Gcc-patches
This is basically the aggregate initializer version of PR97566; as in that bug, we are trying to initialize empty field 'obj' in 'single' when there's no CONSTRUCTOR entry for the 'single' base class subobject of 'derived'. As with that bug, the fix is to stop trying to add entries for empty field

[wwwdocs] Update C++ DR table

2021-06-25 Thread Marek Polacek via Gcc-patches
It's been a minute since I've updated our C++ DR table, so this patch adds news DRs. I've also written a script that check each DR's status against the upstream document. That revealed that many entries in our table were out of sync, so I've gone through all of them and fixed them. I've also use

[committed] jit: fix test-vector-* failures

2021-06-25 Thread David Malcolm via Gcc-patches
Fix failures seen on i686 due to relying on exact floating-point equality when testing results of vector division. Successfully regrtested on x86_64-pc-linux-gnu. Pushed to trunk as 99585d88a090b4c5b7791f7ab62f70eb37b748fa. gcc/testsuite/ChangeLog: * jit.dg/test-vector-rvalues.cc (check_d

[committed] jit: fix test-asm failures on i?86

2021-06-25 Thread David Malcolm via Gcc-patches
On i686, test_i386_basic_asm_4 has: error: inconsistent operand constraints in an 'asm' and test_i386_basic_asm_5 has: /tmp/libgccjit-9FsLie/fake.s:9: Error: bad register name `%rdi' /tmp/libgccjit-9FsLie/fake.s:10: Error: bad register name `%rsi' This is only intended as a smoketest of asm

[committed] remove a spurious note from calls.c (PR 101216)

2021-06-25 Thread Martin Sebor via Gcc-patches
Yesterday's r12-1805 resulted in an informational note being printed unconditionally, even when the warning it goes with is disabled. It caused an analyzer test to fail but I missed that in my test results. I pushed the attached fix to avoid printing them. Martin PR middle-end/101216 - spurious

Re: [COMMITTED 1/2] Adjust on_entry cache to indicate if the value was set properly.

2021-06-25 Thread Martin Sebor via Gcc-patches
I just glanced at the patch out of curiosity and the first hunk caught my eye. There's nothing wrong with the change and I like how you make the APIs const-correct! Just a note that it looks like the const in on the basic_block declaration might be missing an underscore (it should be const_basic

Re: [PATCH] define auto_vec copy ctor and assignment (PR 90904)

2021-06-25 Thread Martin Sebor via Gcc-patches
On 6/25/21 4:11 PM, Jason Merrill wrote: On 6/25/21 4:51 PM, Martin Sebor wrote: On 6/1/21 3:38 PM, Jason Merrill wrote: On 6/1/21 3:56 PM, Martin Sebor wrote: On 5/27/21 2:53 PM, Jason Merrill wrote: On 4/27/21 11:52 AM, Martin Sebor via Gcc-patches wrote: On 4/27/21 8:04 AM, Richard Biener

Re: [PATCH] define auto_vec copy ctor and assignment (PR 90904)

2021-06-25 Thread Jason Merrill via Gcc-patches
On 6/25/21 4:51 PM, Martin Sebor wrote: On 6/1/21 3:38 PM, Jason Merrill wrote: On 6/1/21 3:56 PM, Martin Sebor wrote: On 5/27/21 2:53 PM, Jason Merrill wrote: On 4/27/21 11:52 AM, Martin Sebor via Gcc-patches wrote: On 4/27/21 8:04 AM, Richard Biener wrote: On Tue, Apr 27, 2021 at 3:59 PM Ma

Re: [r12-1805 Regression] FAIL: gcc.dg/analyzer/setjmp-2.c (test for excess errors) on Linux/x86_64

2021-06-25 Thread Andrew Pinski via Gcc-patches
On Fri, Jun 25, 2021 at 2:27 PM David Malcolm via Gcc-patches wrote: > > On Thu, 2021-06-24 at 22:26 -0700, sunil.k.pandey via Gcc-patches > wrote: > > On Linux/x86_64, > > > > e9e2bad7251477db92ab9ebcdc010f9282dd9890 is the first bad commit > > commit e9e2bad7251477db92ab9ebcdc010f9282dd9890 > >

Re: [r12-1805 Regression] FAIL: gcc.dg/analyzer/setjmp-2.c (test for excess errors) on Linux/x86_64

2021-06-25 Thread David Malcolm via Gcc-patches
On Thu, 2021-06-24 at 22:26 -0700, sunil.k.pandey via Gcc-patches wrote: > On Linux/x86_64, > > e9e2bad7251477db92ab9ebcdc010f9282dd9890 is the first bad commit > commit e9e2bad7251477db92ab9ebcdc010f9282dd9890 > Author: Martin Sebor > Date:   Thu Jun 24 19:22:06 2021 -0600 > >     middle-end: a

Re: [PATCH] define auto_vec copy ctor and assignment (PR 90904)

2021-06-25 Thread Martin Sebor via Gcc-patches
On 6/1/21 3:38 PM, Jason Merrill wrote: On 6/1/21 3:56 PM, Martin Sebor wrote: On 5/27/21 2:53 PM, Jason Merrill wrote: On 4/27/21 11:52 AM, Martin Sebor via Gcc-patches wrote: On 4/27/21 8:04 AM, Richard Biener wrote: On Tue, Apr 27, 2021 at 3:59 PM Martin Sebor wrote: On 4/27/21 1:58 AM,

Re: [PATCH v2] c++: Failure to delay noexcept parsing with ptr-operator [PR100752]

2021-06-25 Thread Jason Merrill via Gcc-patches
On 6/25/21 4:42 PM, Marek Polacek wrote: On Thu, Jun 10, 2021 at 10:31:33PM -0400, Jason Merrill wrote: On 6/10/21 5:19 PM, Marek Polacek wrote: On Thu, Jun 10, 2021 at 03:09:29PM -0400, Jason Merrill wrote: On 6/8/21 8:25 PM, Marek Polacek wrote: We weren't passing 'flags' to the recursive c

Re: [PATCH v2] c++: Failure to delay noexcept parsing with ptr-operator [PR100752]

2021-06-25 Thread Marek Polacek via Gcc-patches
On Thu, Jun 10, 2021 at 10:31:33PM -0400, Jason Merrill wrote: > On 6/10/21 5:19 PM, Marek Polacek wrote: > > On Thu, Jun 10, 2021 at 03:09:29PM -0400, Jason Merrill wrote: > > > On 6/8/21 8:25 PM, Marek Polacek wrote: > > > > We weren't passing 'flags' to the recursive call to cp_parser_declarator

Re: [PATCH] c++: access scope during partial spec matching [PR96204]

2021-06-25 Thread Jason Merrill via Gcc-patches
On 6/25/21 1:14 PM, Patrick Palka wrote: On Fri, 25 Jun 2021, Jason Merrill wrote: On 6/25/21 11:03 AM, Patrick Palka wrote: Here, when determining whether the partial specialization matches the specialization has_set_attr_method, we do so from the scope of where the template-id appears rather

Re: [PATCH] c++: CTAD within alias template [PR91911]

2021-06-25 Thread Jason Merrill via Gcc-patches
On 6/25/21 1:11 PM, Patrick Palka wrote: On Fri, 25 Jun 2021, Jason Merrill wrote: On 6/24/21 4:45 PM, Patrick Palka wrote: In the first testcase below, during parsing of the alias template ConstSpanType, transparency of alias template specializations means we replace SpanType with SpanType's

[committed] libstdc++: Avoid intercepting exception in ostream::write

2021-06-25 Thread Jonathan Wakely via Gcc-patches
Currently if ostream::write fails and sets badbit and that causes an exception, we will catch the exception, set badbit again, and rethrow the exception. This change delays setting badbit until after the try-catch block, so that if it causes an exception we don't need to catch and rethrow it. Thi

[committed] libstdc++: Implement LWG 581 for std:ostream::flush()

2021-06-25 Thread Jonathan Wakely via Gcc-patches
LWG 581 changed ostream::flush() to an unformatted output function for C++11, but it was never implemented in libstdc++. libstdc++-v3/ChangeLog: * doc/xml/manual/intro.xml: Document LWG 581 change. * doc/html/manual/bugs.html: Regenerate. * include/bits/basic_ios.tcc: Whit

[committed] libstdc++: Fix exception handling in std::ostream seek functions

2021-06-25 Thread Jonathan Wakely via Gcc-patches
N3168 added the requirement that the [ostream.seeks] functions create a sentry object. Nothing in the requirements of those functions says anything about catching exceptions and setting badbit. libstdc++-v3/ChangeLog: * include/bits/ostream.tcc (sentry): Only set failbit if badbit

[committed] libstdc++: Remove noexcept from syncbuf::swap (LWG 3498)

2021-06-25 Thread Jonathan Wakely via Gcc-patches
The proposed resolution for the inconsistent noexcept-specifiers in the spec is to remove it from bto hthe assignment operator and swap. libstdc++-v3/ChangeLog: * include/std/syncstream (basic_syncbuf::swap()): Remove noexcept, as per LWG 3498. Tested powerpc64le-linux. Committed

[committed] libstdc++: More workarounds in 17_intro/names.cc test [PR 97088]

2021-06-25 Thread Jonathan Wakely via Gcc-patches
Conditionally #undef some more names that are used in system headers. libstdc++-v3/ChangeLog: PR libstdc++/97088 * testsuite/17_intro/names.cc: Undef more names for newlib and also for arm-none-linux-gnueabi. * testsuite/experimental/names.cc: Disable PCH. Tested

Re: [PATCH] inline: do not inline when no_profile_instrument_function is different

2021-06-25 Thread Nick Desaulniers via Gcc-patches
On Wed, Jun 23, 2021 at 6:15 AM Martin Liška wrote: > > On 6/23/21 2:38 PM, Jan Hubicka wrote: > > Is there reason to prevent the inlining once instrumentation is done? > > No ;) Here's another case that coincidentally came up yesterday. How should these attributes behave in the case of __attribu

Re: [PATCH 2/3] Fix IEEE 128-bit min/max test.

2021-06-25 Thread Segher Boessenkool
On Thu, Jun 17, 2021 at 04:11:40PM -0400, Michael Meissner wrote: > On Thu, Jun 17, 2021 at 01:11:58PM -0500, Segher Boessenkool wrote: > > > --- a/gcc/testsuite/gcc.target/powerpc/float128-minmax.c > > > +++ b/gcc/testsuite/gcc.target/powerpc/float128-minmax.c > > > @@ -1,6 +1,5 @@ > > > -/* { dg-

Re: [PATCH] c++: access scope during partial spec matching [PR96204]

2021-06-25 Thread Patrick Palka via Gcc-patches
On Fri, 25 Jun 2021, Jason Merrill wrote: > On 6/25/21 11:03 AM, Patrick Palka wrote: > > Here, when determining whether the partial specialization matches the > > specialization has_set_attr_method, we do so from the scope of > > where the template-id appears rather than from the scope of the > >

Re: [PATCH] c++: CTAD within alias template [PR91911]

2021-06-25 Thread Patrick Palka via Gcc-patches
On Fri, 25 Jun 2021, Jason Merrill wrote: > On 6/24/21 4:45 PM, Patrick Palka wrote: > > In the first testcase below, during parsing of the alias template > > ConstSpanType, transparency of alias template specializations means we > > replace SpanType with SpanType's substituted definition. But th

[PATCH, libgomp, PR101114, committed] Fix struct-elem-5.c regression

2021-06-25 Thread Chung-Lin Tang
The libgomp.c-c++-common/struct-elem-5.c test which I added for the Structure element mapping patch, does not properly "fail" for non-shared (unified) address space cases (like host-fallback). This was handled inside the testcase for struct-elem-[14].c, but missed this one due to the dg-shouldfai

[PATCH 0/4 REVIEW] libtool and libctf fixes for Solaris 11

2021-06-25 Thread Nick Alcock via Gcc-patches
There are three intertwined bugs here, two in libtool.m4, one in libctf. The underlying "problem" is that libctf tries to version its symbols: if it can't use a GNU version script it tries to hide unnecessary symbols using Libtool's --export-symbols-regex flag... and that flag has kinda rusted. Fi

[PATCH 2/4 REVIEW] libtool.m4: fix nm BSD flag detection

2021-06-25 Thread Nick Alcock via Gcc-patches
Libtool needs to get BSD-format (or MS-format) output out of the system nm, so that it can scan generated object files for symbol names for -export-symbols-regex support. Some nms need specific flags to turn on BSD-formatted output, so libtool checks for this in its AC_PATH_NM. Unfortunately the c

[PATCH 1/4] libtool.m4: augment symcode for Solaris 11

2021-06-25 Thread Nick Alcock via Gcc-patches
This reports common symbols like GNU nm, via a type code of 'C'. Cc: gcc-patches@gcc.gnu.org ChangeLog 2021-06-22 Nick Alcock PR libctf/27967 * libtool.m4 (lt_cv_sys_global_symbol_pipe): Augment symcode for Solaris 11. --- libtool.m4 | 2 +- 1 file changed, 1 insertio

[PATCH 7/7] s390: Increase costs for load on condition and change movqicc expander.

2021-06-25 Thread Robin Dapp via Gcc-patches
--- gcc/config/s390/s390.c | 2 +- gcc/config/s390/s390.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 6bbeb640e1f..e3b1f99669f 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -3636,7 +3636,7 @@

[PATCH 3/7] ifcvt: Improve costs handling for noce_convert_multiple.

2021-06-25 Thread Robin Dapp via Gcc-patches
When noce_convert_multiple is called the original costs are not yet initialized. Therefore, up to now, costs were only ever unfairly compared against COSTS_N_INSNS (2). This would lead to default_noce_conversion_profitable_p () rejecting all but the most contrived of sequences. This patch tempor

[PATCH 2/7] ifcvt: Allow constants for noce_convert_multiple.

2021-06-25 Thread Robin Dapp via Gcc-patches
This lifts the restriction of not allowing constants for noce_convert_multiple. The code later checks if a valid sequence is produced anyway. --- gcc/ifcvt.c | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index eef6490626a..6006055f26a

[PATCH 6/7] testsuite/s390: Add tests for noce_convert_multiple.

2021-06-25 Thread Robin Dapp via Gcc-patches
Add new s390-specific tests that check if we convert two SETs into two loads on condition. Remove the s390-specific target-check in gcc.dg/ifcvt-4.c. --- gcc/testsuite/gcc.dg/ifcvt-4.c| 2 +- .../gcc.target/s390/ifcvt-two-insns-bool.c| 39 +++ .../gcc.target/s

[PATCH 5/7] ifcvt: Try re-using CC for conditional moves.

2021-06-25 Thread Robin Dapp via Gcc-patches
Following up on the previous patch, this patch makes noce_convert_multiple emit two cmov sequences: The same one as before and a second one that tries to re-use the existing CC. Then their costs are compared and the cheaper one is selected. --- gcc/ifcvt.c | 94 ++

[PATCH 0/7] ifcvt: Convert multiple

2021-06-25 Thread Robin Dapp via Gcc-patches
Hi, finally I got around to reworking this patch set for if conversion so it is rather a v3 already. Since so much time has passed, I'm not replying to the old thread. There are several problems with noce_convert_multiple and most are due to the instructions costs not being properly counted: -

[PATCH 4/7] ifcvt/optabs: Allow using a CC comparison for emit_conditional_move.

2021-06-25 Thread Robin Dapp via Gcc-patches
Currently we only ever call emit_conditional_move with the comparison (as well as its comparands) we got from the jump. Thus, backends are going to emit a CC comparison for every conditional move that is being generated instead of re-using the existing CC. This, combined with emitting temporaries

[PATCH 1/7] ifcvt: Check if cmovs are needed.

2021-06-25 Thread Robin Dapp via Gcc-patches
When if-converting multiple SETs and we encounter a swap-style idiom if (a > b) { tmp = c; // [1] c = d; d = tmp; } ifcvt should not generate a conditional move for the instruction at [1]. In order to achieve that, this patch goes through all relevant SETs and marks

Re: [PATCH] c++: access scope during partial spec matching [PR96204]

2021-06-25 Thread Jason Merrill via Gcc-patches
On 6/25/21 11:03 AM, Patrick Palka wrote: Here, when determining whether the partial specialization matches the specialization has_set_attr_method, we do so from the scope of where the template-id appears rather than from the scope of the specialization, and this causes us to select the partial s

Re: [PATCH] c++: access scope during partial spec matching [PR96204]

2021-06-25 Thread Patrick Palka via Gcc-patches
On Fri, 25 Jun 2021, Patrick Palka wrote: > Here, when determining whether the partial specialization matches the > specialization has_set_attr_method, we do so from the scope of Er, this should say has_type_method. > where the template-id appears rather than from the scope of the > specializati

Re: [PATCH] c++: CTAD within alias template [PR91911]

2021-06-25 Thread Jason Merrill via Gcc-patches
On 6/24/21 4:45 PM, Patrick Palka wrote: In the first testcase below, during parsing of the alias template ConstSpanType, transparency of alias template specializations means we replace SpanType with SpanType's substituted definition. But this substitution lowers the level of the CTAD placeholde

Re: [PATCHv3 00/55] Replace the Power target-specific builtin machinery

2021-06-25 Thread Bill Schmidt via Gcc-patches
Ping / beg  :-) On 6/17/21 10:18 AM, Bill Schmidt via Gcc-patches wrote: Original patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568840.html V2 patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/572231.html I've made some slight changes to the V2 se

[PATCH] c++: access scope during partial spec matching [PR96204]

2021-06-25 Thread Patrick Palka via Gcc-patches
Here, when determining whether the partial specialization matches the specialization has_set_attr_method, we do so from the scope of where the template-id appears rather than from the scope of the specialization, and this causes us to select the partial specialization (since Child::type is accessib

Re: [PATCH] testsuite: mips: use noinline attribute instead of -fno-inline

2021-06-25 Thread Richard Sandiford via Gcc-patches
Xi Ruoyao via Gcc-patches writes: > On Fri, 2021-06-25 at 01:02 +0800, Xi Ruoyao wrote: >> On Thu, 2021-06-24 at 10:48 -0600, Jeff Law wrote: >> > I'd like to know a bit more here.  mips.exp shouldn't care about the >> > options passed to the compiler and to the best of my knowledge >> > patch it

[committed] Use right shifts to eliminate redundant test/compare insns on the H8

2021-06-25 Thread Jeff Law
Now we're moving on to the shifts/rotate patterns for redundant test/compare removal.  The first patch is trivial and just adds support into select_cc_mode for the right shifts which were missing.  This only helps the H8/SX as it's the only variant currently supporting using shifts to eliminate

Re: [PATCH] testsuite: mips: use noinline attribute instead of -fno-inline

2021-06-25 Thread Xi Ruoyao via Gcc-patches
On Fri, 2021-06-25 at 01:02 +0800, Xi Ruoyao wrote: > On Thu, 2021-06-24 at 10:48 -0600, Jeff Law wrote: > > I'd like to know a bit more here.  mips.exp shouldn't care about the > > options passed to the compiler and to the best of my knowledge > > patch itself is wrong, I question if it's necessa

Re: GCC documentation: porting to Sphinx

2021-06-25 Thread Martin Liška
On 6/25/21 3:11 PM, Martin Liška wrote: List of known issues (planned to be fixed after merging): I forgot about: - diagnostics URL (for e.g. warnings) needs to be adjusted Martin

Re: [PATCH] New hook adjust_iv_update_pos

2021-06-25 Thread Xionghu Luo via Gcc-patches
On 2021/6/25 18:02, Richard Biener wrote: On Fri, Jun 25, 2021 at 11:41 AM Xionghu Luo wrote: On 2021/6/25 16:54, Richard Biener wrote: On Fri, Jun 25, 2021 at 10:34 AM Xionghu Luo via Gcc-patches wrote: From: Xiong Hu Luo adjust_iv_update_pos in tree-ssa-loop-ivopts doesn't help pe

Re: GCC documentation: porting to Sphinx

2021-06-25 Thread Martin Liška
Hello. I've got something that is very close to be a patch candidate that can be eventually merged. Right now, the patches are available here: https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;a=log;h=refs/users/marxin/heads/sphinx-v3 Changes since last version: - gdc manual was ported - 'make doc'

Re: [PATCH] New hook adjust_iv_update_pos

2021-06-25 Thread Xionghu Luo via Gcc-patches
+cc Xinliang David Li since he introduced the function adjust_iv_update_pos. Looking forward to the input. :) On 2021/6/25 18:02, Richard Biener wrote: On Fri, Jun 25, 2021 at 11:41 AM Xionghu Luo wrote: On 2021/6/25 16:54, Richard Biener wrote: On Fri, Jun 25, 2021 at 10:34 AM Xionghu Lu

[PATCH v2] x86: Check AVX512 without mask instructions

2021-06-25 Thread H.J. Lu via Gcc-patches
On Fri, Jun 25, 2021 at 12:50 AM Uros Bizjak wrote: > > On Fri, Jun 25, 2021 at 4:51 AM Hongtao Liu wrote: > > > > On Fri, Jun 25, 2021 at 12:13 AM Uros Bizjak via Gcc-patches > > wrote: > > > > > > On Thu, Jun 24, 2021 at 2:12 PM H.J. Lu wrote: > > > > > > > > CPUID functions are used to detec

Re: [PATCH 04/11 v3] libstdc++: Make use of __builtin_bit_cast

2021-06-25 Thread Jonathan Wakely via Gcc-patches
On Thu, 24 Jun 2021 at 15:02, Matthias Kretz wrote: > > For -ffast-math there was a missing using namespace __proposed left. The > attached patch resolves the issue. OK for trunk, please push (after adding yourself to the "Write After Approval" section of MAINTAINERS as per https://gcc.gnu.org/git

Re: [PATCH] testsuite: mips: use noinline attribute instead of -fno-inline

2021-06-25 Thread Richard Sandiford via Gcc-patches
Xi Ruoyao via Gcc-patches writes: > On Thu, 2021-06-24 at 10:48 -0600, Jeff Law wrote: >> >> >> On 6/22/2021 1:05 AM, Xi Ruoyao via Gcc-patches wrote: >> > mips.exp does not support -fno-inline, causing the tests return >> > "ERROR: >> > Unrecognised option: -fno-inline for dg-options ... ". >>

Re: [RFC] ldist: Recognize rawmemchr loop patterns

2021-06-25 Thread Stefan Schulze Frielinghaus via Gcc-patches
On Wed, Jun 16, 2021 at 04:22:35PM +0200, Richard Biener wrote: > On Mon, Jun 14, 2021 at 7:26 PM Stefan Schulze Frielinghaus > wrote: > > > > On Thu, May 20, 2021 at 08:37:24PM +0200, Stefan Schulze Frielinghaus wrote: > > [...] > > > > but we won't ever arrive here because of the niters conditio

[PATCH] tree-optimization/101202 - fix ICE with failed backedge SLP nodes

2021-06-25 Thread Richard Biener
This fixes an ICE with failed backedge SLP nodes still in the graph while doing permute optimization by explicitely handling those. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2021-06-25 Richard Biener PR tree-optimization/101202 * tree-vect-slp.c (vect_optimi

Re: [PATCH] New hook adjust_iv_update_pos

2021-06-25 Thread Richard Biener via Gcc-patches
On Fri, Jun 25, 2021 at 11:41 AM Xionghu Luo wrote: > > > > On 2021/6/25 16:54, Richard Biener wrote: > > On Fri, Jun 25, 2021 at 10:34 AM Xionghu Luo via Gcc-patches > > wrote: > >> > >> From: Xiong Hu Luo > >> > >> adjust_iv_update_pos in tree-ssa-loop-ivopts doesn't help performance > >> on P

Re: [PATCH] New hook adjust_iv_update_pos

2021-06-25 Thread Xionghu Luo via Gcc-patches
On 2021/6/25 16:54, Richard Biener wrote: On Fri, Jun 25, 2021 at 10:34 AM Xionghu Luo via Gcc-patches wrote: From: Xiong Hu Luo adjust_iv_update_pos in tree-ssa-loop-ivopts doesn't help performance on Power. For example, it generates mismatched address offset after adjust iv update state

Re: [PATCH] New hook adjust_iv_update_pos

2021-06-25 Thread Richard Biener via Gcc-patches
On Fri, Jun 25, 2021 at 10:34 AM Xionghu Luo via Gcc-patches wrote: > > From: Xiong Hu Luo > > adjust_iv_update_pos in tree-ssa-loop-ivopts doesn't help performance > on Power. For example, it generates mismatched address offset after > adjust iv update statement position: > > [local count: 709

[PATCH] New hook adjust_iv_update_pos

2021-06-25 Thread Xionghu Luo via Gcc-patches
From: Xiong Hu Luo adjust_iv_update_pos in tree-ssa-loop-ivopts doesn't help performance on Power. For example, it generates mismatched address offset after adjust iv update statement position: [local count: 70988443]: _84 = MEM[(uint8_t *)ip_229 + ivtmp.30_414 * 1]; ivtmp.30_415 = ivtmp.30_41

Re: [PATCH 5/6] make get_domminated_by_region return a auto_vec

2021-06-25 Thread Richard Biener via Gcc-patches
On Thu, Jun 24, 2021 at 6:28 PM Richard Sandiford wrote: > > Richard Biener via Gcc-patches writes: > > On Wed, Jun 23, 2021 at 12:22 PM Richard Sandiford > > wrote: > >> > >> Richard Biener writes: > >> > On Wed, Jun 23, 2021 at 7:23 AM Trevor Saunders > >> > wrote: > >> >> > >> >> On Tue, J

Re: [PATCH 4/7] Allow match-and-simplified phiopt to run in early phiopt

2021-06-25 Thread Richard Biener via Gcc-patches
On Thu, Jun 24, 2021 at 6:24 PM Jeff Law via Gcc-patches wrote: > > > > On 6/23/2021 4:19 PM, apinski--- via Gcc-patches wrote: > > From: Andrew Pinski > > > > To move a few things more to match-and-simplify from phiopt, > > we need to allow match_simplify_replacement to run in early > > phiopt.

[PATCH] Fixup reduction info on addsub SLP pattern

2021-06-25 Thread Richard Biener
gcc.dg/vect/pr96854.c shows we need to copy over reduction info to the SLP pattern as already done for the complex patterns. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2021-06-25 Richard Biener * tree-vect-slp-patterns.c (addsub_pattern::build): Copy STMT_VIN

Re: [PATCH][RFC] Add x86 subadd SLP pattern

2021-06-25 Thread Uros Bizjak via Gcc-patches
On Fri, Jun 25, 2021 at 8:48 AM Richard Biener wrote: > > On Thu, 24 Jun 2021, Uros Bizjak wrote: > > > On Thu, Jun 24, 2021 at 1:07 PM Richard Biener wrote: > > > > > This addds SLP pattern recognition for the SSE3/AVX [v]addsubp{ds} v0, v1 > > > instructions which compute { v0[0] - v1[0], v0[1]

Re: [PATCH] x86: Compile CPUID functions with -mgeneral-regs-only

2021-06-25 Thread Uros Bizjak via Gcc-patches
On Fri, Jun 25, 2021 at 4:51 AM Hongtao Liu wrote: > > On Fri, Jun 25, 2021 at 12:13 AM Uros Bizjak via Gcc-patches > wrote: > > > > On Thu, Jun 24, 2021 at 2:12 PM H.J. Lu wrote: > > > > > > CPUID functions are used to detect CPU features. If vector ISAs > > > are enabled, compiler is free to

Re: [[PATCH V9] 1/7] dwarf: add a dwarf2int.h internal interface

2021-06-25 Thread Richard Biener via Gcc-patches
On Thu, Jun 24, 2021 at 5:31 PM Jason Merrill via Gcc-patches wrote: > > On 6/24/21 11:13 AM, Jose E. Marchesi wrote: > > > > This patch introduces a dwarf2int.h header, to be used by code that > > needs access to the internal DIE structures and their attributes. > > Why not put

Re: [PING][PATCH 9/13] v2 Use new per-location warning APIs in LTO

2021-06-25 Thread Richard Biener via Gcc-patches
On Thu, Jun 24, 2021 at 5:27 PM Martin Sebor wrote: > > On 6/24/21 3:32 AM, Richard Biener wrote: > > On Mon, Jun 21, 2021 at 11:55 PM Martin Sebor via Gcc-patches > > wrote: > >> > >> Ping: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571980.html > >> > >> Looking for a review of the LTO

Re: [PATCH] tree-optimization/101186 - extend FRE with "equivalence map" for condition prediction

2021-06-25 Thread Richard Biener via Gcc-patches
On Thu, Jun 24, 2021 at 5:01 PM Andrew MacLeod wrote: > > On 6/24/21 9:25 AM, Andrew MacLeod wrote: > > On 6/24/21 8:29 AM, Richard Biener wrote: > > > > > > THe original function in EVRP currently looks like: > > > > === BB 2 > > : > > if (a_5(D) == b_6(D)) > >