svf-lib 1.0.1105 → 1.0.1109

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.
@@ -17,6 +17,7 @@
17
17
  #include "Util/SVFBasicTypes.h"
18
18
  #include "Util/BitVector.h"
19
19
  #include "Util/CoreBitVector.h"
20
+ #include "Util/SparseBitVector.h"
20
21
 
21
22
  namespace SVF
22
23
  {
@@ -162,7 +163,7 @@ private:
162
163
  union
163
164
  {
164
165
  /// Sparse bit vector backing.
165
- SparseBitVector sbv;
166
+ SparseBitVector<> sbv;
166
167
  /// Core bit vector backing.
167
168
  CoreBitVector cbv;
168
169
  /// Bit vector backing.
@@ -223,7 +224,7 @@ public:
223
224
  /// TODO: std::variant when we move to C++17.
224
225
  union
225
226
  {
226
- SparseBitVector::iterator sbvIt;
227
+ SparseBitVector<>::iterator sbvIt;
227
228
  CoreBitVector::iterator cbvIt;
228
229
  BitVector::iterator bvIt;
229
230
  };
@@ -35,9 +35,10 @@
35
35
  #include <llvm/IR/BasicBlock.h>
36
36
  #include <llvm/ADT/SmallVector.h>
37
37
 
38
- #include <llvm/ADT/SparseBitVector.h> // for points-to
39
38
  #include <llvm/Support/CommandLine.h> // for command line options
40
39
 
40
+ #include <Util/SparseBitVector.h>
41
+
41
42
  #include <iostream>
42
43
  #include <vector>
43
44
  #include <list>
@@ -92,8 +93,8 @@ typedef unsigned SymID;
92
93
  typedef unsigned CallSiteID;
93
94
  typedef unsigned ThreadID;
94
95
 
95
- typedef llvm::SparseBitVector<> NodeBS;
96
- typedef llvm::SparseBitVector<> SparseBitVector;
96
+ typedef SparseBitVector<> NodeBS;
97
+ //typedef SparseBitVector<> SparseBitVector;
97
98
  //typedef NodeBS PointsTo;
98
99
  class PointsTo;
99
100
  typedef PointsTo AliasSet;
@@ -297,9 +298,9 @@ template <> struct std::hash<SVF::NodePair>
297
298
 
298
299
  /// Specialise hash for SparseBitVectors.
299
300
  template <unsigned N>
300
- struct std::hash<llvm::SparseBitVector<N>>
301
+ struct std::hash<SVF::SparseBitVector<N>>
301
302
  {
302
- size_t operator()(const llvm::SparseBitVector<N> &sbv) const
303
+ size_t operator()(const SVF::SparseBitVector<N> &sbv) const
303
304
  {
304
305
  SVF::Hash<std::pair<std::pair<size_t, size_t>, size_t>> h;
305
306
  return h(std::make_pair(std::make_pair(sbv.count(), sbv.find_first()), sbv.find_last()));