svf-lib 1.0.1817 → 1.0.1819

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 (108) hide show
  1. package/SVF-linux/Release-build/svf/libSvfCore.a +0 -0
  2. package/SVF-linux/svf/include/MemoryModel/PointerAnalysis.h +0 -9
  3. package/SVF-linux/svf/include/Util/SVFStat.h +3 -0
  4. package/SVF-osx/Release-build/svf/libSvfCore.a +0 -0
  5. package/SVF-osx/Release-build/svf-llvm/libSvfLLVM.a +0 -0
  6. package/SVF-osx/svf/include/AbstractExecution/BoundedZ3Expr.h +0 -2
  7. package/SVF-osx/svf/include/AbstractExecution/ConsExeState.h +0 -8
  8. package/SVF-osx/svf/include/AbstractExecution/ExeState.h +0 -8
  9. package/SVF-osx/svf/include/AbstractExecution/IntervalExeState.h +0 -7
  10. package/SVF-osx/svf/include/AbstractExecution/IntervalValue.h +0 -3
  11. package/SVF-osx/svf/include/AbstractExecution/NumericLiteral.h +0 -2
  12. package/SVF-osx/svf/include/AbstractExecution/RelExeState.h +0 -1
  13. package/SVF-osx/svf/include/AbstractExecution/RelationSolver.h +0 -1
  14. package/SVF-osx/svf/include/AbstractExecution/SVFIR2ConsExeState.h +0 -1
  15. package/SVF-osx/svf/include/AbstractExecution/SVFIR2ItvExeState.h +0 -4
  16. package/SVF-osx/svf/include/AbstractExecution/SingleAbsValue.h +0 -2
  17. package/SVF-osx/svf/include/AbstractExecution/SymState.h +0 -4
  18. package/SVF-osx/svf/include/AbstractExecution/WTO.h +0 -5
  19. package/SVF-osx/svf/include/CFL/CFGrammar.h +0 -4
  20. package/SVF-osx/svf/include/CFL/CFLAlias.h +0 -1
  21. package/SVF-osx/svf/include/CFL/CFLGraphBuilder.h +0 -1
  22. package/SVF-osx/svf/include/CFL/CFLStat.h +0 -1
  23. package/SVF-osx/svf/include/CFL/CFLVF.h +0 -1
  24. package/SVF-osx/svf/include/DDA/ContextDDA.h +0 -1
  25. package/SVF-osx/svf/include/DDA/DDAClient.h +0 -5
  26. package/SVF-osx/svf/include/DDA/DDAPass.h +0 -1
  27. package/SVF-osx/svf/include/FastCluster/fastcluster.h +0 -1
  28. package/SVF-osx/svf/include/Graphs/CDG.h +0 -3
  29. package/SVF-osx/svf/include/Graphs/CFBasicBlockG.h +0 -3
  30. package/SVF-osx/svf/include/Graphs/CFLGraph.h +0 -1
  31. package/SVF-osx/svf/include/Graphs/CHG.h +2 -4
  32. package/SVF-osx/svf/include/Graphs/ConsGEdge.h +0 -5
  33. package/SVF-osx/svf/include/Graphs/ConsGNode.h +0 -1
  34. package/SVF-osx/svf/include/Graphs/DOTGraphTraits.h +0 -1
  35. package/SVF-osx/svf/include/Graphs/GenericGraph.h +0 -1
  36. package/SVF-osx/svf/include/Graphs/GraphPrinter.h +0 -3
  37. package/SVF-osx/svf/include/Graphs/GraphTraits.h +2 -2
  38. package/SVF-osx/svf/include/Graphs/ICFG.h +0 -1
  39. package/SVF-osx/svf/include/Graphs/ICFGNode.h +0 -3
  40. package/SVF-osx/svf/include/Graphs/ICFGStat.h +0 -2
  41. package/SVF-osx/svf/include/Graphs/IRGraph.h +0 -1
  42. package/SVF-osx/svf/include/Graphs/PTACallGraph.h +0 -3
  43. package/SVF-osx/svf/include/Graphs/SVFG.h +0 -2
  44. package/SVF-osx/svf/include/Graphs/SVFGEdge.h +0 -1
  45. package/SVF-osx/svf/include/Graphs/SVFGNode.h +0 -7
  46. package/SVF-osx/svf/include/Graphs/SVFGOPT.h +0 -3
  47. package/SVF-osx/svf/include/Graphs/SVFGStat.h +0 -2
  48. package/SVF-osx/svf/include/Graphs/ThreadCallGraph.h +0 -3
  49. package/SVF-osx/svf/include/Graphs/VFG.h +0 -2
  50. package/SVF-osx/svf/include/Graphs/VFGEdge.h +0 -3
  51. package/SVF-osx/svf/include/Graphs/VFGNode.h +0 -8
  52. package/SVF-osx/svf/include/MSSA/MSSAMuChi.h +0 -4
  53. package/SVF-osx/svf/include/MSSA/MemPartition.h +0 -1
  54. package/SVF-osx/svf/include/MSSA/MemRegion.h +0 -1
  55. package/SVF-osx/svf/include/MSSA/MemSSA.h +0 -1
  56. package/SVF-osx/svf/include/MTA/FSMPTA.h +0 -6
  57. package/SVF-osx/svf/include/MTA/LockAnalysis.h +0 -5
  58. package/SVF-osx/svf/include/MTA/MHP.h +0 -3
  59. package/SVF-osx/svf/include/MTA/MTA.h +0 -1
  60. package/SVF-osx/svf/include/MTA/MTAResultValidator.h +0 -2
  61. package/SVF-osx/svf/include/MTA/TCT.h +0 -1
  62. package/SVF-osx/svf/include/MemoryModel/AbstractPointsToDS.h +0 -2
  63. package/SVF-osx/svf/include/MemoryModel/AccessPath.h +0 -5
  64. package/SVF-osx/svf/include/MemoryModel/ConditionalPT.h +0 -5
  65. package/SVF-osx/svf/include/MemoryModel/PersistentPointsToDS.h +0 -1
  66. package/SVF-osx/svf/include/MemoryModel/PointerAnalysis.h +0 -10
  67. package/SVF-osx/svf/include/MemoryModel/PointerAnalysisImpl.h +0 -1
  68. package/SVF-osx/svf/include/MemoryModel/PointsTo.h +0 -1
  69. package/SVF-osx/svf/include/SABER/DoubleFreeChecker.h +0 -1
  70. package/SVF-osx/svf/include/SABER/ProgSlice.h +0 -1
  71. package/SVF-osx/svf/include/SABER/SaberCondAllocator.h +0 -4
  72. package/SVF-osx/svf/include/SABER/SaberSVFGBuilder.h +0 -1
  73. package/SVF-osx/svf/include/SVFIR/SVFIR.h +0 -2
  74. package/SVF-osx/svf/include/SVFIR/SVFStatements.h +0 -2
  75. package/SVF-osx/svf/include/SVFIR/SVFType.h +0 -2
  76. package/SVF-osx/svf/include/SVFIR/SVFValue.h +0 -3
  77. package/SVF-osx/svf/include/SVFIR/SVFVariables.h +0 -5
  78. package/SVF-osx/svf/include/SVFIR/SymbolTableInfo.h +0 -5
  79. package/SVF-osx/svf/include/Util/CDGBuilder.h +0 -8
  80. package/SVF-osx/svf/include/Util/CallGraphBuilder.h +0 -2
  81. package/SVF-osx/svf/include/Util/Casting.h +1 -2
  82. package/SVF-osx/svf/include/Util/CommandLine.h +0 -1
  83. package/SVF-osx/svf/include/Util/CxtStmt.h +0 -4
  84. package/SVF-osx/svf/include/Util/DPItem.h +0 -2
  85. package/SVF-osx/svf/include/Util/NodeIDAllocator.h +2 -2
  86. package/SVF-osx/svf/include/Util/PTAStat.h +0 -1
  87. package/SVF-osx/svf/include/Util/SCC.h +0 -2
  88. package/SVF-osx/svf/include/Util/SVFBugReport.h +0 -1
  89. package/SVF-osx/svf/include/Util/SVFStat.h +3 -1
  90. package/SVF-osx/svf/include/Util/SVFUtil.h +0 -1
  91. package/SVF-osx/svf/include/Util/ThreadAPI.h +0 -1
  92. package/SVF-osx/svf/include/Util/WorkList.h +0 -1
  93. package/SVF-osx/svf/include/Util/Z3Expr.h +0 -4
  94. package/SVF-osx/svf/include/Util/iterator.h +2 -2
  95. package/SVF-osx/svf/include/WPA/Andersen.h +0 -6
  96. package/SVF-osx/svf/include/WPA/AndersenPWC.h +0 -3
  97. package/SVF-osx/svf/include/WPA/WPAFSSolver.h +0 -5
  98. package/SVF-osx/svf/include/WPA/WPAPass.h +0 -2
  99. package/SVF-osx/svf/include/WPA/WPASolver.h +0 -2
  100. package/SVF-osx/svf/include/WPA/WPAStat.h +0 -1
  101. package/SVF-osx/svf-llvm/include/SVF-LLVM/BreakConstantExpr.h +0 -1
  102. package/SVF-osx/svf-llvm/include/SVF-LLVM/DCHG.h +0 -1
  103. package/SVF-osx/svf-llvm/include/SVF-LLVM/GEPTypeBridgeIterator.h +0 -3
  104. package/SVF-osx/svf-llvm/include/SVF-LLVM/LLVMModule.h +0 -1
  105. package/SVF-osx/svf-llvm/include/SVF-LLVM/LLVMUtil.h +0 -1
  106. package/SVF-osx/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +0 -1
  107. package/SVF-osx/svf-llvm/include/SVF-LLVM/SymbolTableBuilder.h +0 -1
  108. package/package.json +1 -1
