@@ -91,6 +91,10 @@ module MakeImplStage1<LocationSig Location, InputSig<Location> Lang> {
9191
9292 class ApNil extends Ap ;
9393
94+ predicate fwdFlow ( Nd node ) ;
95+
96+ predicate fwdFlow ( Nd node , Ap ap ) ;
97+
9498 predicate revFlow ( Nd node ) ;
9599
96100 predicate revFlow ( Nd node , Ap ap ) ;
@@ -634,7 +638,7 @@ module MakeImplStage1<LocationSig Location, InputSig<Location> Lang> {
634638 )
635639 }
636640
637- private predicate fwdFlow ( NodeEx node ) { fwdFlow ( node , _) }
641+ predicate fwdFlow ( NodeEx node ) { fwdFlow ( node , _) }
638642
639643 pragma [ nomagic]
640644 private predicate fwdFlowReadSet ( ContentSet c , NodeEx node , Cc cc ) {
@@ -1291,6 +1295,13 @@ module MakeImplStage1<LocationSig Location, InputSig<Location> Lang> {
12911295 import Stage1
12921296 import Stage1Common
12931297
1298+ predicate fwdFlow ( Nd node ) { Stage1:: fwdFlow ( node ) }
1299+
1300+ predicate fwdFlow ( Nd node , Ap ap ) {
1301+ Stage1:: fwdFlow ( node ) and
1302+ exists ( ap )
1303+ }
1304+
12941305 predicate revFlow ( NodeEx node , Ap ap ) { Stage1:: revFlow ( node ) and exists ( ap ) }
12951306
12961307 predicate toNormalSinkNode = toNormalSinkNodeEx / 1 ;
@@ -1395,6 +1406,10 @@ module MakeImplStage1<LocationSig Location, InputSig<Location> Lang> {
13951406
13961407 import Stage1Common
13971408
1409+ predicate fwdFlow ( Nd node ) { Stage1:: fwdFlow ( node .getNodeEx ( ) ) }
1410+
1411+ predicate fwdFlow ( Nd node , Ap ap ) { Stage1:: fwdFlow ( node .getNodeEx ( ) ) and exists ( ap ) }
1412+
13981413 predicate revFlow ( Nd node ) { Stage1:: revFlow ( node .getNodeEx ( ) ) }
13991414
14001415 predicate revFlow ( Nd node , Ap ap ) { Stage1:: revFlow ( node .getNodeEx ( ) ) and exists ( ap ) }
0 commit comments