svf-lib 1.0.1806 → 1.0.1807

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 (104) hide show
  1. package/SVF-osx/Release-build/svf/libSvfCore.a +0 -0
  2. package/SVF-osx/Release-build/svf-llvm/libSvfLLVM.a +0 -0
  3. package/SVF-osx/svf/include/AbstractExecution/BoundedZ3Expr.h +0 -2
  4. package/SVF-osx/svf/include/AbstractExecution/ConsExeState.h +0 -8
  5. package/SVF-osx/svf/include/AbstractExecution/ExeState.h +0 -8
  6. package/SVF-osx/svf/include/AbstractExecution/IntervalExeState.h +272 -107
  7. package/SVF-osx/svf/include/AbstractExecution/IntervalValue.h +0 -3
  8. package/SVF-osx/svf/include/AbstractExecution/NumericLiteral.h +0 -2
  9. package/SVF-osx/svf/include/AbstractExecution/RelExeState.h +0 -1
  10. package/SVF-osx/svf/include/AbstractExecution/RelationSolver.h +9 -10
  11. package/SVF-osx/svf/include/AbstractExecution/SVFIR2ConsExeState.h +0 -1
  12. package/SVF-osx/svf/include/AbstractExecution/SVFIR2ItvExeState.h +0 -4
  13. package/SVF-osx/svf/include/AbstractExecution/SingleAbsValue.h +0 -2
  14. package/SVF-osx/svf/include/AbstractExecution/SymState.h +0 -4
  15. package/SVF-osx/svf/include/AbstractExecution/WTO.h +0 -5
  16. package/SVF-osx/svf/include/CFL/CFGrammar.h +0 -4
  17. package/SVF-osx/svf/include/CFL/CFLAlias.h +0 -1
  18. package/SVF-osx/svf/include/CFL/CFLGraphBuilder.h +0 -1
  19. package/SVF-osx/svf/include/CFL/CFLStat.h +0 -1
  20. package/SVF-osx/svf/include/CFL/CFLVF.h +0 -1
  21. package/SVF-osx/svf/include/DDA/ContextDDA.h +0 -1
  22. package/SVF-osx/svf/include/DDA/DDAClient.h +0 -5
  23. package/SVF-osx/svf/include/DDA/DDAPass.h +0 -1
  24. package/SVF-osx/svf/include/FastCluster/fastcluster.h +0 -1
  25. package/SVF-osx/svf/include/Graphs/CDG.h +0 -3
  26. package/SVF-osx/svf/include/Graphs/CFBasicBlockG.h +0 -3
  27. package/SVF-osx/svf/include/Graphs/CFLGraph.h +0 -1
  28. package/SVF-osx/svf/include/Graphs/CHG.h +2 -4
  29. package/SVF-osx/svf/include/Graphs/ConsGEdge.h +0 -5
  30. package/SVF-osx/svf/include/Graphs/ConsGNode.h +0 -1
  31. package/SVF-osx/svf/include/Graphs/DOTGraphTraits.h +0 -1
  32. package/SVF-osx/svf/include/Graphs/GenericGraph.h +0 -1
  33. package/SVF-osx/svf/include/Graphs/GraphPrinter.h +0 -3
  34. package/SVF-osx/svf/include/Graphs/GraphTraits.h +2 -2
  35. package/SVF-osx/svf/include/Graphs/ICFG.h +0 -1
  36. package/SVF-osx/svf/include/Graphs/ICFGNode.h +0 -3
  37. package/SVF-osx/svf/include/Graphs/ICFGStat.h +0 -2
  38. package/SVF-osx/svf/include/Graphs/IRGraph.h +0 -1
  39. package/SVF-osx/svf/include/Graphs/PTACallGraph.h +0 -3
  40. package/SVF-osx/svf/include/Graphs/SVFG.h +0 -2
  41. package/SVF-osx/svf/include/Graphs/SVFGEdge.h +0 -1
  42. package/SVF-osx/svf/include/Graphs/SVFGNode.h +0 -7
  43. package/SVF-osx/svf/include/Graphs/SVFGOPT.h +0 -3
  44. package/SVF-osx/svf/include/Graphs/SVFGStat.h +0 -2
  45. package/SVF-osx/svf/include/Graphs/ThreadCallGraph.h +0 -3
  46. package/SVF-osx/svf/include/Graphs/VFG.h +0 -2
  47. package/SVF-osx/svf/include/Graphs/VFGEdge.h +0 -3
  48. package/SVF-osx/svf/include/Graphs/VFGNode.h +0 -8
  49. package/SVF-osx/svf/include/MSSA/MSSAMuChi.h +0 -4
  50. package/SVF-osx/svf/include/MSSA/MemPartition.h +0 -1
  51. package/SVF-osx/svf/include/MSSA/MemRegion.h +0 -1
  52. package/SVF-osx/svf/include/MSSA/MemSSA.h +0 -1
  53. package/SVF-osx/svf/include/MTA/FSMPTA.h +0 -6
  54. package/SVF-osx/svf/include/MTA/LockAnalysis.h +0 -5
  55. package/SVF-osx/svf/include/MTA/MHP.h +0 -3
  56. package/SVF-osx/svf/include/MTA/MTA.h +0 -1
  57. package/SVF-osx/svf/include/MTA/MTAResultValidator.h +0 -2
  58. package/SVF-osx/svf/include/MTA/TCT.h +0 -1
  59. package/SVF-osx/svf/include/MemoryModel/AbstractPointsToDS.h +0 -2
  60. package/SVF-osx/svf/include/MemoryModel/AccessPath.h +0 -5
  61. package/SVF-osx/svf/include/MemoryModel/ConditionalPT.h +0 -5
  62. package/SVF-osx/svf/include/MemoryModel/PersistentPointsToDS.h +0 -1
  63. package/SVF-osx/svf/include/MemoryModel/PointerAnalysis.h +0 -1
  64. package/SVF-osx/svf/include/MemoryModel/PointerAnalysisImpl.h +0 -1
  65. package/SVF-osx/svf/include/MemoryModel/PointsTo.h +0 -1
  66. package/SVF-osx/svf/include/SABER/DoubleFreeChecker.h +0 -1
  67. package/SVF-osx/svf/include/SABER/ProgSlice.h +0 -1
  68. package/SVF-osx/svf/include/SABER/SaberCondAllocator.h +0 -4
  69. package/SVF-osx/svf/include/SABER/SaberSVFGBuilder.h +0 -1
  70. package/SVF-osx/svf/include/SVFIR/SVFIR.h +0 -2
  71. package/SVF-osx/svf/include/SVFIR/SVFStatements.h +0 -2
  72. package/SVF-osx/svf/include/SVFIR/SVFType.h +0 -2
  73. package/SVF-osx/svf/include/SVFIR/SVFValue.h +0 -3
  74. package/SVF-osx/svf/include/SVFIR/SVFVariables.h +0 -5
  75. package/SVF-osx/svf/include/SVFIR/SymbolTableInfo.h +0 -5
  76. package/SVF-osx/svf/include/Util/CDGBuilder.h +0 -8
  77. package/SVF-osx/svf/include/Util/CallGraphBuilder.h +0 -2
  78. package/SVF-osx/svf/include/Util/Casting.h +1 -2
  79. package/SVF-osx/svf/include/Util/CommandLine.h +0 -1
  80. package/SVF-osx/svf/include/Util/CxtStmt.h +0 -4
  81. package/SVF-osx/svf/include/Util/DPItem.h +0 -2
  82. package/SVF-osx/svf/include/Util/NodeIDAllocator.h +2 -2
  83. package/SVF-osx/svf/include/Util/SCC.h +0 -2
  84. package/SVF-osx/svf/include/Util/SVFBugReport.h +0 -1
  85. package/SVF-osx/svf/include/Util/SVFStat.h +0 -1
  86. package/SVF-osx/svf/include/Util/SVFUtil.h +0 -1
  87. package/SVF-osx/svf/include/Util/ThreadAPI.h +0 -1
  88. package/SVF-osx/svf/include/Util/WorkList.h +0 -1
  89. package/SVF-osx/svf/include/Util/Z3Expr.h +0 -4
  90. package/SVF-osx/svf/include/Util/iterator.h +2 -2
  91. package/SVF-osx/svf/include/WPA/Andersen.h +0 -6
  92. package/SVF-osx/svf/include/WPA/AndersenPWC.h +0 -3
  93. package/SVF-osx/svf/include/WPA/WPAFSSolver.h +0 -5
  94. package/SVF-osx/svf/include/WPA/WPAPass.h +0 -2
  95. package/SVF-osx/svf/include/WPA/WPASolver.h +0 -2
  96. package/SVF-osx/svf/include/WPA/WPAStat.h +0 -1
  97. package/SVF-osx/svf-llvm/include/SVF-LLVM/BreakConstantExpr.h +0 -1
  98. package/SVF-osx/svf-llvm/include/SVF-LLVM/DCHG.h +0 -1
  99. package/SVF-osx/svf-llvm/include/SVF-LLVM/GEPTypeBridgeIterator.h +0 -3
  100. package/SVF-osx/svf-llvm/include/SVF-LLVM/LLVMModule.h +0 -1
  101. package/SVF-osx/svf-llvm/include/SVF-LLVM/LLVMUtil.h +0 -1
  102. package/SVF-osx/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +0 -1
  103. package/SVF-osx/svf-llvm/include/SVF-LLVM/SymbolTableBuilder.h +0 -1
  104. package/package.json +1 -1