@@ -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
  *
@@ -551,7 +550,6 @@ public:
551
550
 
552
551
  };
553
552
 
554
-
555
553
  /*!
556
554
  * Call
557
555
  */
@@ -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
@@ -20,7 +20,6 @@
20
20
  //
21
21
  //===----------------------------------------------------------------------===//
22
22
 
23
-
24
23
  /*
25
24
  * CallGraphBuilder.h
26
25
  *
@@ -70,5 +69,4 @@ public:
70
69
 
71
70
  } // End namespace SVF
72
71
 
73
-
74
72
  #endif /* INCLUDE_UTIL_CALLGRAPHBUILDER_H_ */
@@ -8,7 +8,6 @@
8
8
  #ifndef INCLUDE_UTIL_CASTING_H_
9
9
  #define INCLUDE_UTIL_CASTING_H_
10
10
 
11
-
12
11
  //===- llvm/Support/Casting.h - Allow flexible, checked, casts --*- C++ -*-===//
13
12
  //
14
13
  // The LLVM Compiler Infrastructure
@@ -382,7 +381,7 @@ inline typename cast_retty<X, Y *>::ret_type cast(Y *Val)
382
381
 
383
382
  template <class X, class Y>
384
383
  inline typename cast_retty<X, std::unique_ptr<Y>>::ret_type
