diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticSSA.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticSSA.qll index a02760a9f2a..1a5a30d1454 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticSSA.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/new/internal/semantic/SemanticSSA.qll @@ -78,12 +78,13 @@ predicate semBackEdge(SemSsaPhiNode phi, SemSsaVariable inp, SemSsaReadPositionP /** * Holds if the edge from b1 to b2 is part of a multiple-entry cycle in an irreducible control flow * graph. - * + * * An ireducible control flow graph is one where the usual dominance-based back edge detection does * not work, because there is a cycle with multiple entry points, meaning there are * mutually-reachable basic blocks where neither dominates the other. For such a graph, we first - * all detectable back-edges using the normal condition that the predecessor block is dominated by - * the successor block, then mark all edges in a cycle in the resulting graph as back edges. + * remove all detectable back-edges using the normal condition that the predecessor block is + * dominated by the successor block, then mark all edges in a cycle in the resulting graph as back + * edges. */ private predicate irreducibleSccEdge(SemBasicBlock b1, SemBasicBlock b2) { trimmedEdge(b1, b2) and trimmedEdge+(b2, b1)