@@ -32,7 +32,6 @@
32
32
  *
33
33
  */
34
34
 
35
-
36
35
  #ifndef SVFGSTAT_H_
37
36
  #define SVFGSTAT_H_
38
37
 
@@ -88,7 +87,6 @@ private:
88
87
  MemSSA* mssa;
89
88
  };
90
89
 
91
-
92
90
  class SVFGStat : public PTAStat
93
91
  {
94
92
  public:
@@ -153,7 +153,6 @@ public:
153
153
  typedef GenericNode<PTACallGraphNode, HareParForEdge>::GEdgeSetTy ParForEdgeSet;
154
154
  };
155
155
 
156
-
157
156
  /*!
158
157
  * Thread sensitive call graph
159
158
  */
@@ -197,7 +196,6 @@ public:
197
196
  /// Update join edge using pointer analysis results
198
197
  void updateJoinEdge(PointerAnalysis* pta);
199
198
 
200
-
201
199
  /// Get call graph edge via call instruction
202
200
  //@{
203
201
  /// whether this call instruction has a valid call graph edge
@@ -362,7 +360,6 @@ public:
362
360
  void addIndirectParForEdge(const CallICFGNode* cs, const SVFFunction* callee);
363
361
  //@}
364
362
 
365
-
366
363
  /// map call instruction to its CallGraphEdge map