385
- cast(std::unique_ptr<Y> &&Val)
384
+ cast(std::unique_ptr<Y> &&Val)
386
385
  {
387
386
  assert(SVFUtil::isa<X>(Val.get()) && "cast<Ty>() argument of incompatible type!");
388
387
  using ret_type = typename cast_retty<X, std::unique_ptr<Y>>::ret_type;
@@ -311,7 +311,6 @@ protected:
311
311
  return options;
312
312
  }
313
313
 
314
-
315
314
  protected:
316
315
  std::string name;
317
316
  std::string description;
@@ -116,7 +116,6 @@ protected:
116
116
  const SVFInstruction* inst;
117
117
  };
118
118
 
119
-
120
119
  /*!
121
120
  * Context-sensitive thread statement <t,c,s>
122
121
  */
@@ -181,7 +180,6 @@ private:
181
180
  NodeID tid;
182
181
  };
183
182
 
184
-
185
183
  /*!
186
184
  * Context-sensitive thread <c,t>
187
185
  */
@@ -299,7 +297,6 @@ protected:
299
297
  bool incycle;
300
298
  };
301
299
 
302
-
303
300
  /*!
304
301
  * Context-sensitive procedure <c,m>
305
302
  * c represent current context
@@ -385,7 +382,6 @@ protected:
385
382
  const SVFFunction* fun;
386
383
  };
387
384
 
388
-
389
385
  /*!
390
386
  * Context-sensitive procedure <t,c,m>
391
387
  * t represent current thread during traversing
@@ -123,7 +123,6 @@ public:
123
123
  }
124
124
  };
125
125
 
126
-
127
126
  /*!
128
127
  * FlowSensitive DPItem
129
128
  */
