svf-lib 1.0.788 → 1.0.792

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.
Files changed (37) hide show
  1. package/SVF-linux/include/Graphs/ICFG.h +1 -1
  2. package/SVF-linux/include/Graphs/ICFGNode.h +2 -2
  3. package/SVF-osx/Release-build/lib/CUDD/libCudd.a +0 -0
  4. package/SVF-osx/Release-build/lib/libSvf.a +0 -0
  5. package/SVF-osx/include/DDA/ContextDDA.h +3 -3
  6. package/SVF-osx/include/DDA/DDAClient.h +2 -2
  7. package/SVF-osx/include/DDA/DDAVFSolver.h +2 -2
  8. package/SVF-osx/include/DDA/FlowDDA.h +2 -2
  9. package/SVF-osx/include/Graphs/ICFG.h +33 -33
  10. package/SVF-osx/include/Graphs/ICFGNode.h +33 -33
  11. package/SVF-osx/include/Graphs/ICFGStat.h +11 -11
  12. package/SVF-osx/include/Graphs/PTACallGraph.h +19 -19
  13. package/SVF-osx/include/Graphs/SVFG.h +16 -16
  14. package/SVF-osx/include/Graphs/SVFGNode.h +14 -14
  15. package/SVF-osx/include/Graphs/SVFGOPT.h +1 -1
  16. package/SVF-osx/include/Graphs/ThreadCallGraph.h +25 -25
  17. package/SVF-osx/include/Graphs/VFG.h +10 -10
  18. package/SVF-osx/include/Graphs/VFGNode.h +8 -8
  19. package/SVF-osx/include/MSSA/MSSAMuChi.h +6 -6
  20. package/SVF-osx/include/MSSA/MemRegion.h +24 -24
  21. package/SVF-osx/include/MSSA/MemSSA.h +10 -10
  22. package/SVF-osx/include/MTA/LockResultValidator.h +2 -2
  23. package/SVF-osx/include/MTA/MHP.h +4 -4
  24. package/SVF-osx/include/MTA/PCG.h +1 -1
  25. package/SVF-osx/include/MTA/TCT.h +2 -2
  26. package/SVF-osx/include/MemoryModel/PointerAnalysis.h +12 -12
  27. package/SVF-osx/include/MemoryModel/SVFIR.h +21 -21
  28. package/SVF-osx/include/MemoryModel/SVFStatements.h +11 -11
  29. package/SVF-osx/include/SABER/LeakChecker.h +4 -4
  30. package/SVF-osx/include/SABER/ProgSlice.h +2 -2
  31. package/SVF-osx/include/SABER/SaberCheckerAPI.h +4 -4
  32. package/SVF-osx/include/SABER/SaberSVFGBuilder.h +1 -1
  33. package/SVF-osx/include/SABER/SrcSnkDDA.h +1 -1
  34. package/SVF-osx/include/SVF-FE/ICFGBuilder.h +4 -4
  35. package/SVF-osx/include/SVF-FE/SVFIRBuilder.h +5 -5
  36. package/SVF-osx/include/Util/NodeIDAllocator.h +3 -0
  37. package/package.json +1 -1
@@ -259,7 +259,7 @@ private:
259
259
  {
260
260
  CallICFGNode* callBlockNode = getCallBlockNode(cs);
261
261
  RetICFGNode* sNode = new RetICFGNode(totalICFGNode++, cs, callBlockNode);
262
- callBlockNode->setRetBlockNode(sNode);
262
+ callBlockNode->setRetICFGNode(sNode);
263
263
  addICFGNode(sNode);
264
264
  CSToRetNodeMap[cs] = sNode;
265
265
  return sNode;
@@ -384,14 +384,14 @@ public:
384
384
  }
385
385
 
386
386
  /// Return callsite
387
- inline const RetICFGNode* getRetBlockNode() const
387
+ inline const RetICFGNode* getRetICFGNode() const
388
388
  {
389
389
  assert(ret && "RetICFGNode not set?");
390
390
  return ret;
391
391
  }