367
364
  inline void addThreadForkEdgeSetMap(const CallICFGNode* cs, ThreadForkEdge* edge)
368
365
  {
@@ -30,7 +30,6 @@
30
30
  #ifndef INCLUDE_UTIL_VFG_H_
31
31
  #define INCLUDE_UTIL_VFG_H_
32
32
 
33
-
34
33
  #include "SVFIR/SVFIR.h"
35
34
  #include "Graphs/PTACallGraph.h"
36
35
  #include "Graphs/VFGNode.h"
@@ -83,7 +82,6 @@ public:
83
82
  typedef Set<const VFGNode*> GlobalVFGNodeSet;
84
83
  typedef Set<const PAGNode*> PAGNodeSet;
85
84
 
86
-
87
85
  protected:
88
86
  NodeID totalVFGNode;
89
87
  PAGNodeToDefMapTy PAGNodeToDefMap; ///< map a pag node to its definition SVG node
@@ -134,7 +134,6 @@ public:
134
134
  virtual const std::string toString() const;
135
135
  };
136
136
 
137
-
138
137
  /*!
139
138
  * SVFG edge representing direct value-flows
140
139
  */
@@ -169,7 +168,6 @@ public:
169
168
  virtual const std::string toString() const;
170
169
  };
171
170
 
172
-
173
171
  /*!
174
172
  * Intra SVFG edge representing direct intra-procedural value-flows
175
173
  */
@@ -204,7 +202,6 @@ public:
204
202
  virtual const std::string toString() const;
205
203
  };
206
204
 