@@ -131,7 +130,6 @@ template<class LocCond>
131
130
  class StmtDPItem : public DPItem
132
131
  {
133
132
 
134
-
135
133
  protected:
136
134
  const LocCond* curloc;
137
135
 
@@ -192,8 +192,8 @@ public:
192
192
 
193
193
  // From all the candidates, returns the best mapping for pointsToSets (points-to set -> # occurrences).
194
194
  static inline std::pair<hclust_fast_methods, std::vector<NodeID>> determineBestMapping(
195
- const std::vector<std::pair<hclust_fast_methods, std::vector<NodeID>>> &candidates,
196
- Map<PointsTo, unsigned> pointsToSets, const std::string &evalSubtitle, double &evalTime);
195
+ const std::vector<std::pair<hclust_fast_methods, std::vector<NodeID>>> &candidates,
196
+ Map<PointsTo, unsigned> pointsToSets, const std::string &evalSubtitle, double &evalTime);
197
197
 
198
198
  };
199
199
  };
@@ -69,7 +69,6 @@ public:
69
69
 
70
70
  void callgraphStat() override;
71
71
 
72
-
73
72
  protected:
74
73
  PointerAnalysis* pta;
75
74
  u32_t _vmrssUsageBefore;
@@ -121,7 +121,6 @@ public:
121
121
  _I(0)
122
122
  {}
123
123
 
124
-
125
124
  // Return a handle to the stack of nodes in topological
126
125
  // order. This will be used to seed the initial solution
127
126
  // and improve efficiency.
@@ -144,7 +143,6 @@ public:
144
143
  return rep!= UINT_MAX ? rep : n ;
145
144
  }
146
145
 
147
-
148
146
  /// whether the node is in a cycle
149
147
  inline bool isInCycle(NodeID n) const
150
148
  {
@@ -47,7 +47,6 @@ namespace SVF
47
47
  * Bug Detector Recoder
48
48
  */
49
49
 
50
-
51
50
  class SVFBugEvent
52
51
  {
53
52
  public:
@@ -33,7 +33,6 @@
33
33
  namespace SVF
34
34
  {
35
35
 
36
-
37
36
  /*!
38
37
  * Pointer Analysis Statistics
39
38
  */
@@ -70,6 +69,9 @@ public:
70
69
  /// Default call for getClk is unmarked, while MarkedClocksOnly is false by default.
71
70
  static double getClk(bool mark = false);
72
71
 
72
+ /// SVF's general statistics are only printed once even if you run multiple anayses
73
+ static bool printGeneralStats;
74
+
73
75
  NUMStatMap generalNumMap;
74
76
  NUMStatMap PTNumStatMap;
75
77
  TIMEStatMap timeStatMap;
@@ -671,7 +671,6 @@ template <typename... Ts>
671
671
  constexpr bool is_sequence_container_v = is_sequence_container<Ts...>::value;
672
672
  ///@}
673
673
 
674
-
675
674
  } // End namespace SVFUtil
676
675
 
677
676
  } // End namespace SVF
@@ -253,7 +253,6 @@ public:
253
253
  }
254
254
  //@}
255
255
 
256
-
257
256
  /// Return true if this call exits/terminate a thread
258
257
  //@{
259
258
  inline bool isTDExit(const SVFInstruction *inst) const
@@ -32,7 +32,6 @@
32
32
  *
33
33
  */
34
34
 
35
-
36
35
  #ifndef WORKLIST_H_
37
36
  #define WORKLIST_H_
38
37
 
@@ -93,7 +93,6 @@ public:
93
93
  /// release z3 solver
94
94
  static void releaseSolver();
95
95
 
