@@ -1661,7 +1661,16 @@ module Make<LocationSig Location, InputSig<Location> Input> {
1661
1661
private newtype TNode =
1662
1662
TWriteDefSource ( WriteDefinition def ) { DfInput:: ssaDefHasSource ( def ) } or
1663
1663
TExprNode ( DfInput:: Expr e , Boolean isPost ) { e = DfInput:: getARead ( _) } or
1664
- TSsaDefinitionNode ( DefinitionExt def ) { not phiHasUniqNextNode ( def ) } or
1664
+ TSsaDefinitionNode ( DefinitionExt def ) {
1665
+ not phiHasUniqNextNode ( def ) and
1666
+ if DfInput:: includeWriteDefsInFlowStep ( )
1667
+ then any ( )
1668
+ else (
1669
+ def instanceof PhiNode or
1670
+ def instanceof PhiReadNode or
1671
+ DfInput:: allowFlowIntoUncertainDef ( def )
1672
+ )
1673
+ } or
1665
1674
TSsaInputNode ( SsaPhiExt phi , BasicBlock input ) { relevantPhiInputNode ( phi , input ) }
1666
1675
1667
1676
/**
@@ -1904,14 +1913,7 @@ module Make<LocationSig Location, InputSig<Location> Input> {
1904
1913
exists ( DefinitionExt def |
1905
1914
nodeFrom .( SsaDefinitionExtNodeImpl ) .getDefExt ( ) = def and
1906
1915
def .definesAt ( v , bb , i , _) and
1907
- isUseStep = false and
1908
- if DfInput:: includeWriteDefsInFlowStep ( )
1909
- then any ( )
1910
- else (
1911
- def instanceof PhiNode or
1912
- def instanceof PhiReadNode or
1913
- DfInput:: allowFlowIntoUncertainDef ( def )
1914
- )
1916
+ isUseStep = false
1915
1917
)
1916
1918
or
1917
1919
[ nodeFrom , nodeFrom .( ExprPostUpdateNode ) .getPreUpdateNode ( ) ] .( ReadNode ) .readsAt ( bb , i , v ) and
0 commit comments