Python: Use fastTC explicitly in 'localFlow' to avoid relying on the optimizer to always do this transformation.

This commit is contained in:
Mathias Vorreiter Pedersen
2026-07-29 15:29:22 +01:00
parent 46e738df8f
commit d2faab7fab

View File

@@ -20,9 +20,11 @@ predicate localFlowStep(Node nodeFrom, Node nodeTo) {
FlowSummaryImpl::Private::Steps::summaryThroughStepValue(nodeFrom, nodeTo, _)
}
private predicate localFlowStepPlus(Node node1, Node node2) = fastTC(localFlowStep/2)(node1, node2)
/**
* Holds if data flows from `source` to `sink` in zero or more local
* (intra-procedural) steps.
*/
pragma[inline]
predicate localFlow(Node source, Node sink) { localFlowStep*(source, sink) }
predicate localFlow(Node source, Node sink) { source = sink or localFlowStepPlus(source, sink) }