207
-
208
205
  /*!
209
206
  * SVFG call edge representing direct value-flows from a caller to its callee at a callsite
210
207
  */
@@ -316,7 +316,6 @@ public:
316
316
  const std::string toString() const override;
317
317
  };
318
318
 
319
-
320
319
  /*!
321
320
  * VFGNode for compare instruction, e.g., bool b = (a!=c);
322
321
  */
@@ -388,7 +387,6 @@ public:
388
387
  const std::string toString() const override;
389
388
  };
390
389
 
391
-
392
390
  /*!
393
391
  * VFGNode for binary operator instructions, e.g., a = b + c;
394
392
  */
@@ -703,7 +701,6 @@ public:
703
701
  const std::string toString() const override;
704
702
  };
705
703
 
706
-
707
704
  /*
708
705
  * Intra LLVM PHI Node
709
706
  */
@@ -756,7 +753,6 @@ public:
756
753
  const std::string toString() const override;
757
754
  };
758
755
 
759
-
760
756
  class AddrVFGNode: public StmtVFGNode
761
757
  {
762
758
  private:
@@ -795,7 +791,6 @@ public:
795
791
  const std::string toString() const override;
796
792
  };
797
793
 
798
-
799
794
  class ArgumentVFGNode : public VFGNode
800
795
  {
801
796
 
@@ -891,7 +886,6 @@ public:
891
886
  const std::string toString() const override;
892
887
  };
893
888
 
894
-
895
889
  /*
896
890
  * ICFG Node stands for formal parameter node (top level pointers)
897
891
  */
@@ -1146,8 +1140,6 @@ private:
1146
1140
  const CallICFGNode* callInst;
1147
1141
  };
1148
1142
 
1149
-
1150
-
1151
1143
  /*!
1152
1144
  * Dummy Definition for undef and null pointers
1153
1145
  */
@@ -84,7 +84,6 @@ public:
84
84
  }
85
85
  };
86
86
 
87
-
88
87
  /*!
89
88
  * Indirect Memory Read
90
89
  * 1) LoadMU at each store instruction
@@ -269,7 +268,6 @@ public:
269
268
  }
270
269
  };
271
270
 
272
-
273
271
  /*!
274
272
  * RetMU is annotated at function return, representing memory objects returns to callers
275
273
  */
@@ -314,7 +312,6 @@ public:
314
312
  }
315
313
  };
316
314
 
317
-
318
315
  /*!
319
316
  * Indirect Memory Definition
320
317
  * 1) MSSACHI indirect memory object is modified
@@ -512,7 +509,6 @@ public:
512
509
  }
513
510
  };
514
511
 
515
-
516
512
  /*!
517
513
  *
518
514
  * StoreCHI is annotated at each store instruction, representing a memory object is modified here
@@ -32,7 +32,6 @@
32
32
  *
33
33
  */
34
34
 
35
-
36
35
  #ifndef DISNCTMRGENERATOR_H_
37
36
  #define DISNCTMRGENERATOR_H_
38
37
 
@@ -335,7 +335,6 @@ protected:
335
335
  /// Get Mod-Ref of a callee function
336
336
  virtual bool handleCallsiteModRef(NodeBS& mod, NodeBS& ref, const CallICFGNode* cs, const SVFFunction* fun);
337
337
 
338
-
339
338
  /// Add cpts to store/load
340
339
  //@{
341
340
  inline void addCPtsToStore(NodeBS& cpts, const StoreStmt *st, const SVFFunction* fun)
