svf-lib 1.0.2515 → 1.0.2517
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
Binary file
|
|
@@ -640,8 +640,7 @@ protected:
|
|
|
640
640
|
/// Add an llvm PHI VFG node
|
|
641
641
|
inline void addIntraPHIVFGNode(const MultiOpndStmt* edge)
|
|
642
642
|
{
|
|
643
|
-
|
|
644
|
-
IntraPHIVFGNode* sNode = new IntraPHIVFGNode(totalVFGNode++,res);
|
|
643
|
+
IntraPHIVFGNode* sNode = new IntraPHIVFGNode(totalVFGNode++, edge->getRes());
|
|
645
644
|
u32_t pos = 0;
|
|
646
645
|
for(auto var : edge->getOpndVars())
|
|
647
646
|
{
|
|
@@ -649,14 +648,13 @@ protected:
|
|
|
649
648
|
pos++;
|
|
650
649
|
}
|
|
651
650
|
addVFGNode(sNode,edge->getICFGNode());
|
|
652
|
-
setDef(
|
|
653
|
-
SVFVarToIntraPHIVFGNodeMap[
|
|
651
|
+
setDef(edge->getRes(),sNode);
|
|
652
|
+
SVFVarToIntraPHIVFGNodeMap[edge->getRes()] = sNode;
|
|
654
653
|
}
|
|
655
654
|
/// Add a Compare VFG node
|
|
656
655
|
inline void addCmpVFGNode(const CmpStmt* edge)
|
|
657
656
|
{
|
|
658
|
-
|
|
659
|
-
CmpVFGNode* sNode = new CmpVFGNode(totalVFGNode++, res);
|
|
657
|
+
CmpVFGNode* sNode = new CmpVFGNode(totalVFGNode++, edge->getRes());
|
|
660
658
|
u32_t pos = 0;
|
|
661
659
|
for(auto var : edge->getOpndVars())
|
|
662
660
|
{
|
|
@@ -664,14 +662,13 @@ protected:
|
|
|
664
662
|
pos++;
|
|
665
663
|
}
|
|
666
664
|
addVFGNode(sNode,edge->getICFGNode());
|
|
667
|
-
setDef(
|
|
668
|
-
SVFVarToCmpVFGNodeMap[
|
|
665
|
+
setDef(edge->getRes(),sNode);
|
|
666
|
+
SVFVarToCmpVFGNodeMap[edge->getRes()] = sNode;
|
|
669
667
|
}
|
|
670
668
|
/// Add a BinaryOperator VFG node
|
|
671
669
|
inline void addBinaryOPVFGNode(const BinaryOPStmt* edge)
|
|
672
670
|
{
|
|
673
|
-
|
|
674
|
-
BinaryOPVFGNode* sNode = new BinaryOPVFGNode(totalVFGNode++, res);
|
|
671
|
+
BinaryOPVFGNode* sNode = new BinaryOPVFGNode(totalVFGNode++, edge->getRes());
|
|
675
672
|
u32_t pos = 0;
|
|
676
673
|
for(auto var : edge->getOpndVars())
|
|
677
674
|
{
|
|
@@ -679,8 +676,8 @@ protected:
|
|
|
679
676
|
pos++;
|
|
680
677
|
}
|
|
681
678
|
addVFGNode(sNode,edge->getICFGNode());
|
|
682
|
-
setDef(
|
|
683
|
-
SVFVarToBinaryOPVFGNodeMap[
|
|
679
|
+
setDef(edge->getRes(),sNode);
|
|
680
|
+
SVFVarToBinaryOPVFGNodeMap[edge->getRes()] = sNode;
|
|
684
681
|
}
|
|
685
682
|
/// Add a UnaryOperator VFG node
|
|
686
683
|
inline void addUnaryOPVFGNode(const UnaryOPStmt* edge)
|
|
@@ -867,10 +867,7 @@ public:
|
|
|
867
867
|
return opVars.at(pos);
|
|
868
868
|
}
|
|
869
869
|
/// Result SVFVar
|
|
870
|
-
|
|
871
|
-
{
|
|
872
|
-
return SVFStmt::getDstNode();
|
|
873
|
-
}
|
|
870
|
+
const ValVar* getRes() const;
|
|
874
871
|
|
|
875
872
|
NodeID getOpVarID(u32_t pos) const;
|
|
876
873
|
NodeID getResID() const;
|
|
Binary file
|