96
-
97
96
  /// null expression
98
97
  static z3::expr nullExpr()
99
98
  {
@@ -273,7 +272,6 @@ public:
273
272
  /// output Z3 expression as a string
274
273
  static std::string dumpStr(const Z3Expr &z3Expr);
275
274
 
276
-
277
275
  /// get the number of subexpression of a Z3 expression
278
276
  static u32_t getExprSize(const Z3Expr &z3Expr);
279
277
 
@@ -283,7 +281,6 @@ public:
283
281
  return getContext().bool_val(true);
284
282
  }
285
283
 
286
-
287
284
  /// Return the unique false condition
288
285
  static inline Z3Expr getFalseCond()
289
286
  {
@@ -315,4 +312,3 @@ struct std::hash<SVF::Z3Expr>
315
312
  };
316
313
 
317
314
  #endif //Z3_EXAMPLE_Z3EXPR_H
318
-
@@ -352,7 +352,7 @@ struct pointee_iter
352
352
  template <typename RangeT, typename WrappedIteratorT =
353
353
  decltype(std::begin(std::declval<RangeT>()))>
354
354
  iter_range<pointee_iter<WrappedIteratorT>>
355
- make_pointee_range(RangeT &&Range)
355
+ make_pointee_range(RangeT &&Range)
356
356
  {
357
357
  using PointeeIteratorT = pointee_iter<WrappedIteratorT>;
358
358
  return make_range(PointeeIteratorT(std::begin(std::forward<RangeT>(Range))),
@@ -388,7 +388,7 @@ public:
388
388
  template <typename RangeT, typename WrappedIteratorT =
389
389
  decltype(std::begin(std::declval<RangeT>()))>
390
390
  iter_range<pointer_iterator<WrappedIteratorT>>
391
- make_pointer_range(RangeT &&Range)
391
+ make_pointer_range(RangeT &&Range)
392
392
  {
393
393
  using PointerIteratorT = pointer_iterator<WrappedIteratorT>;
394
394
  return make_range(PointerIteratorT(std::begin(std::forward<RangeT>(Range))),
@@ -156,7 +156,6 @@ protected:
156
156
  class Andersen: public AndersenBase
157
157
  {
158
158
 
159
-
160
159
  public:
161
160
  typedef SCCDetection<ConstraintGraph*> CGSCC;
162
161
  typedef OrderedMap<CallSite, NodeID> CallSite2DummyValPN;
@@ -232,7 +231,6 @@ public:
232
231
  return getPTDataTy()->unionPts(id,ptd);
233
232
  }
234
233
 
235
-
236
234
  void dumpTopLevelPtsTo();
237
235
 
238
236
  void setDetectPWC(bool flag)
@@ -341,8 +339,6 @@ protected:
341
339
  /// SCC detection
342
340
  virtual NodeStack& SCCDetect();
343
341
 
344
-
345
-
346
342
  /// Sanitize pts for field insensitive objects
347
343
  void sanitizePts()
348
344
  {
@@ -376,8 +372,6 @@ protected:
376
372
  virtual void cluster(void) const;
377
373
  };
378
374
 
379
-
380
-
381
375
  /**
382
376
  * Wave propagation with diff points-to set.
383
377
  */
@@ -30,7 +30,6 @@
30
30
  #ifndef PROJECT_ANDERSENSFR_H
31
31
  #define PROJECT_ANDERSENSFR_H
32
32
 
33
-
34
33
  #include "WPA/Andersen.h"
35
34
  #include "WPA/CSC.h"
36
35
  #include "MemoryModel/PointsTo.h"
@@ -94,8 +93,6 @@ protected:
94
93
 
95
94
  };
96
95
 
97
-
98
-
99
96
  /*!
100
97
  * Selective Cycle Detection with Stride-based Field Representation
101
98
  */
@@ -32,7 +32,6 @@
32
32
  *
33
33
  */
34
34
 
35
-
36
35
  #ifndef WPAFSSOLVER_H_
37
36
  #define WPAFSSOLVER_H_
38
37
 
@@ -98,8 +97,6 @@ protected:
98
97
  }
99
98
  };
100
99
 
101
-
102
-
103
100
  /*!
104
101
  * Solver based on SCC cycles.
105
102
  */
@@ -171,8 +168,6 @@ protected:
171
168
  NodeID curSCCID; ///< index of current SCC.
172
169
  };
