File tree Expand file tree Collapse file tree 1 file changed +15
-15
lines changed
cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal Expand file tree Collapse file tree 1 file changed +15
-15
lines changed Original file line number Diff line number Diff line change @@ -712,21 +712,6 @@ class SsaSynthNode extends Node, TSsaSynthNode {
712
712
override string toStringImpl ( ) { result = node .toString ( ) }
713
713
}
714
714
715
- /**
716
- * Holds if `n` has a local flow step that goes through a back-edge.
717
- */
718
- cached
719
- predicate flowsToBackEdge ( Node n ) {
720
- exists ( Node succ , IRBlock bb1 , IRBlock bb2 |
721
- Ssa:: ssaFlow ( n , succ ) and
722
- bb1 = n .getBasicBlock ( ) and
723
- bb2 = succ .getBasicBlock ( ) and
724
- bb1 != bb2 and
725
- bb2 .dominates ( bb1 ) and
726
- bb1 .getASuccessor + ( ) = bb2
727
- )
728
- }
729
-
730
715
/**
731
716
* INTERNAL: do not use.
732
717
*
@@ -1727,6 +1712,21 @@ predicate hasInstructionAndIndex(
1727
1712
1728
1713
cached
1729
1714
private module Cached {
1715
+ /**
1716
+ * Holds if `n` has a local flow step that goes through a back-edge.
1717
+ */
1718
+ cached
1719
+ predicate flowsToBackEdge ( Node n ) {
1720
+ exists ( Node succ , IRBlock bb1 , IRBlock bb2 |
1721
+ Ssa:: ssaFlow ( n , succ ) and
1722
+ bb1 = n .getBasicBlock ( ) and
1723
+ bb2 = succ .getBasicBlock ( ) and
1724
+ bb1 != bb2 and
1725
+ bb2 .dominates ( bb1 ) and
1726
+ bb1 .getASuccessor + ( ) = bb2
1727
+ )
1728
+ }
1729
+
1730
1730
/**
1731
1731
* Holds if data flows from `nodeFrom` to `nodeTo` in exactly one local
1732
1732
* (intra-procedural) step. This relation is only used for local dataflow
You can’t perform that action at this time.
0 commit comments