[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-21 Thread aldyh at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 Aldy Hernandez changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #15 from CVS Commits --- The master branch has been updated by Aldy Hernandez : https://gcc.gnu.org/g:eb5ee6464809e051e0292471597931a660485658 commit r12-6787-geb5ee6464809e051e0292471597931a660485658 Author: Aldy Hernandez Date:

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-20 Thread amacleod at redhat dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #14 from Andrew Macleod --- (In reply to Aldy Hernandez from comment #11) > [local count: 1063004409]: > # j_17 = PHI > # q_18 = PHI > >[local count: 1063004409]: > # j_2 = PHI > # prephitmp_16 = PHI <_14(4), &a(3)> >

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-20 Thread aldyh at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 Aldy Hernandez changed: What|Removed |Added CC||bonzini at gnu dot org --- Comment #13

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-20 Thread aldyh at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #12 from Aldy Hernandez --- Created attachment 52240 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52240&action=edit proposed untested patch This is a proposed patch that fixes both PRs. Perhaps we can tweak the dominance ch

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-20 Thread aldyh at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #11 from Aldy Hernandez --- The testcase for PR104067 shows an example where the dominance matters, irregardless of if we reset relations at the backedge point. There we have a path that looks like 9->3->5->...: [local count: 106

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-19 Thread amacleod at redhat dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #10 from Andrew Macleod --- (In reply to Jeffrey A. Law from comment #9) > > > >1 2 3 >| \ / >|4 >| / \ >+->5 6 > / \ > 7 8 > > > Note how BB4 does not dominate BB5. If we try to thr

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-19 Thread law at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #9 from Jeffrey A. Law --- I think Andrew has raised a really interesting issue. If the relation code is designed around seeing things in dominator order, then don't we have to stop using it once we traverse any edge where the edge

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-19 Thread amacleod at redhat dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #8 from Andrew Macleod --- No probably about it :-) As soon as the path crosses a back edge, we can encounter definitions of SSA_NAMEs that may have had a use in the path already, so this will then be a new definition. The relati

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-19 Thread aldyh at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #7 from Aldy Hernandez --- After chatting with Andrew about this, it seems the problem is we are starting a path mid-loop and crossing a backedge. This causes us to use relations we had on one iteration in another iteration. [lo

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-19 Thread aldyh at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #6 from Aldy Hernandez --- Please bear with me, as I'm coming up to speed, and my head hurts from all these equivalences. The problem seems to be what Jeff mentioned in comment #4. We think _5 == _6, which makes the conditional in

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-18 Thread amacleod at redhat dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 --- Comment #5 from Andrew Macleod --- > How does equivalence handling in the Ranger world work once you traverse the > backedge of a loop? There are 2 aspects. Ranger itself registers equivalence sets by basic block, not by name. All looku

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-17 Thread law at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 Jeffrey A. Law changed: What|Removed |Added CC||law at gcc dot gnu.org --- Comment #4

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-06 Thread amacleod at redhat dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 Andrew Macleod changed: What|Removed |Added CC||jeffreyalaw at gmail dot com --- Comme

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2022-01-04 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 Richard Biener changed: What|Removed |Added Priority|P3 |P1

[Bug tree-optimization/103721] [12 regression] wrong code generated for loop with conditional since r12-4790-g4b3a325f07acebf4

2021-12-15 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103721 Martin Liška changed: What|Removed |Added Summary|[12 regression] wrong code |[12 regression] wrong code