392
392
 
393
393
  /// Return callsite
394
- inline void setRetBlockNode(const RetICFGNode* r)
394
+ inline void setRetICFGNode(const RetICFGNode* r)
395
395
  {
396
396
  ret = r;
397
397
  }
Binary file
@@ -82,7 +82,7 @@ public:
82
82
  virtual bool isHeapCondMemObj(const CxtVar& var, const StoreSVFGNode* store) override;
83
83
 
84
84
  /// refine indirect call edge
85
- bool testIndCallReachability(CxtLocDPItem& dpm, const SVFFunction* callee, const CallBlockNode* cs);
85
+ bool testIndCallReachability(CxtLocDPItem& dpm, const SVFFunction* callee, const CallICFGNode* cs);
86
86
 
87
87
  /// get callsite id from call, return 0 if it is a spurious call edge
88
88
  CallSiteID getCSIDAtCall(CxtLocDPItem& dpm, const SVFGEdge* edge);
@@ -111,13 +111,13 @@ public:
111
111
  }
112
112
  /// Update call graph.
113
113
  //@{
114
- virtual void updateCallGraphAndSVFG(const CxtLocDPItem& dpm,const CallBlockNode* cs,SVFGEdgeSet& svfgEdges) override
114
+ virtual void updateCallGraphAndSVFG(const CxtLocDPItem& dpm,const CallICFGNode* cs,SVFGEdgeSet& svfgEdges) override
115
115
  {
116
116
  CallEdgeMap newEdges;
117
117
  resolveIndCalls(cs, getBVPointsTo(getCachedPointsTo(dpm)), newEdges);
118
118
  for (CallEdgeMap::const_iterator iter = newEdges.begin(),eiter = newEdges.end(); iter != eiter; iter++)
119
119
  {
120
- const CallBlockNode* newcs = iter->first;
120
+ const CallICFGNode* newcs = iter->first;
121
121
  const FunctionSet & functions = iter->second;
122
122
  for (FunctionSet::const_iterator func_iter = functions.begin(); func_iter != functions.end(); func_iter++)
123
123
  {
@@ -102,7 +102,7 @@ private:
102
102
  class FunptrDDAClient : public DDAClient
103
103
  {
104
104
  private:
105
- typedef OrderedMap<NodeID,const CallBlockNode*> VTablePtrToCallSiteMap;
105
+ typedef OrderedMap<NodeID,const CallICFGNode*> VTablePtrToCallSiteMap;
106
106
  VTablePtrToCallSiteMap vtableToCallSiteMap;
107
107
  public:
108
108
  FunptrDDAClient(SVFModule* module) : DDAClient(module) {}
@@ -133,7 +133,7 @@ public:
133
133
  virtual void performStat(PointerAnalysis* pta);
134
134
 
135
135
  private:
136
- typedef OrderedMap<NodeID,const CallBlockNode*> VTablePtrToCallSiteMap;
136
+ typedef OrderedMap<NodeID,const CallICFGNode*> VTablePtrToCallSiteMap;
137
137
  VTablePtrToCallSiteMap vtableToCallSiteMap;
138
138
  PAGNodeSet loadSrcNodes;
139
139
  PAGNodeSet storeDstNodes;
@@ -467,7 +467,7 @@ protected:
467
467
  /// resolve function pointer
468
468
  void resolveFunPtr(const DPIm& dpm)
469
469
  {
470
- if(const CallBlockNode* cbn= getSVFG()->isCallSiteRetSVFGNode(dpm.getLoc()))
470
+ if(const CallICFGNode* cbn= getSVFG()->isCallSiteRetSVFGNode(dpm.getLoc()))
471
471
  {
472
472
  if(_pag->isIndirectCallSites(cbn))
473
473
  {
@@ -507,7 +507,7 @@ protected:
507
507
  return true;
508
508
  }
509
509
  /// Update call graph
510
- virtual inline void updateCallGraphAndSVFG(const DPIm&, const CallBlockNode*, SVFGEdgeSet&) {}
510
+ virtual inline void updateCallGraphAndSVFG(const DPIm&, const CallICFGNode*, SVFGEdgeSet&) {}
511
511
  //@}
512
512
 
513
513
  ///Visited flags to avoid cycles
@@ -104,13 +104,13 @@ public:
104
104
 
105
105
  /// Update call graph.
106
106
  //@{
107
- virtual void updateCallGraphAndSVFG(const LocDPItem& dpm,const CallBlockNode* cs,SVFGEdgeSet& svfgEdges) override
107
+ virtual void updateCallGraphAndSVFG(const LocDPItem& dpm,const CallICFGNode* cs,SVFGEdgeSet& svfgEdges) override
108
108
  {
109
109
  CallEdgeMap newEdges;
110
110
  resolveIndCalls(cs, getCachedPointsTo(dpm), newEdges);
111
111
  for (CallEdgeMap::const_iterator iter = newEdges.begin(),eiter = newEdges.end(); iter != eiter; iter++)
112
112
  {
113
- const CallBlockNode* newcs = iter->first;
113
+ const CallICFGNode* newcs = iter->first;
114
114
  const FunctionSet & functions = iter->second;
115
115
  for (FunctionSet::const_iterator func_iter = functions.begin(); func_iter != functions.end(); func_iter++)
116
116
  {
@@ -55,21 +55,21 @@ public:
55
55
  typedef ICFGNodeIDToNodeMapTy::iterator iterator;
56
56
  typedef ICFGNodeIDToNodeMapTy::const_iterator const_iterator;
57
57
 
58
- typedef Map<const SVFFunction*, FunEntryBlockNode *> FunToFunEntryNodeMapTy;
59
- typedef Map<const SVFFunction*, FunExitBlockNode *> FunToFunExitNodeMapTy;
60
- typedef Map<const Instruction*, CallBlockNode *> CSToCallNodeMapTy;
61
- typedef Map<const Instruction*, RetBlockNode *> CSToRetNodeMapTy;
62
- typedef Map<const Instruction*, IntraBlockNode *> InstToBlockNodeMapTy;
58
+ typedef Map<const SVFFunction*, FunEntryICFGNode *> FunToFunEntryNodeMapTy;
59
+ typedef Map<const SVFFunction*, FunExitICFGNode *> FunToFunExitNodeMapTy;
60
+ typedef Map<const Instruction*, CallICFGNode *> CSToCallNodeMapTy;
61
+ typedef Map<const Instruction*, RetICFGNode *> CSToRetNodeMapTy;
62
+ typedef Map<const Instruction*, IntraICFGNode *> InstToBlockNodeMapTy;
63
63
 
64
64
  NodeID totalICFGNode;
65
65
 
66
66
  private:
67
- FunToFunEntryNodeMapTy FunToFunEntryNodeMap; ///< map a function to its FunExitBlockNode
68
- FunToFunExitNodeMapTy FunToFunExitNodeMap; ///< map a function to its FunEntryBlockNode
69
- CSToCallNodeMapTy CSToCallNodeMap; ///< map a callsite to its CallBlockNode
70
- CSToRetNodeMapTy CSToRetNodeMap; ///< map a callsite to its RetBlockNode
67
+ FunToFunEntryNodeMapTy FunToFunEntryNodeMap; ///< map a function to its FunExitICFGNode
68
+ FunToFunExitNodeMapTy FunToFunExitNodeMap; ///< map a function to its FunEntryICFGNode
69
+ CSToCallNodeMapTy CSToCallNodeMap; ///< map a callsite to its CallICFGNode
70
+ CSToRetNodeMapTy CSToRetNodeMap; ///< map a callsite to its RetICFGNode
71
71
  InstToBlockNodeMapTy InstToBlockNodeMap; ///< map a basic block to its ICFGNode
72
- GlobalBlockNode* globalBlockNode; ///< unique basic block for all globals
72
+ GlobalICFGNode* globalBlockNode; ///< unique basic block for all globals
73
73
 
74
74
  public:
75
75
  /// Constructor
@@ -165,17 +165,17 @@ public:
165
165
  //@{
166
166
  ICFGNode* getBlockICFGNode(const Instruction* inst);
167
167
 
168
- CallBlockNode* getCallBlockNode(const Instruction* inst);
168
+ CallICFGNode* getCallBlockNode(const Instruction* inst);
169
169
 
170
- RetBlockNode* getRetBlockNode(const Instruction* inst);
170
+ RetICFGNode* getRetBlockNode(const Instruction* inst);
171
171
 
172
- IntraBlockNode* getIntraBlockNode(const Instruction* inst);
172
+ IntraICFGNode* getIntraBlockNode(const Instruction* inst);
173
173
 
174
- FunEntryBlockNode* getFunEntryBlockNode(const SVFFunction* fun);
174
+ FunEntryICFGNode* getFunEntryBlockNode(const SVFFunction* fun);
175
175
 
176
- FunExitBlockNode* getFunExitBlockNode(const SVFFunction* fun);
176
+ FunExitICFGNode* getFunExitBlockNode(const SVFFunction* fun);
177
177
 
178
- inline GlobalBlockNode* getGlobalBlockNode() const
178
+ inline GlobalICFGNode* getGlobalBlockNode() const
179
179
  {
180
180
  return globalBlockNode;
181
181
  }
@@ -184,62 +184,62 @@ public:
184
184
  private:
185
185
 
186
186
  /// Get/Add IntraBlock ICFGNode
187
- inline IntraBlockNode* getIntraBlockICFGNode(const Instruction* inst)
187
+ inline IntraICFGNode* getIntraBlockICFGNode(const Instruction* inst)
188
188
  {
189
189
  InstToBlockNodeMapTy::const_iterator it = InstToBlockNodeMap.find(inst);
190
190
  if (it == InstToBlockNodeMap.end())
191
191
  return nullptr;
192
192
  return it->second;
193
193
  }
194
- inline IntraBlockNode* addIntraBlockICFGNode(const Instruction* inst)
194
+ inline IntraICFGNode* addIntraBlockICFGNode(const Instruction* inst)
195
195
  {
196
- IntraBlockNode* sNode = new IntraBlockNode(totalICFGNode++,inst);
196
+ IntraICFGNode* sNode = new IntraICFGNode(totalICFGNode++,inst);
197
197
  addICFGNode(sNode);
198
198
  InstToBlockNodeMap[inst] = sNode;
199
199
  return sNode;
200
200
  }
201
201
 
202
202
  /// Get/Add a function entry node
203
- inline FunEntryBlockNode* getFunEntryICFGNode(const SVFFunction* fun)
203
+ inline FunEntryICFGNode* getFunEntryICFGNode(const SVFFunction* fun)
204
204
  {
205
205
  FunToFunEntryNodeMapTy::const_iterator it = FunToFunEntryNodeMap.find(fun);
206
206
  if (it == FunToFunEntryNodeMap.end())
207
207
  return nullptr;
208
208
  return it->second;
209
209
  }
210
- inline FunEntryBlockNode* addFunEntryICFGNode(const SVFFunction* fun)
210
+ inline FunEntryICFGNode* addFunEntryICFGNode(const SVFFunction* fun)
211
211
  {
212
- FunEntryBlockNode* sNode = new FunEntryBlockNode(totalICFGNode++,fun);
212
+ FunEntryICFGNode* sNode = new FunEntryICFGNode(totalICFGNode++,fun);
213
213
  addICFGNode(sNode);
214
214
  FunToFunEntryNodeMap[fun] = sNode;
215
215
  return sNode;
216
216
  }
217
217
 
218
218
  /// Get/Add a function exit node
219
- inline FunExitBlockNode* getFunExitICFGNode(const SVFFunction* fun)
219
+ inline FunExitICFGNode* getFunExitICFGNode(const SVFFunction* fun)
220
220
  {
221
221
  FunToFunExitNodeMapTy::const_iterator it = FunToFunExitNodeMap.find(fun);
222
222
  if (it == FunToFunExitNodeMap.end())
223
223
  return nullptr;
224
224
  return it->second;
225
225
  }
226
- inline FunExitBlockNode* addFunExitICFGNode(const SVFFunction* fun)
226
+ inline FunExitICFGNode* addFunExitICFGNode(const SVFFunction* fun)
227
227
  {
228
- FunExitBlockNode* sNode = new FunExitBlockNode(totalICFGNode++, fun);
228
+ FunExitICFGNode* sNode = new FunExitICFGNode(totalICFGNode++, fun);
229
229
  addICFGNode(sNode);
230
230
  FunToFunExitNodeMap[fun] = sNode;
231
231
  return sNode;
232
232
  }
233
233
 
234
234
  /// Get/Add a call node
235
- inline CallBlockNode* addCallICFGNode(const Instruction* cs)
235
+ inline CallICFGNode* addCallICFGNode(const Instruction* cs)
236
236
  {
237
- CallBlockNode* sNode = new CallBlockNode(totalICFGNode++, cs);
237
+ CallICFGNode* sNode = new CallICFGNode(totalICFGNode++, cs);
238
238
  addICFGNode(sNode);
239
239
  CSToCallNodeMap[cs] = sNode;
240
240
  return sNode;
241
241
  }
242
- inline CallBlockNode* getCallICFGNode(const Instruction* cs)
242
+ inline CallICFGNode* getCallICFGNode(const Instruction* cs)
243
243
  {
244
244
  CSToCallNodeMapTy::const_iterator it = CSToCallNodeMap.find(cs);
245
245
  if (it == CSToCallNodeMap.end())
@@ -248,18 +248,18 @@ private:
248
248
  }
249
249
 
250
250
  /// Get/Add a return node
251
- inline RetBlockNode* getRetICFGNode(const Instruction* cs)
251
+ inline RetICFGNode* getRetICFGNode(const Instruction* cs)
252
252
  {
253
253
  CSToRetNodeMapTy::const_iterator it = CSToRetNodeMap.find(cs);
254
254
  if (it == CSToRetNodeMap.end())
255
255
  return nullptr;
256
256
  return it->second;
257
257
  }
258
- inline RetBlockNode* addRetICFGNode(const Instruction* cs)
258
+ inline RetICFGNode* addRetICFGNode(const Instruction* cs)
259
259
  {
260
- CallBlockNode* callBlockNode = getCallBlockNode(cs);
261
- RetBlockNode* sNode = new RetBlockNode(totalICFGNode++, cs, callBlockNode);
262
- callBlockNode->setRetBlockNode(sNode);
260
+ CallICFGNode* callBlockNode = getCallBlockNode(cs);
261
+ RetICFGNode* sNode = new RetICFGNode(totalICFGNode++, cs, callBlockNode);
262
+ callBlockNode->setRetICFGNode(sNode);
263
263
  addICFGNode(sNode);
264
264
  CSToRetNodeMap[cs] = sNode;
265
265
  return sNode;
@@ -38,7 +38,7 @@ namespace SVF
38
38
  {
39
39
 
40
40
  class ICFGNode;
41
- class RetBlockNode;
41
+ class RetICFGNode;
42
42
  class CallPE;
43
43
  class RetPE;
44
44
  class SVFStmt;
@@ -139,18 +139,18 @@ protected:
139
139
  /*!
140
140
  * Unique ICFG node stands for all global initializations
141
141
  */
142
- class GlobalBlockNode : public ICFGNode
142
+ class GlobalICFGNode : public ICFGNode
143
143
  {
144
144
 
145
145
  public:
146
- GlobalBlockNode(NodeID id) : ICFGNode(id, GlobalBlock)
146
+ GlobalICFGNode(NodeID id) : ICFGNode(id, GlobalBlock)
147
147
  {
148
148
  bb = nullptr;
149
149
  }
150
150
 
151
151
  /// Methods for support type inquiry through isa, cast, and dyn_cast:
152
152
  //@{
153
- static inline bool classof(const GlobalBlockNode *)
153
+ static inline bool classof(const GlobalICFGNode *)
154
154
  {
155
155
  return true;
156
156
  }
@@ -172,13 +172,13 @@ public:
172
172
  /*!
173
173
  * ICFG node stands for a program statement
174
174
  */
175
- class IntraBlockNode : public ICFGNode
175
+ class IntraICFGNode : public ICFGNode
176
176
  {
177
177
  private:
178
178
  const Instruction *inst;
179
179
 
180
180
  public:
181
- IntraBlockNode(NodeID id, const Instruction *i) : ICFGNode(id, IntraBlock), inst(i)
181
+ IntraICFGNode(NodeID id, const Instruction *i) : ICFGNode(id, IntraBlock), inst(i)
182
182
  {
183
183
  fun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(inst->getFunction());
184
184
  bb = inst->getParent();
@@ -191,7 +191,7 @@ public:
191
191
 
192
192
  /// Methods for support type inquiry through isa, cast, and dyn_cast:
193
193
  //@{
194
- static inline bool classof(const IntraBlockNode *)
194
+ static inline bool classof(const IntraICFGNode *)
195
195
  {
196
196
  return true;
197
197
  }
@@ -210,18 +210,18 @@ public:
210
210
  const std::string toString() const;
211
211
  };
212
212
 
213
- class InterBlockNode : public ICFGNode
213
+ class InterICFGNode : public ICFGNode
214
214
  {
215
215
 
216
216
  public:
217
217
  /// Constructor
218
- InterBlockNode(NodeID id, ICFGNodeK k) : ICFGNode(id, k)
218
+ InterICFGNode(NodeID id, ICFGNodeK k) : ICFGNode(id, k)
219
219
  {
220
220
  }
221
221
 
222
222
  /// Methods for support type inquiry through isa, cast, and dyn_cast:
223
223
  //@{
224
- static inline bool classof(const InterBlockNode *)
224
+ static inline bool classof(const InterICFGNode *)
225
225
  {
226
226
  return true;
227
227
  }
@@ -248,7 +248,7 @@ public:
248
248
  /*!
249
249
  * Function entry ICFGNode containing a set of FormalParmVFGNodes of a function
250
250
  */
251
- class FunEntryBlockNode : public InterBlockNode
251
+ class FunEntryICFGNode : public InterICFGNode
252
252
  {
253
253
 
254
254
  public:
@@ -256,7 +256,7 @@ public:
256
256
  private:
257
257
  FormalParmNodeVec FPNodes;
258
258
  public:
259
- FunEntryBlockNode(NodeID id, const SVFFunction* f);
259
+ FunEntryICFGNode(NodeID id, const SVFFunction* f);
260
260
 
261
261
  /// Return function
262
262
  inline const SVFFunction* getFun() const
@@ -278,12 +278,12 @@ public:
278
278
 
279
279
  ///Methods for support type inquiry through isa, cast, and dyn_cast:
280
280
  //@{
281
- static inline bool classof(const FunEntryBlockNode *)
281
+ static inline bool classof(const FunEntryICFGNode *)
282
282
  {
283
283
  return true;
284
284
  }
285
285
 
286
- static inline bool classof(const InterBlockNode *node)
286
+ static inline bool classof(const InterICFGNode *node)
287
287
  {
288
288
  return node->getNodeKind() == FunEntryBlock;
289
289
  }
@@ -305,14 +305,14 @@ public:
305
305
  /*!
306
306
  * Function exit ICFGNode containing (at most one) FormalRetVFGNodes of a function
307
307
  */
308
- class FunExitBlockNode : public InterBlockNode
308
+ class FunExitICFGNode : public InterICFGNode
309
309
  {
310
310
 
311
311
  private:
312
312
  const SVFFunction* fun;
313
313
  const SVFVar *formalRet;
314
314
  public:
315
- FunExitBlockNode(NodeID id, const SVFFunction* f);
315
+ FunExitICFGNode(NodeID id, const SVFFunction* f);
316
316
 
317
317
  /// Return function
318
318
  inline const SVFFunction* getFun() const
@@ -334,7 +334,7 @@ public:
334
334
 
335
335
  ///Methods for support type inquiry through isa, cast, and dyn_cast:
336
336
  //@{
337
- static inline bool classof(const FunEntryBlockNode *)
337
+ static inline bool classof(const FunEntryICFGNode *)
338
338
  {
339
339
  return true;
340
340
  }
@@ -344,7 +344,7 @@ public:
344
344
  return node->getNodeKind() == FunExitBlock;
345
345
  }
346
346
 
347
- static inline bool classof(const InterBlockNode *node)
347
+ static inline bool classof(const InterICFGNode *node)
348
348
  {
349
349
  return node->getNodeKind() == FunExitBlock;
350
350
  }
@@ -361,17 +361,17 @@ public:
361
361
  /*!
362
362
  * Call ICFGNode containing a set of ActualParmVFGNodes at a callsite
363
363
  */
364
- class CallBlockNode : public InterBlockNode
364
+ class CallICFGNode : public InterICFGNode
365
365
  {
366
366
 
367
367
  public:
368
368
  typedef std::vector<const SVFVar *> ActualParmNodeVec;
369
369
  private:
370
370
  const Instruction* cs;
371
- const RetBlockNode* ret;
371
+ const RetICFGNode* ret;
372
372
  ActualParmNodeVec APNodes;
373
373
  public:
374
- CallBlockNode(NodeID id, const Instruction* c) : InterBlockNode(id, FunCallBlock), cs(c), ret(nullptr)
374
+ CallICFGNode(NodeID id, const Instruction* c) : InterICFGNode(id, FunCallBlock), cs(c), ret(nullptr)
375
375
  {
376
376
  fun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(cs->getFunction());
377
377
  bb = cs->getParent();
@@ -384,14 +384,14 @@ public:
384
384
  }
385
385
 
386
386
  /// Return callsite
387
- inline const RetBlockNode* getRetBlockNode() const
387
+ inline const RetICFGNode* getRetICFGNode() const
388
388
  {
389
- assert(ret && "RetBlockNode not set?");
389
+ assert(ret && "RetICFGNode not set?");
390
390
  return ret;
391
391
  }
392
392
 
393
393
  /// Return callsite
394
- inline void setRetBlockNode(const RetBlockNode* r)
394
+ inline void setRetICFGNode(const RetICFGNode* r)
395
395
  {
396
396
  ret = r;
397
397
  }
@@ -428,7 +428,7 @@ public:
428
428
 
429
429
  ///Methods for support type inquiry through isa, cast, and dyn_cast:
430
430
  //@{
431
- static inline bool classof(const CallBlockNode *)
431
+ static inline bool classof(const CallICFGNode *)
432
432
  {
433
433
  return true;
434
434
  }
@@ -438,7 +438,7 @@ public:
438
438
  return node->getNodeKind() == FunCallBlock;
439
439
  }
440
440
 
441
- static inline bool classof(const InterBlockNode *node)
441
+ static inline bool classof(const InterICFGNode *node)
442
442
  {
443
443
  return node->getNodeKind() == FunCallBlock;
444
444
  }
@@ -456,16 +456,16 @@ public:
456
456
  /*!
457
457
  * Return ICFGNode containing (at most one) ActualRetVFGNode at a callsite
458
458
  */
459
- class RetBlockNode : public InterBlockNode
459
+ class RetICFGNode : public InterICFGNode
460
460
  {
461
461
 
462
462
  private:
463
463
  const Instruction* cs;
464
464
  const SVFVar *actualRet;
465
- const CallBlockNode* callBlockNode;
465
+ const CallICFGNode* callBlockNode;
466
466
  public:
467
- RetBlockNode(NodeID id, const Instruction* c, CallBlockNode* cb) :
468
- InterBlockNode(id, FunRetBlock), cs(c), actualRet(nullptr), callBlockNode(cb)
467
+ RetICFGNode(NodeID id, const Instruction* c, CallICFGNode* cb) :
468
+ InterICFGNode(id, FunRetBlock), cs(c), actualRet(nullptr), callBlockNode(cb)
469
469
  {
470
470
  fun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(cs->getFunction());
471
471
  bb = cs->getParent();
@@ -477,7 +477,7 @@ public:
477
477
  return cs;
478
478
  }
479
479
 
480
- inline const CallBlockNode* getCallBlockNode() const
480
+ inline const CallICFGNode* getCallBlockNode() const
481
481
  {
482
482
  return callBlockNode;
483
483
  }
@@ -495,12 +495,12 @@ public:
495
495
 
496
496
  ///Methods for support type inquiry through isa, cast, and dyn_cast:
497
497
  //@{
498
- static inline bool classof(const RetBlockNode *)
498
+ static inline bool classof(const RetICFGNode *)
499
499
  {
500
500
  return true;
501
501
  }
502
502
 
503
- static inline bool classof(const InterBlockNode *node)
503
+ static inline bool classof(const InterICFGNode *node)
504
504
  {
505
505
  return node->getNodeKind() == FunRetBlock;
506
506
  }
@@ -78,11 +78,11 @@ public:
78
78
  countStat();
79
79
 
80
80
  PTNumStatMap["ICFGNode"] = numOfNodes;
81
- PTNumStatMap["IntraBlockNode"] = numOfIntraNodes;
82
- PTNumStatMap["CallBlockNode"] = numOfCallNodes;
83
- PTNumStatMap["RetBlockNode"] = numOfRetNodes;
84
- PTNumStatMap["FunEntryBlockNode"] = numOfEntryNodes;
85
- PTNumStatMap["FunExitBlockNode"] = numOfExitNodes;
81
+ PTNumStatMap["IntraICFGNode"] = numOfIntraNodes;
82
+ PTNumStatMap["CallICFGNode"] = numOfCallNodes;
83
+ PTNumStatMap["RetICFGNode"] = numOfRetNodes;
84
+ PTNumStatMap["FunEntryICFGNode"] = numOfEntryNodes;
85
+ PTNumStatMap["FunExitICFGNode"] = numOfExitNodes;
86
86
 
87
87
  PTNumStatMap["ICFGEdge"] = numOfEdges;
88
88
  PTNumStatMap["CallCFGEdge"] = numOfCallEdges;
@@ -97,7 +97,7 @@ public:
97
97
 
98
98
  countStat();
99
99
  PTNumStatMap["ICFGNode(N)"] = numOfNodes;
100
- PTNumStatMap["CallBlockNode(Call)"] = numOfCallNodes;
100
+ PTNumStatMap["CallICFGNode(Call)"] = numOfCallNodes;
101
101
  PTNumStatMap["ICFGEdge(E)"] = numOfEdges;
102
102
  printStat("IFDS Stat");
103
103
  }
@@ -112,15 +112,15 @@ public:
112
112
 
113
113
  ICFGNode *node = it->second;
114
114
 
115
- if (SVFUtil::isa<IntraBlockNode>(node))
115
+ if (SVFUtil::isa<IntraICFGNode>(node))
116
116
  numOfIntraNodes++;
117
- else if (SVFUtil::isa<CallBlockNode>(node))
117
+ else if (SVFUtil::isa<CallICFGNode>(node))
118
118
  numOfCallNodes++;
119
- else if (SVFUtil::isa<RetBlockNode>(node))
119
+ else if (SVFUtil::isa<RetICFGNode>(node))
120
120
  numOfRetNodes++;
121
- else if (SVFUtil::isa<FunEntryBlockNode>(node))
121
+ else if (SVFUtil::isa<FunEntryICFGNode>(node))
122
122
  numOfEntryNodes++;
123
- else if (SVFUtil::isa<FunExitBlockNode>(node))
123
+ else if (SVFUtil::isa<FunExitICFGNode>(node))
124
124
  numOfExitNodes++;
125
125
 
126
126