svf-lib 1.0.2425 → 1.0.2427
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/bin/ae +0 -0
- package/SVF-linux-aarch64/bin/cfl +0 -0
- package/SVF-linux-aarch64/bin/dvf +0 -0
- package/SVF-linux-aarch64/bin/llvm2svf +0 -0
- package/SVF-linux-aarch64/bin/mta +0 -0
- package/SVF-linux-aarch64/bin/saber +0 -0
- package/SVF-linux-aarch64/bin/svf-ex +0 -0
- package/SVF-linux-aarch64/bin/wpa +0 -0
- package/SVF-linux-aarch64/include/Graphs/BasicBlockG.h +0 -5
- package/SVF-linux-aarch64/include/Graphs/CHG.h +0 -6
- package/SVF-linux-aarch64/include/Graphs/GenericGraph.h +0 -6
- package/SVF-linux-aarch64/include/Graphs/ICFG.h +0 -2
- package/SVF-linux-aarch64/include/Graphs/ICFGEdge.h +0 -8
- package/SVF-linux-aarch64/include/Graphs/ICFGNode.h +0 -30
- package/SVF-linux-aarch64/include/Graphs/IRGraph.h +0 -2
- package/SVF-linux-aarch64/include/MemoryModel/AccessPath.h +0 -2
- package/SVF-linux-aarch64/include/MemoryModel/SVFLoop.h +0 -2
- package/SVF-linux-aarch64/include/SVFIR/ObjTypeInfo.h +0 -2
- package/SVF-linux-aarch64/include/SVFIR/SVFIR.h +0 -2
- package/SVF-linux-aarch64/include/SVFIR/SVFStatements.h +1 -73
- package/SVF-linux-aarch64/include/SVFIR/SVFType.h +1 -16
- package/SVF-linux-aarch64/include/SVFIR/SVFVariables.h +5 -122
- package/SVF-linux-aarch64/include/Util/NodeIDAllocator.h +0 -2
- package/SVF-linux-aarch64/include/Util/SVFLoopAndDomInfo.h +1 -2
- package/SVF-linux-aarch64/include/Util/SparseBitVector.h +0 -4
- package/SVF-linux-aarch64/lib/libSvfCore.so.3.2 +0 -0
- package/SVF-linux-aarch64/lib/libSvfLLVM.so.3.2 +0 -0
- package/SVF-osx/bin/ae +0 -0
- package/SVF-osx/bin/cfl +0 -0
- package/SVF-osx/bin/dvf +0 -0
- package/SVF-osx/bin/llvm2svf +0 -0
- package/SVF-osx/bin/mta +0 -0
- package/SVF-osx/bin/saber +0 -0
- package/SVF-osx/bin/svf-ex +0 -0
- package/SVF-osx/bin/wpa +0 -0
- package/SVF-osx/include/Graphs/BasicBlockG.h +0 -5
- package/SVF-osx/include/Graphs/CHG.h +0 -6
- package/SVF-osx/include/Graphs/GenericGraph.h +0 -6
- package/SVF-osx/include/Graphs/ICFG.h +0 -2
- package/SVF-osx/include/Graphs/ICFGEdge.h +0 -8
- package/SVF-osx/include/Graphs/ICFGNode.h +0 -30
- package/SVF-osx/include/Graphs/IRGraph.h +0 -2
- package/SVF-osx/include/MemoryModel/AccessPath.h +0 -2
- package/SVF-osx/include/MemoryModel/SVFLoop.h +0 -2
- package/SVF-osx/include/SVFIR/ObjTypeInfo.h +0 -2
- package/SVF-osx/include/SVFIR/SVFIR.h +0 -2
- package/SVF-osx/include/SVFIR/SVFStatements.h +1 -73
- package/SVF-osx/include/SVFIR/SVFType.h +1 -16
- package/SVF-osx/include/SVFIR/SVFVariables.h +5 -122
- package/SVF-osx/include/Util/NodeIDAllocator.h +0 -2
- package/SVF-osx/include/Util/SVFLoopAndDomInfo.h +1 -2
- package/SVF-osx/include/Util/SparseBitVector.h +0 -4
- package/SVF-osx/lib/libSvfCore.3.2.dylib +0 -0
- package/SVF-osx/lib/libSvfLLVM.3.2.dylib +0 -0
- package/package.json +1 -1
package/SVF-linux-aarch64/bin/ae
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -44,10 +44,7 @@ class FunObjVar;
|
|
|
44
44
|
typedef GenericEdge<SVFBasicBlock> GenericBasicBlockEdgeTy;
|
|
45
45
|
class BasicBlockEdge: public GenericBasicBlockEdgeTy
|
|
46
46
|
{
|
|
47
|
-
friend class SVFIRWriter;
|
|
48
|
-
friend class SVFIRReader;
|
|
49
47
|
|
|
50
|
-
public:
|
|
51
48
|
public:
|
|
52
49
|
/// Constructor
|
|
53
50
|
BasicBlockEdge(SVFBasicBlock* s, SVFBasicBlock* d) : GenericBasicBlockEdgeTy(s, d, 0)
|
|
@@ -73,8 +70,6 @@ typedef GenericNode<SVFBasicBlock, BasicBlockEdge> GenericBasicBlockNodeTy;
|
|
|
73
70
|
class SVFBasicBlock : public GenericBasicBlockNodeTy
|
|
74
71
|
{
|
|
75
72
|
friend class LLVMModuleSet;
|
|
76
|
-
friend class SVFIRWriter;
|
|
77
|
-
friend class SVFIRReader;
|
|
78
73
|
friend class SVFIRBuilder;
|
|
79
74
|
friend class FunObjVar;
|
|
80
75
|
friend class ICFGBuilder;
|
|
@@ -77,8 +77,6 @@ protected:
|
|
|
77
77
|
typedef GenericEdge<CHNode> GenericCHEdgeTy;
|
|
78
78
|
class CHEdge: public GenericCHEdgeTy
|
|
79
79
|
{
|
|
80
|
-
friend class SVFIRWriter;
|
|
81
|
-
friend class SVFIRReader;
|
|
82
80
|
|
|
83
81
|
public:
|
|
84
82
|
typedef enum
|
|
@@ -107,8 +105,6 @@ private:
|
|
|
107
105
|
typedef GenericNode<CHNode, CHEdge> GenericCHNodeTy;
|
|
108
106
|
class CHNode: public GenericCHNodeTy
|
|
109
107
|
{
|
|
110
|
-
friend class SVFIRWriter;
|
|
111
|
-
friend class SVFIRReader;
|
|
112
108
|
|
|
113
109
|
public:
|
|
114
110
|
typedef enum
|
|
@@ -232,8 +228,6 @@ private:
|
|
|
232
228
|
typedef GenericGraph<CHNode, CHEdge> GenericCHGraphTy;
|
|
233
229
|
class CHGraph: public CommonCHGraph, public GenericCHGraphTy
|
|
234
230
|
{
|
|
235
|
-
friend class SVFIRWriter;
|
|
236
|
-
friend class SVFIRReader;
|
|
237
231
|
friend class CHGBuilder;
|
|
238
232
|
|
|
239
233
|
public:
|
|
@@ -49,8 +49,6 @@ template <typename, typename> class GenericGraphReader;
|
|
|
49
49
|
template<class NodeTy>
|
|
50
50
|
class GenericEdge
|
|
51
51
|
{
|
|
52
|
-
friend class SVFIRWriter;
|
|
53
|
-
friend class SVFIRReader;
|
|
54
52
|
|
|
55
53
|
public:
|
|
56
54
|
/// Node type
|
|
@@ -142,8 +140,6 @@ protected:
|
|
|
142
140
|
template<class NodeTy,class EdgeTy>
|
|
143
141
|
class GenericNode: public SVFValue
|
|
144
142
|
{
|
|
145
|
-
friend class SVFIRWriter;
|
|
146
|
-
friend class SVFIRReader;
|
|
147
143
|
|
|
148
144
|
public:
|
|
149
145
|
typedef NodeTy NodeType;
|
|
@@ -340,8 +336,6 @@ public:
|
|
|
340
336
|
template<class NodeTy, class EdgeTy>
|
|
341
337
|
class GenericGraph
|
|
342
338
|
{
|
|
343
|
-
friend class SVFIRWriter;
|
|
344
|
-
friend class SVFIRReader;
|
|
345
339
|
friend class GenericGraphWriter<NodeTy, EdgeTy>;
|
|
346
340
|
friend class GenericGraphReader<NodeTy, EdgeTy>;
|
|
347
341
|
|
|
@@ -43,8 +43,6 @@ class RetPE;
|
|
|
43
43
|
typedef GenericEdge<ICFGNode> GenericICFGEdgeTy;
|
|
44
44
|
class ICFGEdge : public GenericICFGEdgeTy
|
|
45
45
|
{
|
|
46
|
-
friend class SVFIRWriter;
|
|
47
|
-
friend class SVFIRReader;
|
|
48
46
|
|
|
49
47
|
public:
|
|
50
48
|
/// ten types of ICFG edge
|
|
@@ -112,8 +110,6 @@ public:
|
|
|
112
110
|
*/
|
|
113
111
|
class IntraCFGEdge : public ICFGEdge
|
|
114
112
|
{
|
|
115
|
-
friend class SVFIRWriter;
|
|
116
|
-
friend class SVFIRReader;
|
|
117
113
|
friend class ICFG;
|
|
118
114
|
friend class SVFIRBuilder;
|
|
119
115
|
|
|
@@ -181,8 +177,6 @@ private:
|
|
|
181
177
|
*/
|
|
182
178
|
class CallCFGEdge : public ICFGEdge
|
|
183
179
|
{
|
|
184
|
-
friend class SVFIRWriter;
|
|
185
|
-
friend class SVFIRReader;
|
|
186
180
|
|
|
187
181
|
private:
|
|
188
182
|
std::vector<const CallPE*> callPEs;
|
|
@@ -232,8 +226,6 @@ public:
|
|
|
232
226
|
*/
|
|
233
227
|
class RetCFGEdge : public ICFGEdge
|
|
234
228
|
{
|
|
235
|
-
friend class SVFIRWriter;
|
|
236
|
-
friend class SVFIRReader;
|
|
237
229
|
|
|
238
230
|
private:
|
|
239
231
|
const RetPE* retPE;
|
|
@@ -53,8 +53,6 @@ typedef GenericNode<ICFGNode, ICFGEdge> GenericICFGNodeTy;
|
|
|
53
53
|
|
|
54
54
|
class ICFGNode : public GenericICFGNodeTy
|
|
55
55
|
{
|
|
56
|
-
friend class SVFIRWriter;
|
|
57
|
-
friend class SVFIRReader;
|
|
58
56
|
|
|
59
57
|
public:
|
|
60
58
|
|
|
@@ -194,14 +192,9 @@ public:
|
|
|
194
192
|
*/
|
|
195
193
|
class IntraICFGNode : public ICFGNode
|
|
196
194
|
{
|
|
197
|
-
friend class SVFIRWriter;
|
|
198
|
-
friend class SVFIRReader;
|
|
199
195
|
private:
|
|
200
196
|
bool isRet;
|
|
201
197
|
|
|
202
|
-
/// Constructor to create empty IntraICFGNode (for SVFIRReader/deserialization)
|
|
203
|
-
IntraICFGNode(NodeID id) : ICFGNode(id, IntraBlock), isRet(false) {}
|
|
204
|
-
|
|
205
198
|
public:
|
|
206
199
|
IntraICFGNode(NodeID id, const SVFBasicBlock* b, bool isReturn) : ICFGNode(id, IntraBlock), isRet(isReturn)
|
|
207
200
|
{
|
|
@@ -277,17 +270,12 @@ public:
|
|
|
277
270
|
*/
|
|
278
271
|
class FunEntryICFGNode : public InterICFGNode
|
|
279
272
|
{
|
|
280
|
-
friend class SVFIRWriter;
|
|
281
|
-
friend class SVFIRReader;
|
|
282
273
|
|
|
283
274
|
public:
|
|
284
275
|
typedef std::vector<const SVFVar *> FormalParmNodeVec;
|
|
285
276
|
private:
|
|
286
277
|
FormalParmNodeVec FPNodes;
|
|
287
278
|
|
|
288
|
-
/// Constructor to create empty FunEntryICFGNode (for SVFIRReader/deserialization)
|
|
289
|
-
FunEntryICFGNode(NodeID id) : InterICFGNode(id, FunEntryBlock) {}
|
|
290
|
-
|
|
291
279
|
public:
|
|
292
280
|
FunEntryICFGNode(NodeID id, const FunObjVar* f);
|
|
293
281
|
|
|
@@ -347,15 +335,10 @@ public:
|
|
|
347
335
|
*/
|
|
348
336
|
class FunExitICFGNode : public InterICFGNode
|
|
349
337
|
{
|
|
350
|
-
friend class SVFIRWriter;
|
|
351
|
-
friend class SVFIRReader;
|
|
352
338
|
|
|
353
339
|
private:
|
|
354
340
|
const SVFVar *formalRet;
|
|
355
341
|
|
|
356
|
-
/// Constructor to create empty FunExitICFGNode (for SVFIRReader/deserialization)
|
|
357
|
-
FunExitICFGNode(NodeID id) : InterICFGNode(id, FunExitBlock), formalRet{} {}
|
|
358
|
-
|
|
359
342
|
public:
|
|
360
343
|
FunExitICFGNode(NodeID id, const FunObjVar* f);
|
|
361
344
|
|
|
@@ -415,8 +398,6 @@ public:
|
|
|
415
398
|
*/
|
|
416
399
|
class CallICFGNode : public InterICFGNode
|
|
417
400
|
{
|
|
418
|
-
friend class SVFIRWriter;
|
|
419
|
-
friend class SVFIRReader;
|
|
420
401
|
|
|
421
402
|
public:
|
|
422
403
|
typedef std::vector<const ValVar *> ActualParmNodeVec;
|
|
@@ -431,9 +412,6 @@ protected:
|
|
|
431
412
|
s32_t virtualFunIdx; /// virtual function index of the virtual table(s) at a virtual call
|
|
432
413
|
std::string funNameOfVcall; /// the function name of this virtual call
|
|
433
414
|
|
|
434
|
-
/// Constructor to create empty CallICFGNode (for SVFIRReader/deserialization)
|
|
435
|
-
CallICFGNode(NodeID id) : InterICFGNode(id, FunCallBlock), ret{} {}
|
|
436
|
-
|
|
437
415
|
public:
|
|
438
416
|
CallICFGNode(NodeID id, const SVFBasicBlock* b, const SVFType* ty,
|
|
439
417
|
const FunObjVar* cf, bool iv, bool ivc, s32_t vfi,
|
|
@@ -591,19 +569,11 @@ public:
|
|
|
591
569
|
*/
|
|
592
570
|
class RetICFGNode : public InterICFGNode
|
|
593
571
|
{
|
|
594
|
-
friend class SVFIRWriter;
|
|
595
|
-
friend class SVFIRReader;
|
|
596
572
|
|
|
597
573
|
private:
|
|
598
574
|
const SVFVar *actualRet;
|
|
599
575
|
const CallICFGNode* callBlockNode;
|
|
600
576
|
|
|
601
|
-
/// Constructor to create empty RetICFGNode (for SVFIRReader/deserialization)
|
|
602
|
-
RetICFGNode(NodeID id)
|
|
603
|
-
: InterICFGNode(id, FunRetBlock), actualRet{}, callBlockNode{}
|
|
604
|
-
{
|
|
605
|
-
}
|
|
606
|
-
|
|
607
577
|
public:
|
|
608
578
|
RetICFGNode(NodeID id, CallICFGNode* cb) :
|
|
609
579
|
InterICFGNode(id, FunRetBlock), actualRet(nullptr), callBlockNode(cb)
|
|
@@ -51,8 +51,6 @@ class SVFBasicBlock;
|
|
|
51
51
|
typedef GenericEdge<SVFVar> GenericPAGEdgeTy;
|
|
52
52
|
class SVFStmt : public GenericPAGEdgeTy
|
|
53
53
|
{
|
|
54
|
-
friend class SVFIRWriter;
|
|
55
|
-
friend class SVFIRReader;
|
|
56
54
|
|
|
57
55
|
public:
|
|
58
56
|
/// Types of SVFIR statements
|
|
@@ -233,8 +231,6 @@ private:
|
|
|
233
231
|
*/
|
|
234
232
|
class AssignStmt : public SVFStmt
|
|
235
233
|
{
|
|
236
|
-
friend class SVFIRWriter;
|
|
237
|
-
friend class SVFIRReader;
|
|
238
234
|
|
|
239
235
|
private:
|
|
240
236
|
AssignStmt(); ///< place holder
|
|
@@ -248,8 +244,6 @@ private:
|
|
|
248
244
|
protected:
|
|
249
245
|
/// constructor
|
|
250
246
|
AssignStmt(SVFVar* s, SVFVar* d, GEdgeFlag k) : SVFStmt(s, d, k) {}
|
|
251
|
-
/// Constructor to create empty AssignStmt (for SVFIRReader/serialization)
|
|
252
|
-
AssignStmt(GEdgeFlag k) : SVFStmt(k) {}
|
|
253
247
|
|
|
254
248
|
public:
|
|
255
249
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
@@ -309,12 +303,8 @@ public:
|
|
|
309
303
|
*/
|
|
310
304
|
class AddrStmt: public AssignStmt
|
|
311
305
|
{
|
|
312
|
-
friend class SVFIRWriter;
|
|
313
|
-
friend class SVFIRReader;
|
|
314
306
|
|
|
315
307
|
private:
|
|
316
|
-
/// Constructs empty AddrStmt (for SVFIRReader/serialization)
|
|
317
|
-
AddrStmt() : AssignStmt(SVFStmt::Addr) {}
|
|
318
308
|
AddrStmt(const AddrStmt&); ///< place holder
|
|
319
309
|
void operator=(const AddrStmt&); ///< place holder
|
|
320
310
|
|
|
@@ -360,11 +350,8 @@ public:
|
|
|
360
350
|
*/
|
|
361
351
|
class CopyStmt: public AssignStmt
|
|
362
352
|
{
|
|
363
|
-
|
|
364
|
-
friend class SVFIRReader;
|
|
353
|
+
|
|
365
354
|
private:
|
|
366
|
-
/// Constructs empty CopyStmt (for SVFIRReader/serialization)
|
|
367
|
-
CopyStmt() : AssignStmt(SVFStmt::Copy) {}
|
|
368
355
|
CopyStmt(const CopyStmt&); ///< place holder
|
|
369
356
|
void operator=(const CopyStmt&); ///< place holder
|
|
370
357
|
public:
|
|
@@ -448,12 +435,8 @@ private:
|
|
|
448
435
|
*/
|
|
449
436
|
class StoreStmt: public AssignStmt
|
|
450
437
|
{
|
|
451
|
-
friend class SVFIRWriter;
|
|
452
|
-
friend class SVFIRReader;
|
|
453
438
|
|
|
454
439
|
private:
|
|
455
|
-
/// Constructs empty StoreStmt (for SVFIRReader/serialization)
|
|
456
|
-
StoreStmt() : AssignStmt(SVFStmt::Store) {}
|
|
457
440
|
StoreStmt(const StoreStmt&); ///< place holder
|
|
458
441
|
void operator=(const StoreStmt&); ///< place holder
|
|
459
442
|
|
|
@@ -485,12 +468,8 @@ public:
|
|
|
485
468
|
*/
|
|
486
469
|
class LoadStmt: public AssignStmt
|
|
487
470
|
{
|
|
488
|
-
friend class SVFIRWriter;
|
|
489
|
-
friend class SVFIRReader;
|
|
490
471
|
|
|
491
472
|
private:
|
|
492
|
-
/// Constructs empty LoadStmt (for SVFIRReader/serialization)
|
|
493
|
-
LoadStmt(): AssignStmt(SVFStmt::Load) {}
|
|
494
473
|
LoadStmt(const LoadStmt&); ///< place holder
|
|
495
474
|
void operator=(const LoadStmt&); ///< place holder
|
|
496
475
|
|
|
@@ -522,12 +501,8 @@ public:
|
|
|
522
501
|
*/
|
|
523
502
|
class GepStmt: public AssignStmt
|
|
524
503
|
{
|
|
525
|
-
friend class SVFIRWriter;
|
|
526
|
-
friend class SVFIRReader;
|
|
527
504
|
|
|
528
505
|
private:
|
|
529
|
-
/// Constructs empty GepStmt (for SVFIRReader/serialization)
|
|
530
|
-
GepStmt() : AssignStmt(SVFStmt::Gep) {}
|
|
531
506
|
GepStmt(const GepStmt &); ///< place holder
|
|
532
507
|
void operator=(const GepStmt &); ///< place holder
|
|
533
508
|
|
|
@@ -607,8 +582,6 @@ public:
|
|
|
607
582
|
*/
|
|
608
583
|
class CallPE: public AssignStmt
|
|
609
584
|
{
|
|
610
|
-
friend class SVFIRWriter;
|
|
611
|
-
friend class SVFIRReader;
|
|
612
585
|
|
|
613
586
|
private:
|
|
614
587
|
CallPE(const CallPE&); ///< place holder
|
|
@@ -616,9 +589,6 @@ private:
|
|
|
616
589
|
|
|
617
590
|
const CallICFGNode* call; /// the callsite statement calling from
|
|
618
591
|
const FunEntryICFGNode* entry; /// the function exit statement calling to
|
|
619
|
-
protected:
|
|
620
|
-
/// Constructs empty CallPE (for SVFIRReader/serialization)
|
|
621
|
-
CallPE(GEdgeFlag k = SVFStmt::Call) : AssignStmt(k), call{}, entry{} {}
|
|
622
592
|
|
|
623
593
|
public:
|
|
624
594
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
@@ -667,8 +637,6 @@ public:
|
|
|
667
637
|
*/
|
|
668
638
|
class RetPE: public AssignStmt
|
|
669
639
|
{
|
|
670
|
-
friend class SVFIRWriter;
|
|
671
|
-
friend class SVFIRReader;
|
|
672
640
|
|
|
673
641
|
private:
|
|
674
642
|
RetPE(const RetPE&); ///< place holder
|
|
@@ -677,10 +645,6 @@ private:
|
|
|
677
645
|
const CallICFGNode* call; /// the callsite statement returning to
|
|
678
646
|
const FunExitICFGNode* exit; /// the function exit statement returned from
|
|
679
647
|
|
|
680
|
-
protected:
|
|
681
|
-
/// Constructs empty RetPE (for SVFIRReader/serialization)
|
|
682
|
-
RetPE(GEdgeFlag k = SVFStmt::Ret) : AssignStmt(k), call{}, exit{} {}
|
|
683
|
-
|
|
684
648
|
public:
|
|
685
649
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
686
650
|
//@{
|
|
@@ -728,8 +692,6 @@ public:
|
|
|
728
692
|
*/
|
|
729
693
|
class MultiOpndStmt : public SVFStmt
|
|
730
694
|
{
|
|
731
|
-
friend class SVFIRWriter;
|
|
732
|
-
friend class SVFIRReader;
|
|
733
695
|
|
|
734
696
|
public:
|
|
735
697
|
typedef std::vector<SVFVar*> OPVars;
|
|
@@ -747,8 +709,6 @@ protected:
|
|
|
747
709
|
OPVars opVars;
|
|
748
710
|
/// Constructor, only used by subclasses but not external users
|
|
749
711
|
MultiOpndStmt(SVFVar* r, const OPVars& opnds, GEdgeFlag k);
|
|
750
|
-
/// Constructs empty MultiOpndStmt (for SVFIRReader/serialization)
|
|
751
|
-
MultiOpndStmt(GEdgeFlag k) : SVFStmt(k) {}
|
|
752
712
|
|
|
753
713
|
public:
|
|
754
714
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
@@ -810,15 +770,11 @@ public:
|
|
|
810
770
|
*/
|
|
811
771
|
class PhiStmt: public MultiOpndStmt
|
|
812
772
|
{
|
|
813
|
-
friend class SVFIRWriter;
|
|
814
|
-
friend class SVFIRReader;
|
|
815
773
|
|
|
816
774
|
public:
|
|
817
775
|
typedef std::vector<const ICFGNode*> OpICFGNodeVec;
|
|
818
776
|
|
|
819
777
|
private:
|
|
820
|
-
/// Constructs empty PhiStmt (for SVFIRReader/serialization)
|
|
821
|
-
PhiStmt() : MultiOpndStmt(SVFStmt::Phi) {}
|
|
822
778
|
PhiStmt(const PhiStmt&); ///< place holder
|
|
823
779
|
void operator=(const PhiStmt&); ///< place holder
|
|
824
780
|
|
|
@@ -878,12 +834,8 @@ public:
|
|
|
878
834
|
*/
|
|
879
835
|
class SelectStmt: public MultiOpndStmt
|
|
880
836
|
{
|
|
881
|
-
friend class SVFIRWriter;
|
|
882
|
-
friend class SVFIRReader;
|
|
883
837
|
|
|
884
838
|
private:
|
|
885
|
-
/// Constructs empty SelectStmt (for SVFIRReader/serialization)
|
|
886
|
-
SelectStmt() : MultiOpndStmt(SVFStmt::Select), condition{} {}
|
|
887
839
|
SelectStmt(const SelectStmt&); ///< place holder
|
|
888
840
|
void operator=(const SelectStmt&); ///< place holder
|
|
889
841
|
|
|
@@ -933,12 +885,8 @@ public:
|
|
|
933
885
|
*/
|
|
934
886
|
class CmpStmt: public MultiOpndStmt
|
|
935
887
|
{
|
|
936
|
-
friend class SVFIRWriter;
|
|
937
|
-
friend class SVFIRReader;
|
|
938
888
|
|
|
939
889
|
private:
|
|
940
|
-
/// Constructs empty CmpStmt (for SVFIRReader/serialization)
|
|
941
|
-
CmpStmt() : MultiOpndStmt(SVFStmt::Cmp) {}
|
|
942
890
|
CmpStmt(const CmpStmt&); ///< place holder
|
|
943
891
|
void operator=(const CmpStmt&); ///< place holder
|
|
944
892
|
|
|
@@ -1019,12 +967,8 @@ public:
|
|
|
1019
967
|
*/
|
|
1020
968
|
class BinaryOPStmt: public MultiOpndStmt
|
|
1021
969
|
{
|
|
1022
|
-
friend class SVFIRWriter;
|
|
1023
|
-
friend class SVFIRReader;
|
|
1024
970
|
|
|
1025
971
|
private:
|
|
1026
|
-
/// Constructs empty BinaryOPStmt (for SVFIRReader/serialization)
|
|
1027
|
-
BinaryOPStmt() : MultiOpndStmt(SVFStmt::BinaryOp) {}
|
|
1028
972
|
BinaryOPStmt(const BinaryOPStmt&); ///< place holder
|
|
1029
973
|
void operator=(const BinaryOPStmt&); ///< place holder
|
|
1030
974
|
u32_t opcode;
|
|
@@ -1089,12 +1033,8 @@ public:
|
|
|
1089
1033
|
*/
|
|
1090
1034
|
class UnaryOPStmt: public SVFStmt
|
|
1091
1035
|
{
|
|
1092
|
-
friend class SVFIRWriter;
|
|
1093
|
-
friend class SVFIRReader;
|
|
1094
1036
|
|
|
1095
1037
|
private:
|
|
1096
|
-
/// Constructs empty UnaryOPStmt (for SVFIRReader/serialization)
|
|
1097
|
-
UnaryOPStmt() : SVFStmt(SVFStmt::UnaryOp) {}
|
|
1098
1038
|
UnaryOPStmt(const UnaryOPStmt&); ///< place holder
|
|
1099
1039
|
void operator=(const UnaryOPStmt&); ///< place holder
|
|
1100
1040
|
SVFVar* getSrcNode(); ///< place holder, use getOpVar() instead
|
|
@@ -1156,15 +1096,11 @@ public:
|
|
|
1156
1096
|
*/
|
|
1157
1097
|
class BranchStmt: public SVFStmt
|
|
1158
1098
|
{
|
|
1159
|
-
friend class SVFIRWriter;
|
|
1160
|
-
friend class SVFIRReader;
|
|
1161
1099
|
|
|
1162
1100
|
public:
|
|
1163
1101
|
typedef std::vector<std::pair<const ICFGNode*, s32_t>> SuccAndCondPairVec;
|
|
1164
1102
|
|
|
1165
1103
|
private:
|
|
1166
|
-
/// Constructs empty BranchStmt (for SVFIRReader/serialization)
|
|
1167
|
-
BranchStmt() : SVFStmt(SVFStmt::Branch), cond{}, brInst{} {}
|
|
1168
1104
|
BranchStmt(const BranchStmt&); ///< place holder
|
|
1169
1105
|
void operator=(const BranchStmt&); ///< place holder
|
|
1170
1106
|
SVFVar* getSrcNode(); ///< place holder, not allowed
|
|
@@ -1246,12 +1182,8 @@ public:
|
|
|
1246
1182
|
*/
|
|
1247
1183
|
class TDForkPE: public CallPE
|
|
1248
1184
|
{
|
|
1249
|
-
friend class SVFIRWriter;
|
|
1250
|
-
friend class SVFIRReader;
|
|
1251
1185
|
|
|
1252
1186
|
private:
|
|
1253
|
-
/// Constructs empty TDForkPE (for SVFIRReader/serialization)
|
|
1254
|
-
TDForkPE() : CallPE(SVFStmt::ThreadFork) {}
|
|
1255
1187
|
TDForkPE(const TDForkPE&); ///< place holder
|
|
1256
1188
|
void operator=(const TDForkPE&); ///< place holder
|
|
1257
1189
|
|
|
@@ -1287,12 +1219,8 @@ public:
|
|
|
1287
1219
|
*/
|
|
1288
1220
|
class TDJoinPE: public RetPE
|
|
1289
1221
|
{
|
|
1290
|
-
friend class SVFIRWriter;
|
|
1291
|
-
friend class SVFIRReader;
|
|
1292
1222
|
|
|
1293
1223
|
private:
|
|
1294
|
-
/// Constructs empty TDJoinPE (for SVFIRReader/serialization)
|
|
1295
|
-
TDJoinPE() : RetPE(SVFStmt::ThreadJoin) {}
|
|
1296
1224
|
TDJoinPE(const TDJoinPE&); ///< place holder
|
|
1297
1225
|
void operator=(const TDJoinPE&); ///< place holder
|
|
1298
1226
|
|
|
@@ -45,8 +45,6 @@ class SVFPointerType;
|
|
|
45
45
|
*/
|
|
46
46
|
class StInfo
|
|
47
47
|
{
|
|
48
|
-
friend class SVFIRWriter;
|
|
49
|
-
friend class SVFIRReader;
|
|
50
48
|
|
|
51
49
|
private:
|
|
52
50
|
/// flattened field indices of a struct (ignoring arrays)
|
|
@@ -155,8 +153,7 @@ public:
|
|
|
155
153
|
|
|
156
154
|
class SVFType
|
|
157
155
|
{
|
|
158
|
-
|
|
159
|
-
friend class SVFIRReader;
|
|
156
|
+
|
|
160
157
|
friend class LLVMModuleSet;
|
|
161
158
|
|
|
162
159
|
public:
|
|
@@ -276,8 +273,6 @@ std::ostream& operator<<(std::ostream& os, const SVFType& type);
|
|
|
276
273
|
|
|
277
274
|
class SVFPointerType : public SVFType
|
|
278
275
|
{
|
|
279
|
-
friend class SVFIRWriter;
|
|
280
|
-
friend class SVFIRReader;
|
|
281
276
|
|
|
282
277
|
public:
|
|
283
278
|
SVFPointerType(u32_t i, u32_t byteSize = 1)
|
|
@@ -295,8 +290,6 @@ public:
|
|
|
295
290
|
|
|
296
291
|
class SVFIntegerType : public SVFType
|
|
297
292
|
{
|
|
298
|
-
friend class SVFIRWriter;
|
|
299
|
-
friend class SVFIRReader;
|
|
300
293
|
|
|
301
294
|
private:
|
|
302
295
|
short signAndWidth; ///< For printing
|
|
@@ -323,8 +316,6 @@ public:
|
|
|
323
316
|
|
|
324
317
|
class SVFFunctionType : public SVFType
|
|
325
318
|
{
|
|
326
|
-
friend class SVFIRWriter;
|
|
327
|
-
friend class SVFIRReader;
|
|
328
319
|
|
|
329
320
|
private:
|
|
330
321
|
const SVFType* retTy;
|
|
@@ -362,8 +353,6 @@ public:
|
|
|
362
353
|
|
|
363
354
|
class SVFStructType : public SVFType
|
|
364
355
|
{
|
|
365
|
-
friend class SVFIRWriter;
|
|
366
|
-
friend class SVFIRReader;
|
|
367
356
|
|
|
368
357
|
private:
|
|
369
358
|
/// @brief Field for printing & debugging
|
|
@@ -404,8 +393,6 @@ public:
|
|
|
404
393
|
|
|
405
394
|
class SVFArrayType : public SVFType
|
|
406
395
|
{
|
|
407
|
-
friend class SVFIRWriter;
|
|
408
|
-
friend class SVFIRReader;
|
|
409
396
|
|
|
410
397
|
private:
|
|
411
398
|
unsigned numOfElement; /// For printing & debugging
|
|
@@ -444,8 +431,6 @@ public:
|
|
|
444
431
|
|
|
445
432
|
class SVFOtherType : public SVFType
|
|
446
433
|
{
|
|
447
|
-
friend class SVFIRWriter;
|
|
448
|
-
friend class SVFIRReader;
|
|
449
434
|
|
|
450
435
|
private:
|
|
451
436
|
std::string repr; /// Field representation for printing
|