svf-lib 1.0.1653 → 1.0.1654
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/svf/libSvfCore.a +0 -0
- package/SVF-linux/Release-build/svf-llvm/libSvfLLVM.a +0 -0
- package/SVF-linux/svf/include/MemoryModel/PointerAnalysisImpl.h +5 -0
- package/SVF-linux/svf/include/SVFIR/SVFIR.h +2 -1
- package/SVF-linux/svf/include/Util/NodeIDAllocator.h +6 -0
- package/SVF-linux/svf/include/WPA/VersionedFlowSensitive.h +8 -0
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
|
@@ -142,7 +142,12 @@ public:
|
|
|
142
142
|
//@{
|
|
143
143
|
virtual void writeToFile(const std::string& filename);
|
|
144
144
|
virtual void writeObjVarToFile(const std::string& filename);
|
|
145
|
+
virtual void writePtsResultToFile(std::fstream& f);
|
|
146
|
+
virtual void writeGepObjVarMapToFile(std::fstream& f);
|
|
145
147
|
virtual bool readFromFile(const std::string& filename);
|
|
148
|
+
virtual void readPtsResultFromFile(std::ifstream& f);
|
|
149
|
+
virtual void readGepObjVarMapFromFile(std::ifstream& f);
|
|
150
|
+
virtual void readAndSetObjFieldSensitivity(std::ifstream& f, const std::string& delimiterStr);
|
|
146
151
|
//@}
|
|
147
152
|
|
|
148
153
|
protected:
|
|
@@ -48,6 +48,7 @@ class SVFIR : public IRGraph
|
|
|
48
48
|
friend class TypeBasedHeapCloning;
|
|
49
49
|
friend class SVFIRWriter;
|
|
50
50
|
friend class SVFIRReader;
|
|
51
|
+
friend class BVDataPTAImpl;
|
|
51
52
|
|
|
52
53
|
public:
|
|
53
54
|
typedef Set<const CallICFGNode*> CallSiteSet;
|
|
@@ -560,7 +561,7 @@ private:
|
|
|
560
561
|
/// Add a temp field value node, this method can only invoked by getGepValVar
|
|
561
562
|
NodeID addGepValNode(const SVFValue* curInst,const SVFValue* val, const AccessPath& ap, NodeID i, const SVFType* type);
|
|
562
563
|
/// Add a field obj node, this method can only invoked by getGepObjVar
|
|
563
|
-
NodeID addGepObjNode(const MemObj* obj, const APOffset& apOffset);
|
|
564
|
+
NodeID addGepObjNode(const MemObj* obj, const APOffset& apOffset, const NodeID gepId);
|
|
564
565
|
/// Add a field-insensitive node, this method can only invoked by getFIGepObjNode
|
|
565
566
|
NodeID addFIObjNode(const MemObj* obj);
|
|
566
567
|
//@}
|
|
@@ -181,6 +181,14 @@ private:
|
|
|
181
181
|
/// Dumps maps consume and yield.
|
|
182
182
|
void dumpLocVersionMaps(void) const;
|
|
183
183
|
|
|
184
|
+
void solveAndwritePtsToFile(const std::string& filename) override;
|
|
185
|
+
|
|
186
|
+
void writeVersionedAnalysisResultToFile(const std::string& filename);
|
|
187
|
+
|
|
188
|
+
void readVersionedAnalysisResultFromFile(std::ifstream& F);
|
|
189
|
+
|
|
190
|
+
void readPtsFromFile(const std::string& filename) override;
|
|
191
|
+
|
|
184
192
|
/// Dumps a MeldVersion to stdout.
|
|
185
193
|
static void dumpMeldVersion(MeldVersion &v);
|
|
186
194
|
|