svf-lib 1.0.774 → 1.0.778
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.
- package/SVF-linux/Release-build/lib/libSvf.a +0 -0
- package/SVF-osx/Release-build/lib/CUDD/libCudd.a +0 -0
- package/SVF-osx/Release-build/lib/libSvf.a +0 -0
- package/SVF-osx/include/Graphs/ICFG.h +5 -3
- package/SVF-osx/include/MemoryModel/PointerAnalysis.h +0 -3
- package/SVF-osx/include/MemoryModel/SVFStatements.h +5 -0
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -46,6 +46,8 @@ typedef GenericGraph<ICFGNode,ICFGEdge> GenericICFGTy;
|
|
|
46
46
|
class ICFG : public GenericICFGTy
|
|
47
47
|
{
|
|
48
48
|
|
|
49
|
+
friend class ICFGBuilder;
|
|
50
|
+
|
|
49
51
|
public:
|
|
50
52
|
|
|
51
53
|
typedef Map<NodeID, ICFGNode *> ICFGNodeIDToNodeMapTy;
|
|
@@ -109,7 +111,7 @@ public:
|
|
|
109
111
|
/// update ICFG for indirect calls
|
|
110
112
|
void updateCallGraph(PTACallGraph* callgraph);
|
|
111
113
|
|
|
112
|
-
|
|
114
|
+
protected:
|
|
113
115
|
/// Remove a SVFG edge
|
|
114
116
|
inline void removeICFGEdge(ICFGEdge* edge)
|
|
115
117
|
{
|
|
@@ -157,6 +159,7 @@ public:
|
|
|
157
159
|
addGNode(node->getId(),node);
|
|
158
160
|
}
|
|
159
161
|
|
|
162
|
+
public:
|
|
160
163
|
/// Get a basic block ICFGNode
|
|
161
164
|
/// TODO:: need to fix the assertions
|
|
162
165
|
//@{
|
|
@@ -172,11 +175,10 @@ public:
|
|
|
172
175
|
|
|
173
176
|
FunExitBlockNode* getFunExitBlockNode(const SVFFunction* fun);
|
|
174
177
|
|
|
175
|
-
GlobalBlockNode* getGlobalBlockNode() const
|
|
178
|
+
inline GlobalBlockNode* getGlobalBlockNode() const
|
|
176
179
|
{
|
|
177
180
|
return globalBlockNode;
|
|
178
181
|
}
|
|
179
|
-
|
|
180
182
|
//@}
|
|
181
183
|
|
|
182
184
|
private:
|
|
@@ -293,9 +293,6 @@ protected:
|
|
|
293
293
|
virtual void validateExpectedFailureTests(std::string fun);
|
|
294
294
|
//@}
|
|
295
295
|
|
|
296
|
-
/// Whether to dump the graph for debugging purpose
|
|
297
|
-
bool dumpGraph();
|
|
298
|
-
|
|
299
296
|
/// Reset all object node as field-sensitive.
|
|
300
297
|
void resetObjFieldSensitive();
|
|
301
298
|
|
|
@@ -753,6 +753,11 @@ public:
|
|
|
753
753
|
void addOpVar(SVFVar* op){
|
|
754
754
|
opVars.push_back(op);
|
|
755
755
|
}
|
|
756
|
+
|
|
757
|
+
/// Return true if this is a phi at the function exit
|
|
758
|
+
/// to receive one or multiple return values of this function
|
|
759
|
+
bool isFunctionRetPhi() const;
|
|
760
|
+
|
|
756
761
|
virtual const std::string toString() const override;
|
|
757
762
|
};
|
|
758
763
|
|