173
170
 
174
-
175
-
176
171
  /*!
177
172
  * Only solve nodes which need to be analyzed.
178
173
  */
@@ -20,7 +20,6 @@
20
20
  //
21
21
  //===----------------------------------------------------------------------===//
22
22
 
23
-
24
23
  /*
25
24
  * @file: WPA.h
26
25
  * @author: yesen
@@ -33,7 +32,6 @@
33
32
  *
34
33
  */
35
34
 
36
-
37
35
  #ifndef WPA_H_
38
36
  #define WPA_H_
39
37
 
@@ -20,7 +20,6 @@
20
20
  //
21
21
  //===----------------------------------------------------------------------===//
22
22
 
23
-
24
23
  /*
25
24
  * WPASolver.h
26
25
  *
@@ -172,7 +171,6 @@ protected:
172
171
  /// print out statistics for i-th iteration
173
172
  u32_t iterationForPrintStat;
174
173
 
175
-
176
174
  /// Get node on the graph
177
175
  inline GNODE* Node(NodeID id)
178
176
  {
@@ -20,7 +20,6 @@
20
20
  //
21
21
  //===----------------------------------------------------------------------===//
22
22
 
23
-
24
23
  /*
25
24
  * FlowSensitiveStat.h
26
25
  *
@@ -44,7 +44,6 @@ public:
44
44
  virtual bool runOnModule (Module & M);
45
45
  };
46
46
 
47
-
48
47
  //
49
48
  // Pass: MergeFunctionRets
50
49
  //
@@ -447,7 +447,6 @@ private:
447
447
  return nullptr;
448
448
  }
449
449
 
450
-
451
450
  /// Creates an edge between from t1 to t2.
452
451
  DCHEdge* addEdge(const DIType* t1, const DIType* t2, DCHEdge::GEdgeKind et);
453
452
  /// Returns the edge between t1 and t2 if it exists, returns nullptr otherwise.
@@ -100,7 +100,6 @@ public:
100
100
  return const_cast<Value*>(&**OpIt);
101
101
  }
102
102
 
103
-
104
103
  generic_bridge_gep_type_iterator& operator++()
105
104
  {
106
105
  if ( CurTy.getInt() )
@@ -133,7 +132,6 @@ public:
133
132
  return *this;
134
133
  }
135
134
 
136
-
137
135
  generic_bridge_gep_type_iterator operator++(int)
138
136
  {
139
137
  generic_bridge_gep_type_iterator tmp = *this;
@@ -143,7 +141,6 @@ public:
143
141
 
144
142
  };
145
143
 
146
-
147
144
  typedef generic_bridge_gep_type_iterator<> bridge_gep_iterator;
148
145
 
149
146
  inline bridge_gep_iterator bridge_gep_begin(const User* GEP)
@@ -322,7 +322,6 @@ public:
322
322
  return it->second;
323
323
  }
324
324
 
325
-
326
325
  Module* getMainLLVMModule() const
327
326
  {
328
327
  return getModule(0);
@@ -466,7 +466,6 @@ std::string dumpValue(const Value* val);
466
466
 
467
467
  std::string dumpType(const Type* type);
468
468
 
469
-
470
469
  /**
471
470
  * See more: https://github.com/SVF-tools/SVF/pull/1191
472
471
  *
@@ -114,7 +114,6 @@ public:
114
114
  }
115
115
  //@}
116
116
 
117
-
118
117
  /// Our visit overrides.
119
118
  //@{
120
119
  // Instructions that cannot be folded away.
@@ -57,7 +57,6 @@ public:
57
57
  /// Return size of this object based on LLVM value
58
58
  u32_t getNumOfElements(const Type* ety);
59
59
 
60
-
61
60
  protected:
62
61
 
63
62
  /// collect the syms
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-lib",
3
- "version": "1.0.1817",
3
+ "version": "1.0.1819",
4
4
  "description": "SVF's npm support",
5
5
  "main": "index.js",
6
6
  "scripts": {