svf-lib 1.0.2625 → 1.0.2627
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-aarch64/include/Graphs/GraphWriter.h +7 -1
- package/SVF-linux-aarch64/lib/libSvfCore.so.3.4 +0 -0
- package/SVF-linux-x86_64/bin/ae +0 -0
- package/SVF-linux-x86_64/bin/cfl +0 -0
- package/SVF-linux-x86_64/bin/dvf +0 -0
- package/SVF-linux-x86_64/bin/mta +0 -0
- package/SVF-linux-x86_64/bin/saber +0 -0
- package/SVF-linux-x86_64/bin/svf-ex +0 -0
- package/SVF-linux-x86_64/bin/wpa +0 -0
- package/SVF-linux-x86_64/include/CFL/CFLAlias.h +1 -1
- package/SVF-linux-x86_64/include/CFL/CFLBase.h +3 -1
- package/SVF-linux-x86_64/include/CFL/CFLVF.h +1 -1
- package/SVF-linux-x86_64/include/DDA/FlowDDA.h +1 -1
- package/SVF-linux-x86_64/include/Graphs/GraphWriter.h +1 -0
- package/SVF-linux-x86_64/include/Graphs/SCC.h +1 -0
- package/SVF-linux-x86_64/include/MTA/MTA.h +1 -0
- package/SVF-linux-x86_64/include/MTA/TCT.h +1 -0
- package/SVF-linux-x86_64/include/MemoryModel/PTATY.h +55 -0
- package/SVF-linux-x86_64/include/MemoryModel/PointerAnalysis.h +2 -40
- package/SVF-linux-x86_64/include/MemoryModel/PointerAnalysisImpl.h +8 -14
- package/SVF-linux-x86_64/include/SVF-LLVM/LLVMModule.h +2 -0
- package/SVF-linux-x86_64/include/Util/Options.h +9 -6
- package/SVF-linux-x86_64/include/Util/SVFStat.h +3 -1
- package/SVF-linux-x86_64/include/WPA/Andersen.h +16 -15
- package/SVF-linux-x86_64/include/WPA/AndersenPWC.h +3 -2
- package/SVF-linux-x86_64/include/WPA/FlowSensitive.h +2 -2
- package/SVF-linux-x86_64/include/WPA/VersionedFlowSensitive.h +3 -2
- package/SVF-linux-x86_64/lib/cmake/SVF/SVFTargets.cmake +1 -1
- package/SVF-linux-x86_64/lib/libSvfCore.so.3.4 +0 -0
- package/SVF-linux-x86_64/lib/libSvfLLVM.so.3.4 +0 -0
- package/package.json +1 -1
|
@@ -178,7 +178,13 @@ public:
|
|
|
178
178
|
|
|
179
179
|
if (!DTraits.renderGraphFromBottomUp())
|
|
180
180
|
{
|
|
181
|
-
|
|
181
|
+
std::string label = DTraits.getNodeLabel(Node, G);
|
|
182
|
+
if (label.length() > Options::MaxNodeLabelLength())
|
|
183
|
+
{
|
|
184
|
+
label = label.substr(0, Options::MaxNodeLabelLength()) + "...";
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
O << DOT::EscapeStr(label);
|
|
182
188
|
|
|
183
189
|
// If we should include the address of the node in the label, do so now.
|
|
184
190
|
std::string Id = DTraits.getNodeIdentifierLabel(Node, G);
|
|
Binary file
|
package/SVF-linux-x86_64/bin/ae
CHANGED
|
Binary file
|
package/SVF-linux-x86_64/bin/cfl
CHANGED
|
Binary file
|
package/SVF-linux-x86_64/bin/dvf
CHANGED
|
Binary file
|
package/SVF-linux-x86_64/bin/mta
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/SVF-linux-x86_64/bin/wpa
CHANGED
|
Binary file
|
|
@@ -36,8 +36,10 @@
|
|
|
36
36
|
#include "CFL/CFLGraphBuilder.h"
|
|
37
37
|
#include "CFL/CFLGramGraphChecker.h"
|
|
38
38
|
#include "MemoryModel/PointerAnalysis.h"
|
|
39
|
+
#include "MemoryModel/PointerAnalysisImpl.h"
|
|
39
40
|
#include "Graphs/ConsG.h"
|
|
40
41
|
#include "Util/Options.h"
|
|
42
|
+
#include "Util/PTAStat.h"
|
|
41
43
|
#include "SVFIR/SVFType.h"
|
|
42
44
|
|
|
43
45
|
namespace SVF
|
|
@@ -50,7 +52,7 @@ class CFLBase : public BVDataPTAImpl
|
|
|
50
52
|
{
|
|
51
53
|
|
|
52
54
|
public:
|
|
53
|
-
CFLBase(SVFIR* ir,
|
|
55
|
+
CFLBase(SVFIR* ir, PTATY pty) : BVDataPTAImpl(ir, pty), svfir(ir), graph(nullptr), grammar(nullptr), solver(nullptr)
|
|
54
56
|
{
|
|
55
57
|
}
|
|
56
58
|
|
|
@@ -58,7 +58,7 @@ public:
|
|
|
58
58
|
typedef BVDataPTAImpl::CallEdgeMap CallEdgeMap;
|
|
59
59
|
typedef BVDataPTAImpl::FunctionSet FunctionSet;
|
|
60
60
|
/// Constructor
|
|
61
|
-
FlowDDA(SVFIR* _pag, DDAClient* client): BVDataPTAImpl(_pag,
|
|
61
|
+
FlowDDA(SVFIR* _pag, DDAClient* client): BVDataPTAImpl(_pag, PTATY::FlowS_DDA),
|
|
62
62
|
DDAVFSolver<NodeID,PointsTo,LocDPItem>(),
|
|
63
63
|
_client(client)
|
|
64
64
|
{
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#ifndef PTATY_H
|
|
2
|
+
#define PTATY_H
|
|
3
|
+
|
|
4
|
+
namespace SVF
|
|
5
|
+
{
|
|
6
|
+
|
|
7
|
+
/// Pointer analysis type list
|
|
8
|
+
enum PTATY
|
|
9
|
+
{
|
|
10
|
+
// Whole program analysis
|
|
11
|
+
Andersen_BASE, ///< Base Andersen PTA
|
|
12
|
+
Andersen_WPA, ///< Andersen PTA
|
|
13
|
+
AndersenSCD_WPA, ///< Selective cycle detection andersen-style WPA
|
|
14
|
+
AndersenSFR_WPA, ///< Stride-based field representation
|
|
15
|
+
AndersenWaveDiff_WPA, ///< Diff wave propagation andersen-style WPA
|
|
16
|
+
Steensgaard_WPA, ///< Steensgaard PTA
|
|
17
|
+
CSCallString_WPA, ///< Call string based context sensitive WPA
|
|
18
|
+
CSSummary_WPA, ///< Summary based context sensitive WPA
|
|
19
|
+
FSDATAFLOW_WPA, ///< Traditional Dataflow-based flow sensitive WPA
|
|
20
|
+
FSSPARSE_WPA, ///< Sparse flow sensitive WPA
|
|
21
|
+
VFS_WPA, ///< Versioned sparse flow-sensitive WPA
|
|
22
|
+
FSCS_WPA, ///< Flow-, context- sensitive WPA
|
|
23
|
+
CFLFICI_WPA, ///< Flow-, context-, insensitive CFL-reachability-based analysis
|
|
24
|
+
CFLFSCI_WPA, ///< Flow-insensitive, context-sensitive CFL-reachability-based analysis
|
|
25
|
+
CFLFSCS_WPA, ///< Flow-, context-, CFL-reachability-based analysis
|
|
26
|
+
TypeCPP_WPA, ///< Type-based analysis for C++
|
|
27
|
+
|
|
28
|
+
// Demand driven analysis
|
|
29
|
+
FieldS_DDA, ///< Field sensitive DDA
|
|
30
|
+
FlowS_DDA, ///< Flow sensitive DDA
|
|
31
|
+
PathS_DDA, ///< Guarded value-flow DDA
|
|
32
|
+
Cxt_DDA, ///< context sensitive DDA
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
Default_PTA ///< default pta without any analysis
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/// Implementation type: BVDataPTAImpl or CondPTAImpl.
|
|
39
|
+
enum PTAImplTy
|
|
40
|
+
{
|
|
41
|
+
BaseImpl, ///< Represents PointerAnalaysis.
|
|
42
|
+
BVDataImpl, ///< Represents BVDataPTAImpl.
|
|
43
|
+
CondImpl, ///< Represents CondPTAImpl.
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/// How the PTData used is implemented.
|
|
47
|
+
enum PTBackingType
|
|
48
|
+
{
|
|
49
|
+
Mutable,
|
|
50
|
+
Persistent,
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
} // namespace SVF
|
|
54
|
+
|
|
55
|
+
#endif // PTATY_H
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
#include "MemoryModel/MutablePointsToDS.h"
|
|
42
42
|
#include "MemoryModel/PersistentPointsToDS.h"
|
|
43
43
|
#include "MemoryModel/PointsTo.h"
|
|
44
|
+
#include "MemoryModel/PTATY.h"
|
|
44
45
|
#include "SVFIR/SVFIR.h"
|
|
45
46
|
|
|
46
47
|
namespace SVF
|
|
@@ -57,45 +58,6 @@ class PointerAnalysis
|
|
|
57
58
|
{
|
|
58
59
|
|
|
59
60
|
public:
|
|
60
|
-
/// Pointer analysis type list
|
|
61
|
-
enum PTATY
|
|
62
|
-
{
|
|
63
|
-
// Whole program analysis
|
|
64
|
-
Andersen_BASE, ///< Base Andersen PTA
|
|
65
|
-
Andersen_WPA, ///< Andersen PTA
|
|
66
|
-
AndersenSCD_WPA, ///< Selective cycle detection andersen-style WPA
|
|
67
|
-
AndersenSFR_WPA, ///< Stride-based field representation
|
|
68
|
-
AndersenWaveDiff_WPA, ///< Diff wave propagation andersen-style WPA
|
|
69
|
-
Steensgaard_WPA, ///< Steensgaard PTA
|
|
70
|
-
CSCallString_WPA, ///< Call string based context sensitive WPA
|
|
71
|
-
CSSummary_WPA, ///< Summary based context sensitive WPA
|
|
72
|
-
FSDATAFLOW_WPA, ///< Traditional Dataflow-based flow sensitive WPA
|
|
73
|
-
FSSPARSE_WPA, ///< Sparse flow sensitive WPA
|
|
74
|
-
VFS_WPA, ///< Versioned sparse flow-sensitive WPA
|
|
75
|
-
FSCS_WPA, ///< Flow-, context- sensitive WPA
|
|
76
|
-
CFLFICI_WPA, ///< Flow-, context-, insensitive CFL-reachability-based analysis
|
|
77
|
-
CFLFSCI_WPA, ///< Flow-insensitive, context-sensitive CFL-reachability-based analysis
|
|
78
|
-
CFLFSCS_WPA, ///< Flow-, context-, CFL-reachability-based analysis
|
|
79
|
-
TypeCPP_WPA, ///< Type-based analysis for C++
|
|
80
|
-
|
|
81
|
-
// Demand driven analysis
|
|
82
|
-
FieldS_DDA, ///< Field sensitive DDA
|
|
83
|
-
FlowS_DDA, ///< Flow sensitive DDA
|
|
84
|
-
PathS_DDA, ///< Guarded value-flow DDA
|
|
85
|
-
Cxt_DDA, ///< context sensitive DDA
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
Default_PTA ///< default pta without any analysis
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
/// Implementation type: BVDataPTAImpl or CondPTAImpl.
|
|
92
|
-
enum PTAImplTy
|
|
93
|
-
{
|
|
94
|
-
BaseImpl, ///< Represents PointerAnalaysis.
|
|
95
|
-
BVDataImpl, ///< Represents BVDataPTAImpl.
|
|
96
|
-
CondImpl, ///< Represents CondPTAImpl.
|
|
97
|
-
};
|
|
98
|
-
|
|
99
61
|
/// Indirect call edges type, map a callsite to a set of callees
|
|
100
62
|
//@{
|
|
101
63
|
typedef Set<const CallICFGNode*> CallSiteSet;
|
|
@@ -176,7 +138,7 @@ public:
|
|
|
176
138
|
}
|
|
177
139
|
|
|
178
140
|
/// Constructor
|
|
179
|
-
PointerAnalysis(SVFIR* pag, PTATY ty = Default_PTA, bool alias_check = true);
|
|
141
|
+
PointerAnalysis(SVFIR* pag, PTATY ty = PTATY::Default_PTA, bool alias_check = true);
|
|
180
142
|
|
|
181
143
|
/// Type of pointer analysis
|
|
182
144
|
inline PTATY getAnalysisTy() const
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
#define INCLUDE_MEMORYMODEL_POINTERANALYSISIMPL_H_
|
|
32
32
|
|
|
33
33
|
#include <Graphs/ConsG.h>
|
|
34
|
+
#include "MemoryModel/PTATY.h"
|
|
34
35
|
#include "MemoryModel/PointerAnalysis.h"
|
|
35
36
|
|
|
36
37
|
namespace SVF
|
|
@@ -60,15 +61,8 @@ public:
|
|
|
60
61
|
typedef PersistentIncDFPTData<NodeID, NodeSet, NodeID, PointsTo> PersIncDFPTDataTy;
|
|
61
62
|
typedef PersistentVersionedPTData<NodeID, NodeSet, NodeID, PointsTo, VersionedVar, Set<VersionedVar>> PersVersionedPTDataTy;
|
|
62
63
|
|
|
63
|
-
/// How the PTData used is implemented.
|
|
64
|
-
enum PTBackingType
|
|
65
|
-
{
|
|
66
|
-
Mutable,
|
|
67
|
-
Persistent,
|
|
68
|
-
};
|
|
69
|
-
|
|
70
64
|
/// Constructor
|
|
71
|
-
BVDataPTAImpl(SVFIR* pag,
|
|
65
|
+
BVDataPTAImpl(SVFIR* pag, PTATY type, bool alias_check = true);
|
|
72
66
|
|
|
73
67
|
/// Destructor
|
|
74
68
|
~BVDataPTAImpl() override = default;
|
|
@@ -80,7 +74,7 @@ public:
|
|
|
80
74
|
|
|
81
75
|
static inline bool classof(const PointerAnalysis *pta)
|
|
82
76
|
{
|
|
83
|
-
return pta->getImplTy() == BVDataImpl;
|
|
77
|
+
return pta->getImplTy() == PTAImplTy::BVDataImpl;
|
|
84
78
|
}
|
|
85
79
|
|
|
86
80
|
/// Get points-to and reverse points-to
|
|
@@ -257,14 +251,14 @@ public:
|
|
|
257
251
|
typedef Map<NodeID,CPtSet> PtrToCPtsMap; /// map a pointer to its conditional points-to set
|
|
258
252
|
|
|
259
253
|
/// Constructor
|
|
260
|
-
CondPTAImpl(SVFIR* pag,
|
|
254
|
+
CondPTAImpl(SVFIR* pag, PTATY type) : PointerAnalysis(pag, type), normalized(false)
|
|
261
255
|
{
|
|
262
|
-
if (type == PathS_DDA || type == Cxt_DDA)
|
|
256
|
+
if (type == PTATY::PathS_DDA || type == PTATY::Cxt_DDA)
|
|
263
257
|
ptD = new MutPTDataTy();
|
|
264
258
|
else
|
|
265
259
|
assert(false && "no points-to data available");
|
|
266
260
|
|
|
267
|
-
ptaImplTy = CondImpl;
|
|
261
|
+
ptaImplTy = PTAImplTy::CondImpl;
|
|
268
262
|
}
|
|
269
263
|
|
|
270
264
|
/// Destructor
|
|
@@ -275,7 +269,7 @@ public:
|
|
|
275
269
|
|
|
276
270
|
static inline bool classof(const PointerAnalysis *pta)
|
|
277
271
|
{
|
|
278
|
-
return pta->getImplTy() == CondImpl;
|
|
272
|
+
return pta->getImplTy() == PTAImplTy::CondImpl;
|
|
279
273
|
}
|
|
280
274
|
|
|
281
275
|
/// Release memory
|
|
@@ -527,7 +521,7 @@ public:
|
|
|
527
521
|
expandFIObjs(pts2,cpts2);
|
|
528
522
|
if (containBlackHoleNode(cpts1) || containBlackHoleNode(cpts2))
|
|
529
523
|
return AliasResult::MayAlias;
|
|
530
|
-
else if(this->getAnalysisTy()==PathS_DDA && contains(cpts1,cpts2) && contains(cpts2,cpts1))
|
|
524
|
+
else if(this->getAnalysisTy() == PTATY::PathS_DDA && contains(cpts1,cpts2) && contains(cpts2,cpts1))
|
|
531
525
|
{
|
|
532
526
|
return AliasResult::MustAlias;
|
|
533
527
|
}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
#include <sstream>
|
|
7
7
|
#include "Util/CommandLine.h"
|
|
8
|
-
#include "Util/
|
|
9
|
-
#include "MemoryModel/
|
|
8
|
+
#include "Util/SVFStat.h"
|
|
9
|
+
#include "MemoryModel/PTATY.h"
|
|
10
10
|
#include "Util/NodeIDAllocator.h"
|
|
11
11
|
|
|
12
12
|
namespace SVF
|
|
@@ -18,7 +18,7 @@ class Options
|
|
|
18
18
|
public:
|
|
19
19
|
Options(void) = delete;
|
|
20
20
|
|
|
21
|
-
static const OptionMap<
|
|
21
|
+
static const OptionMap<SVFStat::ClockType> ClockType;
|
|
22
22
|
|
|
23
23
|
/// If set, only return the clock when getClk is called as getClk(true).
|
|
24
24
|
/// Retrieving the clock is slow but it should be fine for a few calls.
|
|
@@ -63,7 +63,7 @@ public:
|
|
|
63
63
|
static const Option<bool> PredictPtOcc;
|
|
64
64
|
|
|
65
65
|
/// PTData type.
|
|
66
|
-
static const OptionMap<
|
|
66
|
+
static const OptionMap<PTBackingType> ptDataBacking;
|
|
67
67
|
|
|
68
68
|
/// Time limit for the main phase (i.e., the actual solving) of FS analyses.
|
|
69
69
|
static const Option<u32_t> FsTimeLimit;
|
|
@@ -87,7 +87,7 @@ public:
|
|
|
87
87
|
static const Option<bool> PrintCPts;
|
|
88
88
|
static const Option<bool> PrintQueryPts;
|
|
89
89
|
static const Option<bool> WPANum;
|
|
90
|
-
static OptionMultiple<
|
|
90
|
+
static OptionMultiple<PTATY> DDASelected;
|
|
91
91
|
|
|
92
92
|
// FlowDDA.cpp
|
|
93
93
|
static const Option<u32_t> FlowBudget;
|
|
@@ -215,7 +215,7 @@ public:
|
|
|
215
215
|
static const Option<bool> AnderSVFG;
|
|
216
216
|
static const Option<bool> SABERFULLSVFG;
|
|
217
217
|
static const Option<bool> PrintAliases;
|
|
218
|
-
static OptionMultiple<
|
|
218
|
+
static OptionMultiple<PTATY> PASelected;
|
|
219
219
|
static OptionMultiple<u32_t> AliasRule;
|
|
220
220
|
|
|
221
221
|
// DOTGraphTraits
|
|
@@ -266,6 +266,9 @@ public:
|
|
|
266
266
|
|
|
267
267
|
// float precision for symbolic abstraction
|
|
268
268
|
static const Option<u32_t> AEPrecision;
|
|
269
|
+
|
|
270
|
+
// GraphWriter.h
|
|
271
|
+
static const Option<u32_t> MaxNodeLabelLength;
|
|
269
272
|
};
|
|
270
273
|
} // namespace SVF
|
|
271
274
|
|
|
@@ -30,6 +30,8 @@
|
|
|
30
30
|
#ifndef SVF_SVFSTAT_H
|
|
31
31
|
#define SVF_SVFSTAT_H
|
|
32
32
|
|
|
33
|
+
#include "MemoryModel/PointsTo.h"
|
|
34
|
+
|
|
33
35
|
namespace SVF
|
|
34
36
|
{
|
|
35
37
|
|
|
@@ -45,7 +47,7 @@ public:
|
|
|
45
47
|
|
|
46
48
|
typedef OrderedMap<std::string, double> TIMEStatMap;
|
|
47
49
|
|
|
48
|
-
enum ClockType
|
|
50
|
+
enum class ClockType
|
|
49
51
|
{
|
|
50
52
|
Wall,
|
|
51
53
|
CPU,
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
#ifndef INCLUDE_WPA_ANDERSEN_H_
|
|
36
36
|
#define INCLUDE_WPA_ANDERSEN_H_
|
|
37
37
|
|
|
38
|
+
#include "MemoryModel/PTATY.h"
|
|
38
39
|
#include "MemoryModel/PointerAnalysisImpl.h"
|
|
39
40
|
#include "WPA/WPAStat.h"
|
|
40
41
|
#include "WPA/WPASolver.h"
|
|
@@ -61,7 +62,7 @@ public:
|
|
|
61
62
|
public:
|
|
62
63
|
|
|
63
64
|
/// Constructor
|
|
64
|
-
AndersenBase(SVFIR* _pag, PTATY type = Andersen_BASE, bool alias_check = true)
|
|
65
|
+
AndersenBase(SVFIR* _pag, PTATY type = PTATY::Andersen_BASE, bool alias_check = true)
|
|
65
66
|
: BVDataPTAImpl(_pag, type, alias_check), consCG(nullptr)
|
|
66
67
|
{
|
|
67
68
|
iterationForPrintStat = OnTheFlyIterBudgetForStat;
|
|
@@ -107,13 +108,13 @@ public:
|
|
|
107
108
|
}
|
|
108
109
|
static inline bool classof(const PointerAnalysis *pta)
|
|
109
110
|
{
|
|
110
|
-
return ( pta->getAnalysisTy() == Andersen_BASE
|
|
111
|
-
|| pta->getAnalysisTy() == Andersen_WPA
|
|
112
|
-
|| pta->getAnalysisTy() == AndersenWaveDiff_WPA
|
|
113
|
-
|| pta->getAnalysisTy() == AndersenSCD_WPA
|
|
114
|
-
|| pta->getAnalysisTy() == AndersenSFR_WPA
|
|
115
|
-
|| pta->getAnalysisTy() == TypeCPP_WPA
|
|
116
|
-
|| pta->getAnalysisTy() == Steensgaard_WPA);
|
|
111
|
+
return ( pta->getAnalysisTy() == PTATY::Andersen_BASE
|
|
112
|
+
|| pta->getAnalysisTy() == PTATY::Andersen_WPA
|
|
113
|
+
|| pta->getAnalysisTy() == PTATY::AndersenWaveDiff_WPA
|
|
114
|
+
|| pta->getAnalysisTy() == PTATY::AndersenSCD_WPA
|
|
115
|
+
|| pta->getAnalysisTy() == PTATY::AndersenSFR_WPA
|
|
116
|
+
|| pta->getAnalysisTy() == PTATY::TypeCPP_WPA
|
|
117
|
+
|| pta->getAnalysisTy() == PTATY::Steensgaard_WPA);
|
|
117
118
|
}
|
|
118
119
|
//@}
|
|
119
120
|
|
|
@@ -193,7 +194,7 @@ public:
|
|
|
193
194
|
typedef SCCDetection<ConstraintGraph*> CGSCC;
|
|
194
195
|
|
|
195
196
|
/// Constructor
|
|
196
|
-
Andersen(SVFIR* _pag, PTATY type = Andersen_WPA, bool alias_check = true)
|
|
197
|
+
Andersen(SVFIR* _pag, PTATY type = PTATY::Andersen_WPA, bool alias_check = true)
|
|
197
198
|
: AndersenBase(_pag, type, alias_check)
|
|
198
199
|
{
|
|
199
200
|
}
|
|
@@ -227,10 +228,10 @@ public:
|
|
|
227
228
|
}
|
|
228
229
|
static inline bool classof(const PointerAnalysis *pta)
|
|
229
230
|
{
|
|
230
|
-
return (pta->getAnalysisTy() == Andersen_WPA
|
|
231
|
-
|| pta->getAnalysisTy() == AndersenWaveDiff_WPA
|
|
232
|
-
|| pta->getAnalysisTy() == AndersenSCD_WPA
|
|
233
|
-
|| pta->getAnalysisTy() == AndersenSFR_WPA);
|
|
231
|
+
return (pta->getAnalysisTy() == PTATY::Andersen_WPA
|
|
232
|
+
|| pta->getAnalysisTy() == PTATY::AndersenWaveDiff_WPA
|
|
233
|
+
|| pta->getAnalysisTy() == PTATY::AndersenSCD_WPA
|
|
234
|
+
|| pta->getAnalysisTy() == PTATY::AndersenSFR_WPA);
|
|
234
235
|
}
|
|
235
236
|
//@}
|
|
236
237
|
|
|
@@ -401,14 +402,14 @@ private:
|
|
|
401
402
|
static AndersenWaveDiff* diffWave; // static instance
|
|
402
403
|
|
|
403
404
|
public:
|
|
404
|
-
AndersenWaveDiff(SVFIR* _pag, PTATY type = AndersenWaveDiff_WPA, bool alias_check = true): Andersen(_pag, type, alias_check) {}
|
|
405
|
+
AndersenWaveDiff(SVFIR* _pag, PTATY type = PTATY::AndersenWaveDiff_WPA, bool alias_check = true): Andersen(_pag, type, alias_check) {}
|
|
405
406
|
|
|
406
407
|
/// Create an singleton instance directly instead of invoking llvm pass manager
|
|
407
408
|
static AndersenWaveDiff* createAndersenWaveDiff(SVFIR* _pag)
|
|
408
409
|
{
|
|
409
410
|
if(diffWave==nullptr)
|
|
410
411
|
{
|
|
411
|
-
diffWave = new AndersenWaveDiff(_pag, AndersenWaveDiff_WPA, false);
|
|
412
|
+
diffWave = new AndersenWaveDiff(_pag, PTATY::AndersenWaveDiff_WPA, false);
|
|
412
413
|
diffWave->analyze();
|
|
413
414
|
return diffWave;
|
|
414
415
|
}
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
#include "WPA/Andersen.h"
|
|
35
35
|
#include "WPA/CSC.h"
|
|
36
|
+
#include "MemoryModel/PTATY.h"
|
|
36
37
|
#include "MemoryModel/PointsTo.h"
|
|
37
38
|
|
|
38
39
|
namespace SVF
|
|
@@ -52,7 +53,7 @@ protected:
|
|
|
52
53
|
NodeToNodeMap pwcReps;
|
|
53
54
|
|
|
54
55
|
public:
|
|
55
|
-
AndersenSCD(SVFIR* _pag, PTATY type = AndersenSCD_WPA) :
|
|
56
|
+
AndersenSCD(SVFIR* _pag, PTATY type = PTATY::AndersenSCD_WPA) :
|
|
56
57
|
Andersen(_pag,type)
|
|
57
58
|
{
|
|
58
59
|
}
|
|
@@ -114,7 +115,7 @@ private:
|
|
|
114
115
|
FieldReps fieldReps;
|
|
115
116
|
|
|
116
117
|
public:
|
|
117
|
-
AndersenSFR(SVFIR* _pag, PTATY type = AndersenSFR_WPA) :
|
|
118
|
+
AndersenSFR(SVFIR* _pag, PTATY type = PTATY::AndersenSFR_WPA) :
|
|
118
119
|
AndersenSCD(_pag, type), csc(nullptr)
|
|
119
120
|
{
|
|
120
121
|
}
|
|
@@ -57,7 +57,7 @@ public:
|
|
|
57
57
|
typedef BVDataPTAImpl::MutDFPTDataTy::PtsMap PtsMap;
|
|
58
58
|
|
|
59
59
|
/// Constructor
|
|
60
|
-
explicit FlowSensitive(SVFIR* _pag, PTATY type = FSSPARSE_WPA) : WPASVFGFSSolver(), BVDataPTAImpl(_pag, type)
|
|
60
|
+
explicit FlowSensitive(SVFIR* _pag, PTATY type = PTATY::FSSPARSE_WPA) : WPASVFGFSSolver(), BVDataPTAImpl(_pag, type)
|
|
61
61
|
{
|
|
62
62
|
svfg = nullptr;
|
|
63
63
|
solveTime = sccTime = processTime = propagationTime = updateTime = 0;
|
|
@@ -126,7 +126,7 @@ public:
|
|
|
126
126
|
}
|
|
127
127
|
static inline bool classof(const PointerAnalysis *pta)
|
|
128
128
|
{
|
|
129
|
-
return pta->getAnalysisTy() == FSSPARSE_WPA;
|
|
129
|
+
return pta->getAnalysisTy() == PTATY::FSSPARSE_WPA;
|
|
130
130
|
}
|
|
131
131
|
//@}
|
|
132
132
|
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
#include "MSSA/SVFGBuilder.h"
|
|
19
19
|
#include "WPA/FlowSensitive.h"
|
|
20
20
|
#include "WPA/WPAFSSolver.h"
|
|
21
|
+
#include "MemoryModel/PTATY.h"
|
|
21
22
|
#include "MemoryModel/PointsTo.h"
|
|
22
23
|
|
|
23
24
|
namespace SVF
|
|
@@ -50,7 +51,7 @@ public:
|
|
|
50
51
|
static VersionedVar atKey(NodeID, Version);
|
|
51
52
|
|
|
52
53
|
/// Constructor
|
|
53
|
-
VersionedFlowSensitive(SVFIR *_pag, PTATY type = VFS_WPA);
|
|
54
|
+
VersionedFlowSensitive(SVFIR *_pag, PTATY type = PTATY::VFS_WPA);
|
|
54
55
|
|
|
55
56
|
/// Initialize analysis
|
|
56
57
|
virtual void initialize() override;
|
|
@@ -72,7 +73,7 @@ public:
|
|
|
72
73
|
}
|
|
73
74
|
static inline bool classof(const PointerAnalysis *pta)
|
|
74
75
|
{
|
|
75
|
-
return pta->getAnalysisTy() == VFS_WPA;
|
|
76
|
+
return pta->getAnalysisTy() == PTATY::VFS_WPA;
|
|
76
77
|
}
|
|
77
78
|
//@}
|
|
78
79
|
|
|
@@ -81,7 +81,7 @@ if(NOT CMAKE_VERSION VERSION_LESS "3.23.0")
|
|
|
81
81
|
FILE_SET "HEADERS"
|
|
82
82
|
TYPE "HEADERS"
|
|
83
83
|
BASE_DIRS "${_IMPORT_PREFIX}/include"
|
|
84
|
-
FILES "${_IMPORT_PREFIX}/include/AE/Core/AbstractState.h" "${_IMPORT_PREFIX}/include/AE/Core/AbstractValue.h" "${_IMPORT_PREFIX}/include/AE/Core/AddressValue.h" "${_IMPORT_PREFIX}/include/AE/Core/ICFGWTO.h" "${_IMPORT_PREFIX}/include/AE/Core/IntervalValue.h" "${_IMPORT_PREFIX}/include/AE/Core/NumericValue.h" "${_IMPORT_PREFIX}/include/AE/Core/RelExeState.h" "${_IMPORT_PREFIX}/include/AE/Core/RelationSolver.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEDetector.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEStat.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEWTO.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AbsExtAPI.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AbstractInterpretation.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/SparseAbstractInterpretation.h" "${_IMPORT_PREFIX}/include/CFL/CFGNormalizer.h" "${_IMPORT_PREFIX}/include/CFL/CFGrammar.h" "${_IMPORT_PREFIX}/include/CFL/CFLAlias.h" "${_IMPORT_PREFIX}/include/CFL/CFLBase.h" "${_IMPORT_PREFIX}/include/CFL/CFLGramGraphChecker.h" "${_IMPORT_PREFIX}/include/CFL/CFLGraphBuilder.h" "${_IMPORT_PREFIX}/include/CFL/CFLSVFGBuilder.h" "${_IMPORT_PREFIX}/include/CFL/CFLSolver.h" "${_IMPORT_PREFIX}/include/CFL/CFLStat.h" "${_IMPORT_PREFIX}/include/CFL/CFLVF.h" "${_IMPORT_PREFIX}/include/CFL/GrammarBuilder.h" "${_IMPORT_PREFIX}/include/DDA/ContextDDA.h" "${_IMPORT_PREFIX}/include/DDA/DDAClient.h" "${_IMPORT_PREFIX}/include/DDA/DDAPass.h" "${_IMPORT_PREFIX}/include/DDA/DDAStat.h" "${_IMPORT_PREFIX}/include/DDA/DDAVFSolver.h" "${_IMPORT_PREFIX}/include/DDA/FlowDDA.h" "${_IMPORT_PREFIX}/include/FastCluster/fastcluster.h" "${_IMPORT_PREFIX}/include/Graphs/BasicBlockG.h" "${_IMPORT_PREFIX}/include/Graphs/CDG.h" "${_IMPORT_PREFIX}/include/Graphs/CFLGraph.h" "${_IMPORT_PREFIX}/include/Graphs/CHG.h" "${_IMPORT_PREFIX}/include/Graphs/CallGraph.h" "${_IMPORT_PREFIX}/include/Graphs/ConsG.h" "${_IMPORT_PREFIX}/include/Graphs/ConsGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/ConsGNode.h" "${_IMPORT_PREFIX}/include/Graphs/DOTGraphTraits.h" "${_IMPORT_PREFIX}/include/Graphs/GenericGraph.h" "${_IMPORT_PREFIX}/include/Graphs/GraphPrinter.h" "${_IMPORT_PREFIX}/include/Graphs/GraphTraits.h" "${_IMPORT_PREFIX}/include/Graphs/GraphWriter.h" "${_IMPORT_PREFIX}/include/Graphs/ICFG.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGStat.h" "${_IMPORT_PREFIX}/include/Graphs/IRGraph.h" "${_IMPORT_PREFIX}/include/Graphs/SCC.h" "${_IMPORT_PREFIX}/include/Graphs/SVFG.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGOPT.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGStat.h" "${_IMPORT_PREFIX}/include/Graphs/ThreadCallGraph.h" "${_IMPORT_PREFIX}/include/Graphs/VFG.h" "${_IMPORT_PREFIX}/include/Graphs/VFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/VFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/WTO.h" "${_IMPORT_PREFIX}/include/MSSA/MSSAMuChi.h" "${_IMPORT_PREFIX}/include/MSSA/MemPartition.h" "${_IMPORT_PREFIX}/include/MSSA/MemRegion.h" "${_IMPORT_PREFIX}/include/MSSA/MemSSA.h" "${_IMPORT_PREFIX}/include/MSSA/SVFGBuilder.h" "${_IMPORT_PREFIX}/include/MTA/LockAnalysis.h" "${_IMPORT_PREFIX}/include/MTA/MHP.h" "${_IMPORT_PREFIX}/include/MTA/MTA.h" "${_IMPORT_PREFIX}/include/MTA/MTAStat.h" "${_IMPORT_PREFIX}/include/MTA/TCT.h" "${_IMPORT_PREFIX}/include/MemoryModel/AbstractPointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/AccessPath.h" "${_IMPORT_PREFIX}/include/MemoryModel/ConditionalPT.h" "${_IMPORT_PREFIX}/include/MemoryModel/MutablePointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/PersistentPointsToCache.h" "${_IMPORT_PREFIX}/include/MemoryModel/PersistentPointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointerAnalysis.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointerAnalysisImpl.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointsTo.h" "${_IMPORT_PREFIX}/include/MemoryModel/SVFLoop.h" "${_IMPORT_PREFIX}/include/SABER/DoubleFreeChecker.h" "${_IMPORT_PREFIX}/include/SABER/FileChecker.h" "${_IMPORT_PREFIX}/include/SABER/LeakChecker.h" "${_IMPORT_PREFIX}/include/SABER/ProgSlice.h" "${_IMPORT_PREFIX}/include/SABER/SaberCheckerAPI.h" "${_IMPORT_PREFIX}/include/SABER/SaberCondAllocator.h" "${_IMPORT_PREFIX}/include/SABER/SaberSVFGBuilder.h" "${_IMPORT_PREFIX}/include/SABER/SrcSnkDDA.h" "${_IMPORT_PREFIX}/include/SABER/SrcSnkSolver.h" "${_IMPORT_PREFIX}/include/SVFIR/ObjTypeInfo.h" "${_IMPORT_PREFIX}/include/SVFIR/PAGBuilderFromFile.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFIR.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFStatements.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFType.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFValue.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFVariables.h" "${_IMPORT_PREFIX}/include/Util/Annotator.h" "${_IMPORT_PREFIX}/include/Util/BitVector.h" "${_IMPORT_PREFIX}/include/Util/CDGBuilder.h" "${_IMPORT_PREFIX}/include/Util/CallGraphBuilder.h" "${_IMPORT_PREFIX}/include/Util/Casting.h" "${_IMPORT_PREFIX}/include/Util/CommandLine.h" "${_IMPORT_PREFIX}/include/Util/CoreBitVector.h" "${_IMPORT_PREFIX}/include/Util/CxtStmt.h" "${_IMPORT_PREFIX}/include/Util/DPItem.h" "${_IMPORT_PREFIX}/include/Util/ExtAPI.h" "${_IMPORT_PREFIX}/include/Util/GeneralType.h" "${_IMPORT_PREFIX}/include/Util/GraphReachSolver.h" "${_IMPORT_PREFIX}/include/Util/NodeIDAllocator.h" "${_IMPORT_PREFIX}/include/Util/Options.h" "${_IMPORT_PREFIX}/include/Util/PTAStat.h" "${_IMPORT_PREFIX}/include/Util/SVFBugReport.h" "${_IMPORT_PREFIX}/include/Util/SVFLoopAndDomInfo.h" "${_IMPORT_PREFIX}/include/Util/SVFStat.h" "${_IMPORT_PREFIX}/include/Util/SVFUtil.h" "${_IMPORT_PREFIX}/include/Util/SparseBitVector.h" "${_IMPORT_PREFIX}/include/Util/ThreadAPI.h" "${_IMPORT_PREFIX}/include/Util/WorkList.h" "${_IMPORT_PREFIX}/include/Util/Z3Expr.h" "${_IMPORT_PREFIX}/include/Util/cJSON.h" "${_IMPORT_PREFIX}/include/Util/iterator.h" "${_IMPORT_PREFIX}/include/Util/iterator_range.h" "${_IMPORT_PREFIX}/include/WPA/Andersen.h" "${_IMPORT_PREFIX}/include/WPA/AndersenPWC.h" "${_IMPORT_PREFIX}/include/WPA/CSC.h" "${_IMPORT_PREFIX}/include/WPA/FlowSensitive.h" "${_IMPORT_PREFIX}/include/WPA/Steensgaard.h" "${_IMPORT_PREFIX}/include/WPA/TypeAnalysis.h" "${_IMPORT_PREFIX}/include/WPA/VersionedFlowSensitive.h" "${_IMPORT_PREFIX}/include/WPA/WPAFSSolver.h" "${_IMPORT_PREFIX}/include/WPA/WPAPass.h" "${_IMPORT_PREFIX}/include/WPA/WPASolver.h" "${_IMPORT_PREFIX}/include/WPA/WPAStat.h"
|
|
84
|
+
FILES "${_IMPORT_PREFIX}/include/AE/Core/AbstractState.h" "${_IMPORT_PREFIX}/include/AE/Core/AbstractValue.h" "${_IMPORT_PREFIX}/include/AE/Core/AddressValue.h" "${_IMPORT_PREFIX}/include/AE/Core/ICFGWTO.h" "${_IMPORT_PREFIX}/include/AE/Core/IntervalValue.h" "${_IMPORT_PREFIX}/include/AE/Core/NumericValue.h" "${_IMPORT_PREFIX}/include/AE/Core/RelExeState.h" "${_IMPORT_PREFIX}/include/AE/Core/RelationSolver.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEDetector.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEStat.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEWTO.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AbsExtAPI.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AbstractInterpretation.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/SparseAbstractInterpretation.h" "${_IMPORT_PREFIX}/include/CFL/CFGNormalizer.h" "${_IMPORT_PREFIX}/include/CFL/CFGrammar.h" "${_IMPORT_PREFIX}/include/CFL/CFLAlias.h" "${_IMPORT_PREFIX}/include/CFL/CFLBase.h" "${_IMPORT_PREFIX}/include/CFL/CFLGramGraphChecker.h" "${_IMPORT_PREFIX}/include/CFL/CFLGraphBuilder.h" "${_IMPORT_PREFIX}/include/CFL/CFLSVFGBuilder.h" "${_IMPORT_PREFIX}/include/CFL/CFLSolver.h" "${_IMPORT_PREFIX}/include/CFL/CFLStat.h" "${_IMPORT_PREFIX}/include/CFL/CFLVF.h" "${_IMPORT_PREFIX}/include/CFL/GrammarBuilder.h" "${_IMPORT_PREFIX}/include/DDA/ContextDDA.h" "${_IMPORT_PREFIX}/include/DDA/DDAClient.h" "${_IMPORT_PREFIX}/include/DDA/DDAPass.h" "${_IMPORT_PREFIX}/include/DDA/DDAStat.h" "${_IMPORT_PREFIX}/include/DDA/DDAVFSolver.h" "${_IMPORT_PREFIX}/include/DDA/FlowDDA.h" "${_IMPORT_PREFIX}/include/FastCluster/fastcluster.h" "${_IMPORT_PREFIX}/include/Graphs/BasicBlockG.h" "${_IMPORT_PREFIX}/include/Graphs/CDG.h" "${_IMPORT_PREFIX}/include/Graphs/CFLGraph.h" "${_IMPORT_PREFIX}/include/Graphs/CHG.h" "${_IMPORT_PREFIX}/include/Graphs/CallGraph.h" "${_IMPORT_PREFIX}/include/Graphs/ConsG.h" "${_IMPORT_PREFIX}/include/Graphs/ConsGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/ConsGNode.h" "${_IMPORT_PREFIX}/include/Graphs/DOTGraphTraits.h" "${_IMPORT_PREFIX}/include/Graphs/GenericGraph.h" "${_IMPORT_PREFIX}/include/Graphs/GraphPrinter.h" "${_IMPORT_PREFIX}/include/Graphs/GraphTraits.h" "${_IMPORT_PREFIX}/include/Graphs/GraphWriter.h" "${_IMPORT_PREFIX}/include/Graphs/ICFG.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGStat.h" "${_IMPORT_PREFIX}/include/Graphs/IRGraph.h" "${_IMPORT_PREFIX}/include/Graphs/SCC.h" "${_IMPORT_PREFIX}/include/Graphs/SVFG.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGOPT.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGStat.h" "${_IMPORT_PREFIX}/include/Graphs/ThreadCallGraph.h" "${_IMPORT_PREFIX}/include/Graphs/VFG.h" "${_IMPORT_PREFIX}/include/Graphs/VFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/VFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/WTO.h" "${_IMPORT_PREFIX}/include/MSSA/MSSAMuChi.h" "${_IMPORT_PREFIX}/include/MSSA/MemPartition.h" "${_IMPORT_PREFIX}/include/MSSA/MemRegion.h" "${_IMPORT_PREFIX}/include/MSSA/MemSSA.h" "${_IMPORT_PREFIX}/include/MSSA/SVFGBuilder.h" "${_IMPORT_PREFIX}/include/MTA/LockAnalysis.h" "${_IMPORT_PREFIX}/include/MTA/MHP.h" "${_IMPORT_PREFIX}/include/MTA/MTA.h" "${_IMPORT_PREFIX}/include/MTA/MTAStat.h" "${_IMPORT_PREFIX}/include/MTA/TCT.h" "${_IMPORT_PREFIX}/include/MemoryModel/AbstractPointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/AccessPath.h" "${_IMPORT_PREFIX}/include/MemoryModel/ConditionalPT.h" "${_IMPORT_PREFIX}/include/MemoryModel/MutablePointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/PTATY.h" "${_IMPORT_PREFIX}/include/MemoryModel/PersistentPointsToCache.h" "${_IMPORT_PREFIX}/include/MemoryModel/PersistentPointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointerAnalysis.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointerAnalysisImpl.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointsTo.h" "${_IMPORT_PREFIX}/include/MemoryModel/SVFLoop.h" "${_IMPORT_PREFIX}/include/SABER/DoubleFreeChecker.h" "${_IMPORT_PREFIX}/include/SABER/FileChecker.h" "${_IMPORT_PREFIX}/include/SABER/LeakChecker.h" "${_IMPORT_PREFIX}/include/SABER/ProgSlice.h" "${_IMPORT_PREFIX}/include/SABER/SaberCheckerAPI.h" "${_IMPORT_PREFIX}/include/SABER/SaberCondAllocator.h" "${_IMPORT_PREFIX}/include/SABER/SaberSVFGBuilder.h" "${_IMPORT_PREFIX}/include/SABER/SrcSnkDDA.h" "${_IMPORT_PREFIX}/include/SABER/SrcSnkSolver.h" "${_IMPORT_PREFIX}/include/SVFIR/ObjTypeInfo.h" "${_IMPORT_PREFIX}/include/SVFIR/PAGBuilderFromFile.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFIR.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFStatements.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFType.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFValue.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFVariables.h" "${_IMPORT_PREFIX}/include/Util/Annotator.h" "${_IMPORT_PREFIX}/include/Util/BitVector.h" "${_IMPORT_PREFIX}/include/Util/CDGBuilder.h" "${_IMPORT_PREFIX}/include/Util/CallGraphBuilder.h" "${_IMPORT_PREFIX}/include/Util/Casting.h" "${_IMPORT_PREFIX}/include/Util/CommandLine.h" "${_IMPORT_PREFIX}/include/Util/CoreBitVector.h" "${_IMPORT_PREFIX}/include/Util/CxtStmt.h" "${_IMPORT_PREFIX}/include/Util/DPItem.h" "${_IMPORT_PREFIX}/include/Util/ExtAPI.h" "${_IMPORT_PREFIX}/include/Util/GeneralType.h" "${_IMPORT_PREFIX}/include/Util/GraphReachSolver.h" "${_IMPORT_PREFIX}/include/Util/NodeIDAllocator.h" "${_IMPORT_PREFIX}/include/Util/Options.h" "${_IMPORT_PREFIX}/include/Util/PTAStat.h" "${_IMPORT_PREFIX}/include/Util/SVFBugReport.h" "${_IMPORT_PREFIX}/include/Util/SVFLoopAndDomInfo.h" "${_IMPORT_PREFIX}/include/Util/SVFStat.h" "${_IMPORT_PREFIX}/include/Util/SVFUtil.h" "${_IMPORT_PREFIX}/include/Util/SparseBitVector.h" "${_IMPORT_PREFIX}/include/Util/ThreadAPI.h" "${_IMPORT_PREFIX}/include/Util/WorkList.h" "${_IMPORT_PREFIX}/include/Util/Z3Expr.h" "${_IMPORT_PREFIX}/include/Util/cJSON.h" "${_IMPORT_PREFIX}/include/Util/iterator.h" "${_IMPORT_PREFIX}/include/Util/iterator_range.h" "${_IMPORT_PREFIX}/include/WPA/Andersen.h" "${_IMPORT_PREFIX}/include/WPA/AndersenPWC.h" "${_IMPORT_PREFIX}/include/WPA/CSC.h" "${_IMPORT_PREFIX}/include/WPA/FlowSensitive.h" "${_IMPORT_PREFIX}/include/WPA/Steensgaard.h" "${_IMPORT_PREFIX}/include/WPA/TypeAnalysis.h" "${_IMPORT_PREFIX}/include/WPA/VersionedFlowSensitive.h" "${_IMPORT_PREFIX}/include/WPA/WPAFSSolver.h" "${_IMPORT_PREFIX}/include/WPA/WPAPass.h" "${_IMPORT_PREFIX}/include/WPA/WPASolver.h" "${_IMPORT_PREFIX}/include/WPA/WPAStat.h"
|
|
85
85
|
)
|
|
86
86
|
else()
|
|
87
87
|
set_property(TARGET SVF::SvfCore
|
|
Binary file
|
|
Binary file
|