@@ -1515,17 +1515,17 @@ module Make<LocationSig Location, InputSig<Location> Input> {
1515
1515
1516
1516
final private class DefinitionExtFinal = DefinitionExt ;
1517
1517
1518
- /** An SSA definition into which another SSA definition may flow . */
1519
- private class SsaInputDefinitionExt extends DefinitionExtFinal {
1520
- SsaInputDefinitionExt ( ) {
1518
+ /** An SSA definition which is either a phi node or a phi read node . */
1519
+ private class SsaPhiExt extends DefinitionExtFinal {
1520
+ SsaPhiExt ( ) {
1521
1521
this instanceof PhiNode
1522
1522
or
1523
1523
this instanceof PhiReadNode
1524
1524
}
1525
1525
}
1526
1526
1527
1527
cached
1528
- private Definition getAPhiInputDef ( SsaInputDefinitionExt phi , BasicBlock bb ) {
1528
+ private Definition getAPhiInputDef ( SsaPhiExt phi , BasicBlock bb ) {
1529
1529
exists ( SourceVariable v , BasicBlock bbDef |
1530
1530
phi .definesAt ( v , bbDef , _, _) and
1531
1531
getABasicBlockPredecessor ( bbDef ) = bb and
@@ -1546,9 +1546,7 @@ module Make<LocationSig Location, InputSig<Location> Input> {
1546
1546
)
1547
1547
} or
1548
1548
TSsaDefinitionNode ( DefinitionExt def ) or
1549
- TSsaInputNode ( SsaInputDefinitionExt phi , BasicBlock input ) {
1550
- exists ( getAPhiInputDef ( phi , input ) )
1551
- }
1549
+ TSsaInputNode ( SsaPhiExt phi , BasicBlock input ) { exists ( getAPhiInputDef ( phi , input ) ) }
1552
1550
1553
1551
/**
1554
1552
* A data flow node that we need to reference in the value step relation.
@@ -1750,7 +1748,7 @@ module Make<LocationSig Location, InputSig<Location> Input> {
1750
1748
* both inputs into the phi read node after the outer condition are guarded.
1751
1749
*/
1752
1750
private class SsaInputNodeImpl extends SsaNodeImpl , TSsaInputNode {
1753
- private SsaInputDefinitionExt def_ ;
1751
+ private SsaPhiExt def_ ;
1754
1752
private BasicBlock input_ ;
1755
1753
1756
1754
SsaInputNodeImpl ( ) { this = TSsaInputNode ( def_ , input_ ) }
@@ -1761,9 +1759,9 @@ module Make<LocationSig Location, InputSig<Location> Input> {
1761
1759
input = input_
1762
1760
}
1763
1761
1764
- SsaInputDefinitionExt getPhi ( ) { result = def_ }
1762
+ SsaPhiExt getPhi ( ) { result = def_ }
1765
1763
1766
- deprecated override SsaInputDefinitionExt getDefinitionExt ( ) { result = def_ }
1764
+ deprecated override SsaPhiExt getDefinitionExt ( ) { result = def_ }
1767
1765
1768
1766
override BasicBlock getBasicBlock ( ) { result = input_ }
1769
1767
@@ -1903,7 +1901,7 @@ module Make<LocationSig Location, InputSig<Location> Input> {
1903
1901
1904
1902
pragma [ nomagic]
1905
1903
private Definition getAPhiInputDef ( SsaInputNodeImpl n ) {
1906
- exists ( SsaInputDefinitionExt phi , BasicBlock bb |
1904
+ exists ( SsaPhiExt phi , BasicBlock bb |
1907
1905
result = getAPhiInputDef ( phi , bb ) and
1908
1906
n .isInputInto ( phi , bb )
1909
1907
)
@@ -1997,7 +1995,7 @@ module Make<LocationSig Location, InputSig<Location> Input> {
1997
1995
)
1998
1996
or
1999
1997
// guard controls input block to a phi node
2000
- exists ( SsaInputDefinitionExt phi |
1998
+ exists ( SsaPhiExt phi |
2001
1999
def = getAPhiInputDef ( result ) and
2002
2000
result .( SsaInputNodeImpl ) .isInputInto ( phi , bb )
2003
2001
|
0 commit comments