[Bug tree-optimization/107876] [13 Regression] ICE in verify_dominators, at dominance.cc:1184 (error: dominator of 4 should be 14, not 16) since r13-3749-g7314b98b1bcd382c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107876 Richard Biener changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED Keywords|testsuite-fail | --- Comment #9 from Richard Biener --- Please open new bugs for testsuite fails, the verify_dominator ICE is fixed.
[Bug tree-optimization/107876] [13 Regression] ICE in verify_dominators, at dominance.cc:1184 (error: dominator of 4 should be 14, not 16) since r13-3749-g7314b98b1bcd382c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107876 Eric Gallager changed: What|Removed |Added Resolution|FIXED |--- Keywords||testsuite-fail CC||egallager at gcc dot gnu.org Status|RESOLVED|REOPENED --- Comment #8 from Eric Gallager --- (In reply to Francois-Xavier Coudert from comment #7) > The test case (g++.dg/tree-ssa/pr107876.C) fails on aarch64-darwin. > > FAIL: g++.dg/tree-ssa/pr107876.C -std=gnu++14 scan-tree-dump unswitch > "unswitching loop 1 on .switch. with condition: i_[0-9]+\\(D\\) == 2" > FAIL: g++.dg/tree-ssa/pr107876.C -std=gnu++17 scan-tree-dump unswitch > "unswitching loop 1 on .switch. with condition: i_[0-9]+\\(D\\) == 2" > FAIL: g++.dg/tree-ssa/pr107876.C -std=gnu++20 scan-tree-dump unswitch > "unswitching loop 1 on .switch. with condition: i_[0-9]+\\(D\\) == 2" > > The output says: > > ;; Function test17 (_Z6test17i, funcdef_no=0, decl_uid=4194, cgraph_uid=1, > symbol_order=0) > > Estimating # of iterations of loop 1 > g++.dg/tree-ssa/pr107876.C:21:7: optimized: unswitching loop 1 on 'if' with > condition: i_7(D) == 0 > g++.dg/tree-ssa/pr107876.C:21:7: note: optimized sizes estimated to 0 (true) > and 0 (false) from original size 16 reopening, then
[Bug tree-optimization/107876] [13 Regression] ICE in verify_dominators, at dominance.cc:1184 (error: dominator of 4 should be 14, not 16) since r13-3749-g7314b98b1bcd382c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107876 Francois-Xavier Coudert changed: What|Removed |Added CC||fxcoudert at gcc dot gnu.org --- Comment #7 from Francois-Xavier Coudert --- The test case (g++.dg/tree-ssa/pr107876.C) fails on aarch64-darwin. FAIL: g++.dg/tree-ssa/pr107876.C -std=gnu++14 scan-tree-dump unswitch "unswitching loop 1 on .switch. with condition: i_[0-9]+\\(D\\) == 2" FAIL: g++.dg/tree-ssa/pr107876.C -std=gnu++17 scan-tree-dump unswitch "unswitching loop 1 on .switch. with condition: i_[0-9]+\\(D\\) == 2" FAIL: g++.dg/tree-ssa/pr107876.C -std=gnu++20 scan-tree-dump unswitch "unswitching loop 1 on .switch. with condition: i_[0-9]+\\(D\\) == 2" The output says: ;; Function test17 (_Z6test17i, funcdef_no=0, decl_uid=4194, cgraph_uid=1, symbol_order=0) Estimating # of iterations of loop 1 g++.dg/tree-ssa/pr107876.C:21:7: optimized: unswitching loop 1 on 'if' with condition: i_7(D) == 0 g++.dg/tree-ssa/pr107876.C:21:7: note: optimized sizes estimated to 0 (true) and 0 (false) from original size 16
[Bug tree-optimization/107876] [13 Regression] ICE in verify_dominators, at dominance.cc:1184 (error: dominator of 4 should be 14, not 16) since r13-3749-g7314b98b1bcd382c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107876 Richard Biener changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED|RESOLVED --- Comment #6 from Richard Biener --- Fixed.
[Bug tree-optimization/107876] [13 Regression] ICE in verify_dominators, at dominance.cc:1184 (error: dominator of 4 should be 14, not 16) since r13-3749-g7314b98b1bcd382c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107876 --- Comment #5 from CVS Commits --- The master branch has been updated by Richard Biener : https://gcc.gnu.org/g:238cf114de16518c6569f0cdd2c4d6211ac98a74 commit r13-4317-g238cf114de16518c6569f0cdd2c4d6211ac98a74 Author: Richard Biener Date: Mon Nov 28 09:19:33 2022 +0100 tree-optimization/107876 - unswitching of switch The following shows a missed update of dominators when unswitching removes unreachable edges from switch stmts it unswitches. Fixed by wiping dominator info in that case. PR tree-optimization/107876 * tree-ssa-loop-unswitch.cc (clean_up_after_unswitching): Wipe dominator info if we removed an edge. * g++.dg/tree-ssa/pr107876.C: New testcase.
[Bug tree-optimization/107876] [13 Regression] ICE in verify_dominators, at dominance.cc:1184 (error: dominator of 4 should be 14, not 16) since r13-3749-g7314b98b1bcd382c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107876 --- Comment #4 from Richard Biener --- It's a latent issue before this rev. since clean_up_after_unswitching ends up removing all exit edges from one copy, keeping an infinite loop. The function uses remove_edge () for this, not remove_edge_and_dominated_blocks. Testing a patch.
[Bug tree-optimization/107876] [13 Regression] ICE in verify_dominators, at dominance.cc:1184 (error: dominator of 4 should be 14, not 16) since r13-3749-g7314b98b1bcd382c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107876 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #3 from Richard Biener --- Mine.
[Bug tree-optimization/107876] [13 Regression] ICE in verify_dominators, at dominance.cc:1184 (error: dominator of 4 should be 14, not 16) since r13-3749-g7314b98b1bcd382c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107876 Martin Liška changed: What|Removed |Added Summary|[13 Regression] ICE in |[13 Regression] ICE in |verify_dominators, at |verify_dominators, at |dominance.cc:1184 (error: |dominance.cc:1184 (error: |dominator of 4 should be|dominator of 4 should be |14, not 16) |14, not 16) since ||r13-3749-g7314b98b1bcd382c CC||marxin at gcc dot gnu.org, ||rguenth at gcc dot gnu.org --- Comment #2 from Martin Liška --- Started with r13-3749-g7314b98b1bcd382c.