@@ -32,7 +32,6 @@
32
32
  * Journal of Systems and Software (JSS'16), Algorithm 3 in the paper
33
33
  */
34
34
 
35
-
36
35
  #ifndef MEMORYSSAPASS_H_
37
36
  #define MEMORYSSAPASS_H_
38
37
 
@@ -34,7 +34,6 @@
34
34
  #ifndef FSPTANALYSIS_H_
35
35
  #define FSPTANALYSIS_H_
36
36
 
37
-
38
37
  #include "WPA/FlowSensitive.h"
39
38
  #include "MSSA/SVFGBuilder.h"
40
39
  #include "MTA/LockAnalysis.h"
@@ -47,7 +46,6 @@ namespace SVF
47
46
  class MHP;
48
47
  class LockAnalysis;
49
48
 
50
-
51
49
  class SVFGNodeLockSpan
52
50
  {
53
51
  public:
@@ -173,7 +171,6 @@ private:
173
171
  Set<NodeIDPair> recordedges;
174
172
  Map<NodeIDPair, PointsTo> edge2pts;
175
173
 
176
-
177
174
  Map<const StmtSVFGNode*, SVFGNodeIDSet> prevset;
178
175
  Map<const StmtSVFGNode*, SVFGNodeIDSet> succset;
179
176
 
@@ -183,7 +180,6 @@ private:
183
180
  PairToBoolMap pairheadmap;
184
181
  PairToBoolMap pairtailmap;
185
182
 
186
-
187
183
  static const u32_t ADDEDGE_NOEDGE= 0;
188
184
  static const u32_t ADDEDGE_NONSPARSE= 1;
189
185
  static const u32_t ADDEDGE_ALLOPT= 2;
@@ -195,14 +191,12 @@ private:
195
191
 
196
192
  };
197
193
 
198
-
199
194
  /*!
200
195
  * Flow-sensitive pointer analysis for multithreaded programs
201
196
  */
202
197
  class FSMPTA : public FlowSensitive
203
198
  {
204
199
 
205
-
206
200
  public:
207
201
 
208
202
  /// Constructor
@@ -266,8 +266,6 @@ public:
266
266
  }
267
267
  //@}
268
268
 
269
-
270
-
271
269
  /// Check if one instruction's context stmt is in a lock span
272
270
  inline bool hasOneCxtInLockSpan(const SVFInstruction *I, LockSpan lspan) const
273
271
  {
@@ -299,7 +297,6 @@ public:
299
297
  return true;
300
298
  }
301
299
 
302
-
303
300
  /// Check if two Instructions are protected by common locks
304
301
  /// echo inst may have multiple cxt stmt
305
302
  /// we check whether every cxt stmt of instructions is protected by a common lock.
@@ -469,7 +466,6 @@ private:
469
466
  /// Map a statement to all its context-sensitive statements
470
467
  InstToCxtStmtSet instToCxtStmtSet;
471
468
 
472
-
473
469
  /// Context-sensitive locks
474
470
  CxtLockSet cxtLockset;
475
471
 
@@ -504,7 +500,6 @@ private:
504
500
  InstToInstSetMap instTocondCILocksMap;
505
501
  //@}
506
502
 
507
-
508
503
  public:
509
504
  double lockTime;
510
505
  u32_t numOfTotalQueries;
@@ -272,7 +272,6 @@ private:
272
272
  InstToThreadStmtSetMap instToTSMap; ///< Map an instruction to its ThreadStmtSet
273
273
  FuncPairToBool nonCandidateFuncMHPRelMap;
274
274
 
275
-
276
275
  public:
277
276
  u32_t numOfTotalQueries; ///< Total number of queries
278
277
  u32_t numOfMHPQueries; ///< Number of queries are answered as may-happen-in-parallel
@@ -280,8 +279,6 @@ public:
280
279
  double interleavingQueriesTime;
281
280
  };
282
281
 
283
-
284
-
285
282
  /*!
286
283
  *
287
284
  */
@@ -66,7 +66,6 @@ public:
66
66
  /// Destructor
67
67
  virtual ~MTA();
68
68
 
69
-
70
69
  /// We start the pass here
71
70
  virtual bool runOnModule(SVFIR* module);
72
71
  /// Compute MHP
@@ -148,8 +148,6 @@ private:
148
148
  //@}
149
149
  };
150
150
 
151
-
152
-
153
151
  /*!
154
152
  * \brief Validate the result of concurrent analysis.
155
153
  *
@@ -42,7 +42,6 @@ namespace SVF
42
42
 
43
43
  class TCTNode;
44
44
 
45
-
46
45
  /*
47
46
  * Thread creation edge represents a spawning relation between two context sensitive threads
48
47
  */
@@ -20,7 +20,6 @@
20
20
  //
21
21
  //===----------------------------------------------------------------------===//
22
22
 
23
-
24
23
  /// Contains abstract classes for:
