[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2017-01-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 Bug 77848 depends on bug 78411, which changed state. Bug 78411 Summary: [7 Regression] FAIL: gcc.target/i386/pr45685.c scan-assembler-times cmov 6 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78411 What|Removed

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-17 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #27 from Bill Schmidt --- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78396 is open to track that failure.

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-17 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 Bill Schmidt changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-17 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #25 from Bill Schmidt --- Author: wschmidt Date: Thu Nov 17 14:22:17 2016 New Revision: 242550 URL: https://gcc.gnu.org/viewcvs?rev=242550=gcc=rev Log: [gcc] 2016-11-17 Bill Schmidt

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-16 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #24 from Bill Schmidt --- The above commit doesn't yet solve the problem, but enables more outer-loop vectorization in preparation for the fix.

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-16 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #23 from Bill Schmidt --- Author: wschmidt Date: Wed Nov 16 22:17:10 2016 New Revision: 242520 URL: https://gcc.gnu.org/viewcvs?rev=242520=gcc=rev Log: 2016-11-16 Bill Schmidt PR

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-15 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #22 from Bill Schmidt --- Proposed patch: https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01541.html

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-15 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #21 from Bill Schmidt --- Great, thanks. Just realized I need to add a test case yet -- should have this on the list later today.

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-15 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #20 from rguenther at suse dot de --- On Tue, 15 Nov 2016, wschmidt at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 > > --- Comment #19 from Bill Schmidt --- > I have a patch that solves this problem

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-14 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #19 from Bill Schmidt --- I have a patch that solves this problem by always versioning loops when vectorization is enabled, and also sets up if-conversion for outer loops so that outer-loop vectorization can succeed as before.

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-07 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #18 from Bill Schmidt --- Oh, I see. Makes sense. I'll look into it soonish after handling a high-priority interrupt that came in over the weekend...

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-07 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #17 from Richard Biener --- Nono, you misunderstood -- I meant for the if-converter to produce if (LOOP_VECTORIZED) { for (;;) // outer loop for (;;) // if-converted inner loop } else { for (;;) //

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-06 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #16 from Bill Schmidt --- Created attachment 39975 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39975=edit WIP patch for outer-loop vectorization

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-06 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #15 from Bill Schmidt --- (In reply to rguent...@suse.de from comment #14) > On November 5, 2016 4:31:54 PM GMT+01:00, "wschmidt at gcc dot gnu.org" > wrote: > > >Notable degradations: > > 403.gcc:

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-06 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #14 from rguenther at suse dot de --- On November 5, 2016 4:31:54 PM GMT+01:00, "wschmidt at gcc dot gnu.org" wrote: >https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 > >--- Comment #13 from Bill Schmidt

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-05 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #13 from Bill Schmidt --- SPEC cpu2006 on powerpc64le-unknown-linux-gnu with the simple patch: Geomean, integer: +0.2% Geomean, float:+0.5% Geomean, overall: +0.4% Notable improvements: 454.calculix:+3.7% 453.povray:

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-04 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #12 from Bill Schmidt --- So I'll now test Index: gcc/tree-if-conv.c === --- gcc/tree-if-conv.c (revision 241802) +++ gcc/tree-if-conv.c (working copy) @@ -2767,7

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-04 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #11 from Bill Schmidt --- (In reply to rguent...@suse.de from comment #10) > On Fri, 4 Nov 2016, wschmidt at gcc dot gnu.org wrote: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 > > > > --- Comment #8 from Bill Schmidt

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-04 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #10 from rguenther at suse dot de --- On Fri, 4 Nov 2016, wschmidt at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 > > --- Comment #8 from Bill Schmidt --- > FYI, the patch I am testing is: > >

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-04 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #9 from rguenther at suse dot de --- On Fri, 4 Nov 2016, wschmidt at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 > > --- Comment #7 from Bill Schmidt --- > OK, I will try to get some machine time to

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-04 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #8 from Bill Schmidt --- FYI, the patch I am testing is: Index: gcc/tree-if-conv.c === --- gcc/tree-if-conv.c (revision 241802) +++ gcc/tree-if-conv.c (working copy)

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-04 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #7 from Bill Schmidt --- OK, I will try to get some machine time to do performance testing of the existing patch as soon as possible. Here is the list of failures: > FAIL: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects >

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-04 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #6 from Richard Biener --- Note that bb-slp-cond-1.c is a particulaly bad example as it shows a defect in the loop vectorizing data dependence analysis. But yes, BB vectorization also benefits from if-conversion (but not only in

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-03 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #5 from Bill Schmidt --- I suppose that's not sensible as stated, as the SLP vectorizer doesn't really think in terms of loops. But this is an existing problem independent of whether we force loop-versioning on in all cases. Right

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-03 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #4 from Bill Schmidt --- Ah, never mind, I see what's happening. The order of events is * if-conversion * loop vectorization * DCE * cunroll * slp vectorization If we force versioning on with if-conversion, then the loop

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-11-03 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #3 from Bill Schmidt --- Just got back to looking at this. I've implemented this suggestion and it seems to work well for the most part; it solves the poor code generation we were seeing on this test case, and most of the test suite

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-10-05 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 --- Comment #2 from Bill Schmidt --- Thanks, Richard! I appreciate the analysis, as I wasn't really sure what the proper fix should be here.

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-10-05 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug tree-optimization/77848] Gimple if-conversion results in redundant comparisons

2016-10-04 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 Bill Schmidt changed: What|Removed |Added CC||dje at gcc dot gnu.org,