@@ -1145,19 +1145,13 @@ module Impl<FullStateConfigSig Config> {
11451145 import Param
11461146
11471147 /* Begin: Stage logic. */
1148- // use an alias as a workaround for bad functionality-induced joins
1149- pragma [ nomagic]
1150- private predicate revFlowApAlias ( NodeEx node , ApApprox apa ) {
1151- PrevStage:: revFlowAp ( node , apa )
1152- }
1153-
11541148 pragma [ nomagic]
11551149 private predicate flowIntoCallApa (
11561150 DataFlowCall call , ArgNodeEx arg , ParamNodeEx p , boolean allowsFieldFlow , ApApprox apa
11571151 ) {
11581152 flowIntoCall ( call , arg , p , allowsFieldFlow ) and
11591153 PrevStage:: revFlowAp ( p , pragma [ only_bind_into ] ( apa ) ) and
1160- revFlowApAlias ( arg , pragma [ only_bind_into ] ( apa ) )
1154+ PrevStage :: revFlowAp ( arg , pragma [ only_bind_into ] ( apa ) )
11611155 }
11621156
11631157 pragma [ nomagic]
@@ -1167,7 +1161,7 @@ module Impl<FullStateConfigSig Config> {
11671161 ) {
11681162 flowOutOfCall ( call , ret , kind , out , allowsFieldFlow ) and
11691163 PrevStage:: revFlowAp ( out , pragma [ only_bind_into ] ( apa ) ) and
1170- revFlowApAlias ( ret , pragma [ only_bind_into ] ( apa ) )
1164+ PrevStage :: revFlowAp ( ret , pragma [ only_bind_into ] ( apa ) )
11711165 }
11721166
11731167 pragma [ nomagic]
@@ -1695,16 +1689,6 @@ module Impl<FullStateConfigSig Config> {
16951689 pragma [ nomagic]
16961690 predicate revFlowAp ( NodeEx node , Ap ap ) { revFlow ( node , _, _, _, ap ) }
16971691
1698- // use an alias as a workaround for bad functionality-induced joins
1699- pragma [ nomagic]
1700- additional predicate revFlowAlias ( NodeEx node ) { revFlow ( node , _, _, _, _) }
1701-
1702- // use an alias as a workaround for bad functionality-induced joins
1703- pragma [ nomagic]
1704- additional predicate revFlowAlias ( NodeEx node , FlowState state , Ap ap ) {
1705- revFlow ( node , state , ap )
1706- }
1707-
17081692 private predicate fwdConsCand ( TypedContent tc , Ap ap ) { storeStepFwd ( _, ap , tc , _, _) }
17091693
17101694 private predicate revConsCand ( TypedContent tc , Ap ap ) { storeStepCand ( _, ap , tc , _, _) }
@@ -1978,7 +1962,7 @@ module Impl<FullStateConfigSig Config> {
19781962 ) {
19791963 flowOutOfCallNodeCand1 ( call , node1 , kind , node2 , allowsFieldFlow ) and
19801964 Stage2:: revFlow ( node2 ) and
1981- Stage2:: revFlowAlias ( node1 )
1965+ Stage2:: revFlow ( node1 )
19821966 }
19831967
19841968 pragma [ nomagic]
@@ -1987,7 +1971,7 @@ module Impl<FullStateConfigSig Config> {
19871971 ) {
19881972 flowIntoCallNodeCand1 ( call , node1 , node2 , allowsFieldFlow ) and
19891973 Stage2:: revFlow ( node2 ) and
1990- Stage2:: revFlowAlias ( node1 )
1974+ Stage2:: revFlow ( node1 )
19911975 }
19921976
19931977 private module LocalFlowBigStep {
@@ -2069,11 +2053,11 @@ module Impl<FullStateConfigSig Config> {
20692053 additionalLocalFlowStepNodeCand1 ( node1 , node2 ) and
20702054 state1 = state2 and
20712055 Stage2:: revFlow ( node1 , pragma [ only_bind_into ] ( state1 ) , false ) and
2072- Stage2:: revFlowAlias ( node2 , pragma [ only_bind_into ] ( state2 ) , false )
2056+ Stage2:: revFlow ( node2 , pragma [ only_bind_into ] ( state2 ) , false )
20732057 or
20742058 additionalLocalStateStep ( node1 , state1 , node2 , state2 ) and
20752059 Stage2:: revFlow ( node1 , state1 , false ) and
2076- Stage2:: revFlowAlias ( node2 , state2 , false )
2060+ Stage2:: revFlow ( node2 , state2 , false )
20772061 }
20782062
20792063 /**
@@ -2266,7 +2250,7 @@ module Impl<FullStateConfigSig Config> {
22662250 ) {
22672251 localFlowBigStep ( node1 , state1 , node2 , state2 , preservesValue , ap .getType ( ) , _) and
22682252 PrevStage:: revFlow ( node1 , pragma [ only_bind_into ] ( state1 ) , _) and
2269- PrevStage:: revFlowAlias ( node2 , pragma [ only_bind_into ] ( state2 ) , _) and
2253+ PrevStage:: revFlow ( node2 , pragma [ only_bind_into ] ( state2 ) , _) and
22702254 exists ( lcc )
22712255 }
22722256
@@ -2277,7 +2261,7 @@ module Impl<FullStateConfigSig Config> {
22772261 exists ( FlowState state |
22782262 flowOutOfCallNodeCand2 ( call , node1 , kind , node2 , allowsFieldFlow ) and
22792263 PrevStage:: revFlow ( node2 , pragma [ only_bind_into ] ( state ) , _) and
2280- PrevStage:: revFlowAlias ( node1 , pragma [ only_bind_into ] ( state ) , _)
2264+ PrevStage:: revFlow ( node1 , pragma [ only_bind_into ] ( state ) , _)
22812265 )
22822266 }
22832267
@@ -2288,7 +2272,7 @@ module Impl<FullStateConfigSig Config> {
22882272 exists ( FlowState state |
22892273 flowIntoCallNodeCand2 ( call , node1 , node2 , allowsFieldFlow ) and
22902274 PrevStage:: revFlow ( node2 , pragma [ only_bind_into ] ( state ) , _) and
2291- PrevStage:: revFlowAlias ( node1 , pragma [ only_bind_into ] ( state ) , _)
2275+ PrevStage:: revFlow ( node1 , pragma [ only_bind_into ] ( state ) , _)
22922276 )
22932277 }
22942278
@@ -2590,7 +2574,7 @@ module Impl<FullStateConfigSig Config> {
25902574 ) {
25912575 localFlowBigStep ( node1 , state1 , node2 , state2 , preservesValue , ap .getType ( ) , lcc ) and
25922576 PrevStage:: revFlow ( node1 , pragma [ only_bind_into ] ( state1 ) , _) and
2593- PrevStage:: revFlowAlias ( node2 , pragma [ only_bind_into ] ( state2 ) , _)
2577+ PrevStage:: revFlow ( node2 , pragma [ only_bind_into ] ( state2 ) , _)
25942578 }
25952579
25962580 pragma [ nomagic]
@@ -2600,7 +2584,7 @@ module Impl<FullStateConfigSig Config> {
26002584 exists ( FlowState state |
26012585 flowOutOfCallNodeCand2 ( call , node1 , kind , node2 , allowsFieldFlow ) and
26022586 PrevStage:: revFlow ( node2 , pragma [ only_bind_into ] ( state ) , _) and
2603- PrevStage:: revFlowAlias ( node1 , pragma [ only_bind_into ] ( state ) , _)
2587+ PrevStage:: revFlow ( node1 , pragma [ only_bind_into ] ( state ) , _)
26042588 )
26052589 }
26062590
@@ -2611,7 +2595,7 @@ module Impl<FullStateConfigSig Config> {
26112595 exists ( FlowState state |
26122596 flowIntoCallNodeCand2 ( call , node1 , node2 , allowsFieldFlow ) and
26132597 PrevStage:: revFlow ( node2 , pragma [ only_bind_into ] ( state ) , _) and
2614- PrevStage:: revFlowAlias ( node1 , pragma [ only_bind_into ] ( state ) , _)
2598+ PrevStage:: revFlow ( node1 , pragma [ only_bind_into ] ( state ) , _)
26152599 )
26162600 }
26172601
0 commit comments