C++: fix irreducible control flow logic

This commit is contained in:
Robert Marsh
2023-06-27 16:52:45 -04:00
committed by Robert Marsh
parent 656b4fc1aa
commit e90153fc47
2 changed files with 3 additions and 2 deletions

View File

@@ -70,7 +70,7 @@ predicate semBackEdge(SemSsaPhiNode phi, SemSsaVariable inp, SemSsaReadPositionP
// Conservatively assume that every edge is a back edge if we don't have dominance information.
(
phi.getBasicBlock().bbDominates(edge.getOrigBlock()) or
irreducibleSccEdge(phi.getBasicBlock(), edge.getOrigBlock()) or
irreducibleSccEdge(edge.getOrigBlock(), phi.getBasicBlock()) or
not edge.getOrigBlock().hasDominanceInformation()
)
}