25
24
  /// PTData: basic points-to data structure derived by all others.
26
25
  /// DiffPTData: PTData which only propagates new changes, not entire points-to sets.
@@ -39,7 +38,6 @@
39
38
  /// |
40
39
  /// MutableIncDFPTData
41
40
 
42
-
43
41
  /*
44
42
  * AbstractPointsToDS.h
45
43
  *
@@ -29,20 +29,16 @@
29
29
  *
30
30
  */
31
31
 
32
-
33
32
  #ifndef AccessPath_H_
34
33
  #define AccessPath_H_
35
34
 
36
-
37
35
  #include "SVFIR/SVFValue.h"
38
36
 
39
-
40
37
  namespace SVF
41
38
  {
42
39
 
43
40
  class SVFVar;
44
41
 
45
-
46
42
  /*
47
43
  * Location set represents a set of locations in a memory block with following offsets:
48
44
  * { offset + \sum_{i=0}^N (stride_i * j_i) | 0 \leq j_i < M_i }
@@ -145,7 +141,6 @@ public:
145
141
  /// Return element number of a type.
146
142
  u32_t getElementNum(const SVFType* type) const;
147
143
 
148
-
149
144
  bool addOffsetVarAndGepTypePair(const SVFVar* var, const SVFType* gepIterType);
150
145
 
151
146
  /// Return TRUE if this is a constant location set.
@@ -74,7 +74,6 @@ public:
74
74
  }
75
75
  ///@}
76
76
 
77
-
78
77
  inline CondVar& operator= (const CondVar& rhs)
79
78
  {
80
79
  if(*this!=rhs)
@@ -85,7 +84,6 @@ public:
85
84
  return *this;
86
85
  }
87
86
 
88
-
89
87
  /**
90
88
  * Less than implementation.
91
89
  */
@@ -296,7 +294,6 @@ private:
296
294
  ElementSet elements;
297
295
  };
298
296
 
299
-
300
297
  /*!
301
298
  * Conditional Points-to set
302
299
  */
@@ -400,7 +397,6 @@ public:
400
397
  return numElement()==0;
401
398
  }
402
399
 
403
-
404
400
  /// Overloading operators
405
401
  //@{
406
402
  inline CondPointsToSet<Cond>& operator=(
@@ -604,7 +600,6 @@ public:
604
600
  }
605
601
  //@}
606
602
 
607
-
608
603
  /// Overloading operator |=
609
604
  /// Merge CondPointsToSet of RHS into this one.
610
605
  inline bool operator |= (const CondPointsToSet<Cond>& rhs)
@@ -791,7 +791,6 @@ private:
791
791
  }
792
792
  ///@}
793
793
 
794
-
795
794
  private:
796
795
  UpdatedVarMap outUpdatedVarMap;
797
796
  UpdatedVarMap inUpdatedVarMap;
@@ -86,7 +86,6 @@ public:
86
86
  PathS_DDA, ///< Guarded value-flow DDA
87
87
  Cxt_DDA, ///< context sensitive DDA
88
88
 
89
-
90
89
  Default_PTA ///< default pta without any analysis
91
90
  };
92
91
 
@@ -157,7 +157,6 @@ protected:
157
157
  return ptD.get();
158
158
  }
159
159
 
160
-
161
160
  /// Finalization of pointer analysis, and normalize points-to information to Bit Vector representation
162
161
  void finalize() override;
163
162
 
@@ -251,5 +251,4 @@ struct std::hash<SVF::PointsTo>
251
251
  }
252
252
  };
253
253
 
254
-
255
254
  #endif // POINTSTO_H_
@@ -64,7 +64,6 @@ public:
64
64
  /// Report file/close bugs
65
65
  void reportBug(ProgSlice* slice) override;
66
66
 
67
-
68
67
  /// Validate test cases for regression test purpose
69
68
  void testsValidation(ProgSlice* slice);
70
69
  void validateSuccessTests(ProgSlice* slice, const SVFFunction* fun);
@@ -60,7 +60,6 @@ public:
60
60
 
61
61
  typedef SaberCondAllocator::SVFGNodeToSVFGNodeSetMap SVFGNodeToSVFGNodeSetMap;
62
62
 
63
-
64
63
  /// Constructor
65
64
  ProgSlice(const SVFGNode* src, SaberCondAllocator* pa, const SVFG* graph):
66
65
  root(src), partialReachable(false), fullReachable(false), reachGlob(false),
@@ -36,7 +36,6 @@
36
36
  #include "Graphs/SVFG.h"
37
37
  #include "Util/Z3Expr.h"
38
38
 
39
-
40
39
  namespace SVF
41
40
  {
42
41
 
@@ -58,7 +57,6 @@ public:
58
57
  typedef FIFOWorkList<const SVFBasicBlock*> CFWorkList; ///< worklist for control-flow guard computation
59
58
  typedef Map<const SVFGNode*, Set<const SVFGNode*>> SVFGNodeToSVFGNodeSetMap;
60
59
 
61
-
62
60
  /// Constructor
63
61
  SaberCondAllocator();
64
62
 
@@ -233,7 +231,6 @@ public:
233
231
  }
234
232
  //@}
235
233
 
236
-
237
234
  /// mark neg Z3 expression
238
235
  inline void setNegCondInst(const Condition &condition, const SVFInstruction* inst)
239
236
  {
@@ -298,7 +295,6 @@ private:
298
295
  /// extract subexpression from a Z3 expression
299
296
  void extractSubConds(const Condition &condition, NodeBS &support) const;
300
297
 
301
-
302
298
  FunToExitBBsMap funToExitBBsMap; ///< map a function to all its basic blocks calling program exit
303
299
  BBToCondMap bbToCondMap; ///< map a basic block to its path condition starting from root
304
300
  const SVFGNode* curEvalSVFGNode{}; ///< current llvm value to evaluate branch condition when computing guards
@@ -34,7 +34,6 @@
34
34
  #include "SVFIR/SVFValue.h"
35
35
  #include "Util/WorkList.h"
36
36
 
37
-
38
37
  namespace SVF
39
38
  {
40
39
 
@@ -687,6 +687,4 @@ typedef SVFIR PAG;
687
687
 
688
688
  } // End namespace SVF
689
689
 
690
-
691
-
692
690
  #endif /* INCLUDE_SVFIR_H_ */
@@ -20,7 +20,6 @@
20
20
  //
21
21
  //===----------------------------------------------------------------------===//
22
22
 
23
-
24
23
  /*
25
24
  * SVFStatements.h
26
25
  *
@@ -538,7 +537,6 @@ public:
538
537
 
539
538
  };
540
539
 
541
-
542
540
  /*!
543
541
  * Call
544
542
  */
@@ -300,7 +300,6 @@ public:
300
300
  return getPointerToTy;
301
301
  }
302
302
 
303
-
304
303
  inline void setTypeInfo(StInfo* ti)
305
304
  {
306
305
  typeinfo = ti;
@@ -503,7 +502,6 @@ public:
503
502
  numOfElement = elemNum;
504
503
  }
505
504
 
506
-
507
505
  };
508
506
 
509
507
  class SVFOtherType : public SVFType
@@ -40,7 +40,6 @@ namespace SVF
40
40
  /// LLVM Aliases and constants
41
41
  typedef SVF::GraphPrinter GraphPrinter;
42
42
 
43
-
44
43
  class SVFInstruction;
45
44
  class SVFBasicBlock;
46
45
  class SVFArgument;
@@ -135,7 +134,6 @@ public:
135
134
  return bb2PIdom;
136
135
  }
137
136
 
138
-
139
137
  inline Map<const SVFBasicBlock*,BBSet>& getDomTreeMap()
140
138
  {
141
139
  return dtBBsMap;
@@ -1104,7 +1102,6 @@ public:
1104
1102
  }
1105
1103
  };
1106
1104
 
1107
-
1108
1105
  class CallSite
1109
1106
  {
1110
1107
  friend class SVFIRReader;
@@ -73,7 +73,6 @@ public:
73
73
  DummyObjNode,
74
74
  };
75
75
 
76
-
77
76
  protected:
78
77
  const SVFValue* value; ///< value of this SVFIR node
79
78
  SVFStmt::KindToSVFStmtMapTy InEdgeKindToSetMap;
@@ -254,8 +253,6 @@ public:
254
253
  //@}
255
254
  };
256
255
 
257
-
258
-
259
256
  /*
260
257
  * Value (Pointer) variable
261
258
  */
@@ -371,7 +368,6 @@ public:
371
368
  virtual const std::string toString() const;
372
369
  };
373
370
 
374
-
375
371
  /*
376
372
  * Gep Value (Pointer) variable, this variable can be dynamic generated for field sensitive analysis
377
373
  * e.g. memcpy, temp gep value variable needs to be created
@@ -440,7 +436,6 @@ public:
440
436
  virtual const std::string toString() const;
441
437
  };
442
438
 
443
-
444
439
  /*
445
440
  * Gep Obj variable, this is dynamic generated for field sensitive analysis
446
441
  * Each gep obj variable is one field of a MemObj (base)
@@ -30,7 +30,6 @@
30
30
  #ifndef INCLUDE_SVFIR_SYMBOLTABLEINFO_H_
31
31
  #define INCLUDE_SVFIR_SYMBOLTABLEINFO_H_
32
32
 
33
-
34
33
  #include "Util/SVFUtil.h"
35
34
  #include "MemoryModel/AccessPath.h"
36
35
  #include "SVFIR/SVFModule.h"
@@ -242,7 +241,6 @@ public:
242
241
  }
243
242
  //@}
244
243
 
245
-
246
244
  /// Statistics
247
245
  //@{
248
246
  inline u32_t getTotalSymNum() const
@@ -373,7 +371,6 @@ protected:
373
371
  Set<const StInfo*> stInfos;
374
372
  };
375
373
 
376
-
377
374
  /*!
378
375
  * Memory object symbols or MemObj (address-taken variables in LLVM-based languages)
379
376
  */
@@ -444,7 +441,6 @@ public:
444
441
  /// Check if byte size is a const value
445
442
  bool isConstantByteSize() const;
446
443
 
447
-
448
444
  /// object attributes methods
449
445
  //@{
450
446
  bool isFunction() const;
@@ -647,7 +643,6 @@ public:
647
643
  //@}
648
644
  };
649
645
 
650
-
651
646
  } // End namespace SVF
652
647
 
653
648
  #endif /* INCLUDE_SVFIR_SYMBOLTABLEINFO_H_ */
@@ -60,11 +60,8 @@ public:
60
60
  /// build map at icfg node level
61
61
  void buildICFGNodeControlMap();
62
62
 
63
-
64
-
65
63
  private:
66
64
 
67
-
68
65
  /// extract basic block edges to be processed
69
66
  static void
70
67
  extractBBS(const SVFFunction *func,
@@ -75,17 +72,14 @@ private:
75
72
  extractNodesBetweenPdomNodes(const SVFBasicBlock *succ, const SVFBasicBlock *LCA,
76
73
  std::vector<const SVFBasicBlock *> &tgtNodes);
77
74
 
78
-
79
75
  void dfsNodesBetweenPdomNodes(const SVFBasicBlock *cur,
80
76
  const SVFBasicBlock *tgt,
81
77
  std::vector<const SVFBasicBlock *> &path,
82
78
  std::vector<const SVFBasicBlock *> &tgtNodes,
83
79
  SVFLoopAndDomInfo *ld);
84
80
 
85
-
86
81
  s64_t getBBSuccessorBranchID(const SVFBasicBlock *BB, const SVFBasicBlock *Succ);
87
82
 
88
-
89
83
  /// update map
90
84
  inline void updateMap(const SVFBasicBlock *pred, const SVFBasicBlock *bb, s32_t pos)
91
85
  {
@@ -93,7 +87,6 @@ private:
93
87
  _svfdependentOnMap[bb][pred].insert(pos);
94
88
  }
95
89
 
96
-
97
90
  private:
98
91
  CDG *_controlDG;
99
92
  Map<const SVFBasicBlock *, Map<const SVFBasicBlock *, Set<s32_t>>> _svfcontrolMap; ///< map a basicblock to its controlling BBs (position, set of BBs)
@@ -103,5 +96,4 @@ private:
103
96
  };
104
97
  }
105
98
 
106
-
107
99
  #endif //SVF_CDGBUILDER_H