svf-lib 1.0.2662 → 1.0.2664

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.
Binary file
@@ -707,12 +707,6 @@ private:
707
707
  return addNode(node);
708
708
  }
709
709
 
710
- inline NodeID addConstantAggValNode(const NodeID i, const ICFGNode* icfgNode, const SVFType* svfType)
711
- {
712
- SVFVar* node = new ConstAggValVar(i, icfgNode, svfType);
713
- return addNode(node);
714
- }
715
-
716
710
  inline NodeID addConstantDataValNode(const NodeID i, const ICFGNode* icfgNode, const SVFType* type)
717
711
  {
718
712
  SVFVar* node = new ConstDataValVar(i, icfgNode, type);
@@ -777,11 +771,6 @@ private:
777
771
  GlobalObjVar* gObj = new GlobalObjVar(i, ti, node);
778
772
  return addBaseObjNode(gObj);
779
773
  }
780
- inline NodeID addConstantAggObjNode(const NodeID i, ObjTypeInfo* ti, const ICFGNode* node)
781
- {
782
- ConstAggObjVar* conObj = new ConstAggObjVar(i, ti, node);
783
- return addBaseObjNode(conObj);
784
- }
785
774
  inline NodeID addConstantDataObjNode(const NodeID i, ObjTypeInfo* ti, const ICFGNode* node)
786
775
  {
787
776
  ConstDataObjVar* conObj = new ConstDataObjVar(i, ti, node);
@@ -70,7 +70,6 @@ public:
70
70
  RetValNode, // ├── Represents a return value node
71
71
  VarargValNode, // ├── Represents a variadic argument node
72
72
  GlobalValNode, // ├── Represents a global variable node
73
- ConstAggValNode, // ├── Represents a constant aggregate value node
74
73
  // │ └─ Subclass: ConstDataValVar
75
74
  ConstDataValNode, // │ ├── Represents a constant data variable
76
75
  BlackHoleValNode, // │ ├── Represents a black hole node
@@ -92,7 +91,6 @@ public:
92
91
  HeapObjNode, // │ ├── Represents a heap object
93
92
  StackObjNode, // │ ├── Represents a stack object
94
93
  GlobalObjNode, // │ ├── Represents a global object
95
- ConstAggObjNode, // │ ├── Represents a constant aggregate object
96
94
  // │ └─ Subclass: ConstDataObjVar
97
95
  ConstDataObjNode, // │ ├── Represents a constant data object
98
96
  ConstFPObjNode, // │ ├── Represents a constant floating-point object
@@ -230,7 +228,7 @@ protected:
230
228
 
231
229
  static inline bool isSVFVarKind(GNodeK n)
232
230
  {
233
- static_assert(DummyObjNode - ValNode == 28,
231
+ static_assert(DummyObjNode - ValNode == 26,
234
232
  "The number of SVFVarKinds has changed, make sure the "
235
233
  "range is correct");
236
234
 
@@ -239,7 +237,7 @@ protected:
239
237
 
240
238
  static inline bool isValVarKinds(GNodeK n)
241
239
  {
242
- static_assert(AsmPCValNode - ValNode == 15,
240
+ static_assert(AsmPCValNode - ValNode == 14,
243
241
  "The number of ValVarKinds has changed, make sure the "
244
242
  "range is correct");
245
243
  return n <= AsmPCValNode && n >= ValNode;
@@ -256,7 +254,7 @@ protected:
256
254
 
257
255
  static inline bool isObjVarKinds(GNodeK n)
258
256
  {
259
- static_assert(DummyObjNode - ObjNode == 12,
257
+ static_assert(DummyObjNode - ObjNode == 11,
260
258
  "The number of ObjVarKinds has changed, make sure the "
261
259
  "range is correct");
262
260
  return n <= DummyObjNode && n >= ObjNode;
@@ -264,7 +262,7 @@ protected:
264
262
 
265
263
  static inline bool isBaseObjVarKinds(GNodeK n)
266
264
  {
267
- static_assert(DummyObjNode - BaseObjNode == 10,
265
+ static_assert(DummyObjNode - BaseObjNode == 9,
268
266
  "The number of BaseObjVarKinds has changed, make sure the "
269
267
  "range is correct");
270
268
  return n <= DummyObjNode && n >= BaseObjNode;
@@ -1367,58 +1367,6 @@ public:
1367
1367
  virtual const std::string toString() const;
1368
1368
  };
1369
1369
 
1370
- class ConstAggValVar: public ValVar
1371
- {
1372
- friend class GraphDBClient;
1373
-
1374
-
1375
- public:
1376
- /// Methods for support type inquiry through isa, cast, and dyn_cast:
1377
- //@{
1378
- static inline bool classof(const ConstAggValVar*)
1379
- {
1380
- return true;
1381
- }
1382
- static inline bool classof(const ValVar* node)
1383
- {
1384
- return node->getNodeKind() == ConstAggValNode;
1385
- }
1386
- static inline bool classof(const SVFVar* node)
1387
- {
1388
- return node->getNodeKind() == ConstAggValNode;
1389
- }
1390
- static inline bool classof(const GenericPAGNodeTy* node)
1391
- {
1392
- return node->getNodeKind() == ConstAggValNode;
1393
- }
1394
- static inline bool classof(const SVFValue* node)
1395
- {
1396
- return node->getNodeKind() == ConstAggValNode;
1397
- }
1398
- //@}
1399
-
1400
- /// Constructor
1401
- ConstAggValVar(NodeID i, const ICFGNode* icn, const SVFType* svfTy)
1402
- : ValVar(i, svfTy, icn, ConstAggValNode)
1403
- {
1404
- type = svfTy;
1405
- }
1406
-
1407
-
1408
- virtual bool isConstDataOrAggData() const
1409
- {
1410
- return true;
1411
- }
1412
-
1413
- virtual bool isConstDataOrAggDataButNotNullPtr() const
1414
- {
1415
- return true;
1416
- }
1417
-
1418
- virtual const std::string toString() const;
1419
- };
1420
-
1421
-
1422
1370
  class ConstDataValVar : public ValVar
1423
1371
  {
1424
1372
  friend class GraphDBClient;
@@ -1725,61 +1673,6 @@ public:
1725
1673
  virtual const std::string toString() const;
1726
1674
  };
1727
1675
 
1728
- class ConstAggObjVar : public BaseObjVar
1729
- {
1730
- friend class GraphDBClient;
1731
-
1732
-
1733
- public:
1734
- /// Methods for support type inquiry through isa, cast, and dyn_cast:
1735
- //@{
1736
- static inline bool classof(const ConstAggObjVar*)
1737
- {
1738
- return true;
1739
- }
1740
- static inline bool classof(const BaseObjVar* node)
1741
- {
1742
- return node->getNodeKind() == ConstAggObjNode;
1743
- }
1744
-
1745
- static inline bool classof(const ObjVar* node)
1746
- {
1747
- return node->getNodeKind() == ConstAggObjNode;
1748
- }
1749
- static inline bool classof(const SVFVar* node)
1750
- {
1751
- return node->getNodeKind() == ConstAggObjNode;
1752
- }
1753
- static inline bool classof(const GenericPAGNodeTy* node)
1754
- {
1755
- return node->getNodeKind() == ConstAggObjNode;
1756
- }
1757
- static inline bool classof(const SVFValue* node)
1758
- {
1759
- return node->getNodeKind() == ConstAggObjNode;
1760
- }
1761
- //@}
1762
-
1763
- /// Constructor
1764
- ConstAggObjVar(NodeID i, ObjTypeInfo* ti, const ICFGNode* node)
1765
- : BaseObjVar(i, ti, node, ConstAggObjNode)
1766
- {
1767
-
1768
- }
1769
-
1770
- virtual bool isConstDataOrAggData() const
1771
- {
1772
- return true;
1773
- }
1774
-
1775
- virtual bool isConstDataOrAggDataButNotNullPtr() const
1776
- {
1777
- return true;
1778
- }
1779
-
1780
- virtual const std::string toString() const;
1781
- };
1782
-
1783
1676
  class ConstDataObjVar : public BaseObjVar
1784
1677
  {
1785
1678
  friend class GraphDBClient;
@@ -81,7 +81,7 @@ if(NOT CMAKE_VERSION VERSION_LESS "3.23.0")
81
81
  FILE_SET "HEADERS"
82
82
  TYPE "HEADERS"
83
83
  BASE_DIRS "${_IMPORT_PREFIX}/include"
84
- FILES "${_IMPORT_PREFIX}/include/AE/Core/AbstractState.h" "${_IMPORT_PREFIX}/include/AE/Core/AbstractValue.h" "${_IMPORT_PREFIX}/include/AE/Core/AddressValue.h" "${_IMPORT_PREFIX}/include/AE/Core/ICFGWTO.h" "${_IMPORT_PREFIX}/include/AE/Core/IntervalValue.h" "${_IMPORT_PREFIX}/include/AE/Core/NumericValue.h" "${_IMPORT_PREFIX}/include/AE/Core/RelExeState.h" "${_IMPORT_PREFIX}/include/AE/Core/RelationSolver.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEDetector.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEStat.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEWTO.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AbsExtAPI.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AbstractInterpretation.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/SparseAbstractInterpretation.h" "${_IMPORT_PREFIX}/include/CFL/CFGNormalizer.h" "${_IMPORT_PREFIX}/include/CFL/CFGrammar.h" "${_IMPORT_PREFIX}/include/CFL/CFLAlias.h" "${_IMPORT_PREFIX}/include/CFL/CFLBase.h" "${_IMPORT_PREFIX}/include/CFL/CFLGramGraphChecker.h" "${_IMPORT_PREFIX}/include/CFL/CFLGraphBuilder.h" "${_IMPORT_PREFIX}/include/CFL/CFLSVFGBuilder.h" "${_IMPORT_PREFIX}/include/CFL/CFLSolver.h" "${_IMPORT_PREFIX}/include/CFL/CFLStat.h" "${_IMPORT_PREFIX}/include/CFL/CFLVF.h" "${_IMPORT_PREFIX}/include/CFL/GrammarBuilder.h" "${_IMPORT_PREFIX}/include/DDA/ContextDDA.h" "${_IMPORT_PREFIX}/include/DDA/DDAClient.h" "${_IMPORT_PREFIX}/include/DDA/DDAPass.h" "${_IMPORT_PREFIX}/include/DDA/DDAStat.h" "${_IMPORT_PREFIX}/include/DDA/DDAVFSolver.h" "${_IMPORT_PREFIX}/include/DDA/FlowDDA.h" "${_IMPORT_PREFIX}/include/FastCluster/fastcluster.h" "${_IMPORT_PREFIX}/include/Graphs/BasicBlockG.h" "${_IMPORT_PREFIX}/include/Graphs/CDG.h" "${_IMPORT_PREFIX}/include/Graphs/CFLGraph.h" "${_IMPORT_PREFIX}/include/Graphs/CHG.h" "${_IMPORT_PREFIX}/include/Graphs/CallGraph.h" "${_IMPORT_PREFIX}/include/Graphs/ConsG.h" "${_IMPORT_PREFIX}/include/Graphs/ConsGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/ConsGNode.h" "${_IMPORT_PREFIX}/include/Graphs/DOTGraphTraits.h" "${_IMPORT_PREFIX}/include/Graphs/GenericGraph.h" "${_IMPORT_PREFIX}/include/Graphs/GraphPrinter.h" "${_IMPORT_PREFIX}/include/Graphs/GraphTraits.h" "${_IMPORT_PREFIX}/include/Graphs/GraphWriter.h" "${_IMPORT_PREFIX}/include/Graphs/ICFG.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGStat.h" "${_IMPORT_PREFIX}/include/Graphs/IRGraph.h" "${_IMPORT_PREFIX}/include/Graphs/SCC.h" "${_IMPORT_PREFIX}/include/Graphs/SVFG.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGOPT.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGStat.h" "${_IMPORT_PREFIX}/include/Graphs/ThreadCallGraph.h" "${_IMPORT_PREFIX}/include/Graphs/VFG.h" "${_IMPORT_PREFIX}/include/Graphs/VFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/VFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/WTO.h" "${_IMPORT_PREFIX}/include/MSSA/MSSAMuChi.h" "${_IMPORT_PREFIX}/include/MSSA/MemPartition.h" "${_IMPORT_PREFIX}/include/MSSA/MemRegion.h" "${_IMPORT_PREFIX}/include/MSSA/MemSSA.h" "${_IMPORT_PREFIX}/include/MSSA/SVFGBuilder.h" "${_IMPORT_PREFIX}/include/MTA/LockAnalysis.h" "${_IMPORT_PREFIX}/include/MTA/MHP.h" "${_IMPORT_PREFIX}/include/MTA/MTA.h" "${_IMPORT_PREFIX}/include/MTA/MTAStat.h" "${_IMPORT_PREFIX}/include/MTA/TCT.h" "${_IMPORT_PREFIX}/include/MemoryModel/AbstractPointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/AccessPath.h" "${_IMPORT_PREFIX}/include/MemoryModel/ConditionalPT.h" "${_IMPORT_PREFIX}/include/MemoryModel/MutablePointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/PTATY.h" "${_IMPORT_PREFIX}/include/MemoryModel/PersistentPointsToCache.h" "${_IMPORT_PREFIX}/include/MemoryModel/PersistentPointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointerAnalysis.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointerAnalysisImpl.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointsTo.h" "${_IMPORT_PREFIX}/include/MemoryModel/SVFLoop.h" "${_IMPORT_PREFIX}/include/SABER/DoubleFreeChecker.h" "${_IMPORT_PREFIX}/include/SABER/FileChecker.h" "${_IMPORT_PREFIX}/include/SABER/LeakChecker.h" "${_IMPORT_PREFIX}/include/SABER/ProgSlice.h" "${_IMPORT_PREFIX}/include/SABER/SaberCheckerAPI.h" "${_IMPORT_PREFIX}/include/SABER/SaberCondAllocator.h" "${_IMPORT_PREFIX}/include/SABER/SaberSVFGBuilder.h" "${_IMPORT_PREFIX}/include/SABER/SrcSnkDDA.h" "${_IMPORT_PREFIX}/include/SABER/SrcSnkSolver.h" "${_IMPORT_PREFIX}/include/SVFIR/ObjTypeInfo.h" "${_IMPORT_PREFIX}/include/SVFIR/PAGBuilderFromFile.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFIR.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFStatements.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFType.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFValue.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFVariables.h" "${_IMPORT_PREFIX}/include/Util/Annotator.h" "${_IMPORT_PREFIX}/include/Util/BitVector.h" "${_IMPORT_PREFIX}/include/Util/CDGBuilder.h" "${_IMPORT_PREFIX}/include/Util/CallGraphBuilder.h" "${_IMPORT_PREFIX}/include/Util/Casting.h" "${_IMPORT_PREFIX}/include/Util/CommandLine.h" "${_IMPORT_PREFIX}/include/Util/CoreBitVector.h" "${_IMPORT_PREFIX}/include/Util/CxtStmt.h" "${_IMPORT_PREFIX}/include/Util/DPItem.h" "${_IMPORT_PREFIX}/include/Util/ExtAPI.h" "${_IMPORT_PREFIX}/include/Util/GeneralType.h" "${_IMPORT_PREFIX}/include/Util/GraphReachSolver.h" "${_IMPORT_PREFIX}/include/Util/Hash.h" "${_IMPORT_PREFIX}/include/Util/NodeIDAllocator.h" "${_IMPORT_PREFIX}/include/Util/Options.h" "${_IMPORT_PREFIX}/include/Util/PTAStat.h" "${_IMPORT_PREFIX}/include/Util/SVFBugReport.h" "${_IMPORT_PREFIX}/include/Util/SVFLoopAndDomInfo.h" "${_IMPORT_PREFIX}/include/Util/SVFStat.h" "${_IMPORT_PREFIX}/include/Util/SVFUtil.h" "${_IMPORT_PREFIX}/include/Util/SparseBitVector.h" "${_IMPORT_PREFIX}/include/Util/ThreadAPI.h" "${_IMPORT_PREFIX}/include/Util/WorkList.h" "${_IMPORT_PREFIX}/include/Util/Z3Expr.h" "${_IMPORT_PREFIX}/include/Util/cJSON.h" "${_IMPORT_PREFIX}/include/Util/iterator.h" "${_IMPORT_PREFIX}/include/Util/iterator_range.h" "${_IMPORT_PREFIX}/include/WPA/Andersen.h" "${_IMPORT_PREFIX}/include/WPA/AndersenPWC.h" "${_IMPORT_PREFIX}/include/WPA/CSC.h" "${_IMPORT_PREFIX}/include/WPA/FlowSensitive.h" "${_IMPORT_PREFIX}/include/WPA/Steensgaard.h" "${_IMPORT_PREFIX}/include/WPA/TypeAnalysis.h" "${_IMPORT_PREFIX}/include/WPA/VersionedFlowSensitive.h" "${_IMPORT_PREFIX}/include/WPA/WPAFSSolver.h" "${_IMPORT_PREFIX}/include/WPA/WPAPass.h" "${_IMPORT_PREFIX}/include/WPA/WPASolver.h" "${_IMPORT_PREFIX}/include/WPA/WPAStat.h"
84
+ FILES "${_IMPORT_PREFIX}/include/AE/Core/AbstractState.h" "${_IMPORT_PREFIX}/include/AE/Core/AbstractValue.h" "${_IMPORT_PREFIX}/include/AE/Core/AddressValue.h" "${_IMPORT_PREFIX}/include/AE/Core/ICFGWTO.h" "${_IMPORT_PREFIX}/include/AE/Core/IntervalValue.h" "${_IMPORT_PREFIX}/include/AE/Core/NumericValue.h" "${_IMPORT_PREFIX}/include/AE/Core/RelExeState.h" "${_IMPORT_PREFIX}/include/AE/Core/RelationSolver.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEDetector.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEStat.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AEWTO.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AbsExtAPI.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/AbstractInterpretation.h" "${_IMPORT_PREFIX}/include/AE/Svfexe/SparseAbstractInterpretation.h" "${_IMPORT_PREFIX}/include/CFL/CFGNormalizer.h" "${_IMPORT_PREFIX}/include/CFL/CFGrammar.h" "${_IMPORT_PREFIX}/include/CFL/CFLAlias.h" "${_IMPORT_PREFIX}/include/CFL/CFLBase.h" "${_IMPORT_PREFIX}/include/CFL/CFLGramGraphChecker.h" "${_IMPORT_PREFIX}/include/CFL/CFLGraphBuilder.h" "${_IMPORT_PREFIX}/include/CFL/CFLSVFGBuilder.h" "${_IMPORT_PREFIX}/include/CFL/CFLSolver.h" "${_IMPORT_PREFIX}/include/CFL/CFLStat.h" "${_IMPORT_PREFIX}/include/CFL/CFLVF.h" "${_IMPORT_PREFIX}/include/CFL/GrammarBuilder.h" "${_IMPORT_PREFIX}/include/DDA/ContextDDA.h" "${_IMPORT_PREFIX}/include/DDA/DDAClient.h" "${_IMPORT_PREFIX}/include/DDA/DDAPass.h" "${_IMPORT_PREFIX}/include/DDA/DDAStat.h" "${_IMPORT_PREFIX}/include/DDA/DDAVFSolver.h" "${_IMPORT_PREFIX}/include/DDA/FlowDDA.h" "${_IMPORT_PREFIX}/include/FastCluster/fastcluster.h" "${_IMPORT_PREFIX}/include/Graphs/BasicBlockG.h" "${_IMPORT_PREFIX}/include/Graphs/CDG.h" "${_IMPORT_PREFIX}/include/Graphs/CFLGraph.h" "${_IMPORT_PREFIX}/include/Graphs/CHG.h" "${_IMPORT_PREFIX}/include/Graphs/CallGraph.h" "${_IMPORT_PREFIX}/include/Graphs/ConsG.h" "${_IMPORT_PREFIX}/include/Graphs/ConsGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/ConsGNode.h" "${_IMPORT_PREFIX}/include/Graphs/DOTGraphTraits.h" "${_IMPORT_PREFIX}/include/Graphs/GenericGraph.h" "${_IMPORT_PREFIX}/include/Graphs/GraphPrinter.h" "${_IMPORT_PREFIX}/include/Graphs/GraphTraits.h" "${_IMPORT_PREFIX}/include/Graphs/GraphWriter.h" "${_IMPORT_PREFIX}/include/Graphs/ICFG.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/ICFGStat.h" "${_IMPORT_PREFIX}/include/Graphs/IRGraph.h" "${_IMPORT_PREFIX}/include/Graphs/SCC.h" "${_IMPORT_PREFIX}/include/Graphs/SVFG.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGOPT.h" "${_IMPORT_PREFIX}/include/Graphs/SVFGStat.h" "${_IMPORT_PREFIX}/include/Graphs/ThreadCallGraph.h" "${_IMPORT_PREFIX}/include/Graphs/VFG.h" "${_IMPORT_PREFIX}/include/Graphs/VFGEdge.h" "${_IMPORT_PREFIX}/include/Graphs/VFGNode.h" "${_IMPORT_PREFIX}/include/Graphs/WTO.h" "${_IMPORT_PREFIX}/include/MSSA/MSSAMuChi.h" "${_IMPORT_PREFIX}/include/MSSA/MemPartition.h" "${_IMPORT_PREFIX}/include/MSSA/MemRegion.h" "${_IMPORT_PREFIX}/include/MSSA/MemSSA.h" "${_IMPORT_PREFIX}/include/MSSA/SVFGBuilder.h" "${_IMPORT_PREFIX}/include/MTA/LockAnalysis.h" "${_IMPORT_PREFIX}/include/MTA/MHP.h" "${_IMPORT_PREFIX}/include/MTA/MTA.h" "${_IMPORT_PREFIX}/include/MTA/MTAStat.h" "${_IMPORT_PREFIX}/include/MTA/TCT.h" "${_IMPORT_PREFIX}/include/MemoryModel/AbstractPointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/AccessPath.h" "${_IMPORT_PREFIX}/include/MemoryModel/ConditionalPT.h" "${_IMPORT_PREFIX}/include/MemoryModel/MutablePointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/PTATY.h" "${_IMPORT_PREFIX}/include/MemoryModel/PersistentPointsToCache.h" "${_IMPORT_PREFIX}/include/MemoryModel/PersistentPointsToDS.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointerAnalysis.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointerAnalysisImpl.h" "${_IMPORT_PREFIX}/include/MemoryModel/PointsTo.h" "${_IMPORT_PREFIX}/include/MemoryModel/SVFLoop.h" "${_IMPORT_PREFIX}/include/SABER/DoubleFreeChecker.h" "${_IMPORT_PREFIX}/include/SABER/FileChecker.h" "${_IMPORT_PREFIX}/include/SABER/LeakChecker.h" "${_IMPORT_PREFIX}/include/SABER/ProgSlice.h" "${_IMPORT_PREFIX}/include/SABER/SaberCheckerAPI.h" "${_IMPORT_PREFIX}/include/SABER/SaberCondAllocator.h" "${_IMPORT_PREFIX}/include/SABER/SaberSVFGBuilder.h" "${_IMPORT_PREFIX}/include/SABER/SrcSnkDDA.h" "${_IMPORT_PREFIX}/include/SABER/SrcSnkSolver.h" "${_IMPORT_PREFIX}/include/SVFIR/ObjTypeInfo.h" "${_IMPORT_PREFIX}/include/SVFIR/PAGBuilderFromFile.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFIR.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFStatements.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFType.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFValue.h" "${_IMPORT_PREFIX}/include/SVFIR/SVFVariables.h" "${_IMPORT_PREFIX}/include/Util/BitVector.h" "${_IMPORT_PREFIX}/include/Util/CDGBuilder.h" "${_IMPORT_PREFIX}/include/Util/CallGraphBuilder.h" "${_IMPORT_PREFIX}/include/Util/Casting.h" "${_IMPORT_PREFIX}/include/Util/CommandLine.h" "${_IMPORT_PREFIX}/include/Util/CoreBitVector.h" "${_IMPORT_PREFIX}/include/Util/CxtStmt.h" "${_IMPORT_PREFIX}/include/Util/DPItem.h" "${_IMPORT_PREFIX}/include/Util/ExtAPI.h" "${_IMPORT_PREFIX}/include/Util/GeneralType.h" "${_IMPORT_PREFIX}/include/Util/GraphReachSolver.h" "${_IMPORT_PREFIX}/include/Util/Hash.h" "${_IMPORT_PREFIX}/include/Util/NodeIDAllocator.h" "${_IMPORT_PREFIX}/include/Util/Options.h" "${_IMPORT_PREFIX}/include/Util/PTAStat.h" "${_IMPORT_PREFIX}/include/Util/SVFBugReport.h" "${_IMPORT_PREFIX}/include/Util/SVFLoopAndDomInfo.h" "${_IMPORT_PREFIX}/include/Util/SVFStat.h" "${_IMPORT_PREFIX}/include/Util/SVFUtil.h" "${_IMPORT_PREFIX}/include/Util/SparseBitVector.h" "${_IMPORT_PREFIX}/include/Util/ThreadAPI.h" "${_IMPORT_PREFIX}/include/Util/WorkList.h" "${_IMPORT_PREFIX}/include/Util/Z3Expr.h" "${_IMPORT_PREFIX}/include/Util/cJSON.h" "${_IMPORT_PREFIX}/include/Util/iterator.h" "${_IMPORT_PREFIX}/include/Util/iterator_range.h" "${_IMPORT_PREFIX}/include/WPA/Andersen.h" "${_IMPORT_PREFIX}/include/WPA/AndersenPWC.h" "${_IMPORT_PREFIX}/include/WPA/CSC.h" "${_IMPORT_PREFIX}/include/WPA/FlowSensitive.h" "${_IMPORT_PREFIX}/include/WPA/Steensgaard.h" "${_IMPORT_PREFIX}/include/WPA/TypeAnalysis.h" "${_IMPORT_PREFIX}/include/WPA/VersionedFlowSensitive.h" "${_IMPORT_PREFIX}/include/WPA/WPAFSSolver.h" "${_IMPORT_PREFIX}/include/WPA/WPAPass.h" "${_IMPORT_PREFIX}/include/WPA/WPASolver.h" "${_IMPORT_PREFIX}/include/WPA/WPAStat.h"
85
85
  )
86
86
  else()
87
87
  set_property(TARGET SVF::SvfCore
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-lib",
3
- "version": "1.0.2662",
3
+ "version": "1.0.2664",
4
4
  "description": "SVF's npm support",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,180 +0,0 @@
1
- /*
2
- * Annotator.h
3
- *
4
- * Created on: May 4, 2014
5
- * Author: Yulei Sui
6
- */
7
-
8
- #ifndef ANNOTATOR_H_
9
- #define ANNOTATOR_H_
10
-
11
- #include <SVF-LLVM/BasicTypes.h> // TODO: Remove LLVM Header
12
- #include "SVFIR/SVFValue.h"
13
- #include <vector>
14
-
15
- namespace SVF
16
- {
17
-
18
- /*!
19
- * Program annotator to write meta data information on LLVM IR
20
- */
21
- class Annotator
22
- {
23
-
24
- public:
25
- /// Constructor
26
- Annotator()
27
- {
28
- SB_SLICESOURCE = "SOURCE_";
29
- SB_SLICESINK = "SINK_";
30
- SB_FESIBLE = "FESIBLE_";
31
- SB_INFESIBLE = "INFESIBLE_";
32
-
33
- DR_NOT_CHECK = "DRNOTCHECK_";
34
- DR_CHECK = "DRCHECK_";
35
- }
36
-
37
- /// Destructor
38
- virtual ~Annotator()
39
- {
40
- }
41
-
42
- /// SB Has flag methods
43
- //@{
44
- inline bool hasSBSourceFlag(Instruction* inst) const
45
- {
46
- std::vector<Value* > values;
47
- return evalMDTag(inst, inst, SB_SLICESOURCE, values);
48
- }
49
-
50
- inline bool hasSBSinkFlag(Instruction* inst) const
51
- {
52
- std::vector<Value* > values;
53
- return evalMDTag(inst, inst, SB_SLICESINK, values);
54
- }
55
- //@}
56
-
57
- /// Race Detection Has flag methods
58
- //@{
59
- inline bool hasDRNotCheckFlag(Instruction* inst) const
60
- {
61
- //std::vector<Value* > values;
62
- //return evalMDTag(inst, inst, DR_NOT_CHECK, values);
63
- return inst->getMetadata(DR_NOT_CHECK);
64
- }
65
-
66
- inline bool hasDRNotCheckFlag(const Instruction* inst) const
67
- {
68
- //std::vector<Value* > values;
69
- //return evalMDTag(inst, inst, DR_NOT_CHECK, values);
70
- return inst->getMetadata(DR_NOT_CHECK);
71
- }
72
-
73
- inline bool hasDRCheckFlag(Instruction* inst) const
74
- {
75
- //std::vector<Value* > values;
76
- //return evalMDTag(inst, inst, DR_CHECK, values);
77
- return inst->getMetadata(DR_CHECK);
78
- }
79
-
80
- inline bool hasDRCheckFlag(const Instruction* inst) const
81
- {
82
- //std::vector<Value* > values;
83
- //return evalMDTag(inst, inst, DR_CHECK, values);
84
- return inst->getMetadata(DR_CHECK);
85
- }
86
- //@}
87
-
88
- /// Simple add/remove meta data information
89
- //@{
90
- inline void addMDTag(Instruction* inst, std::string str)
91
- {
92
- addMDTag(inst, inst, str);
93
- }
94
- inline void removeMDTag(Instruction* inst, std::string str)
95
- {
96
- removeMDTag(inst, inst, str);
97
- }
98
- //@}
99
-
100
- /// manipulate llvm meta data on instructions for a specific value
101
- //@{
102
- /// add flag to llvm metadata
103
- inline void addMDTag(Instruction* inst, Value* val, std::string str)
104
- {
105
- assert(!val->getType()->isVoidTy() && "expecting non-void value for MD!");
106
- std::vector<Value* > values;
107
- //std::vector<llvm::Metadata *> metavalues;
108
- // add the flag if we did not see it before
109
- if (evalMDTag(inst, val, str, values) == false)
110
- {
111
-
112
- values.push_back(val);
113
- //llvm::ArrayRef<llvm::Metadata*> ar(metavalues);
114
- // FIXME: delete the old MDNode
115
- inst->setMetadata(str, MDNode::get(inst->getContext(), nullptr));
116
- //inst->setMetadata(str, llvm::MDNode::get(inst->getContext(), ar));
117
- }
118
- }
119
-
120
- /// remove flag from llvm metadata
121
- inline void removeMDTag(Instruction* inst, Value* val, std::string str)
122
- {
123
- assert(!val->getType()->isVoidTy() && "expecting non-void value for MD!");
124
- std::vector<Value* > values;
125
-
126
- // remove the flag if it is there
127
- if (evalMDTag(inst, val, str, values) == true)
128
- {
129
- llvm::ArrayRef<Value* > ar(values);
130
- // FIXME: delete the old MDNode
131
- //inst->setMetadata(str, llvm::MDNode::get(inst->getContext(), ar));
132
- }
133
- }
134
- //@}
135
-
136
- private:
137
-
138
- /// evaluate llvm metadata
139
- inline bool evalMDTag(const Instruction* inst, const Value* val, std::string str,
140
- std::vector<Value* >&) const
141
- {
142
-
143
- assert(val && "value should not be null");
144
-
145
- bool hasFlag = false;
146
- if (MDNode *mdNode = inst->getMetadata(str))
147
- {
148
- /// When mdNode has operands and value is not null
149
- for (unsigned k = 0; k < mdNode->getNumOperands(); ++k)
150
- {
151
- //Value* v = mdNode->getOperand(k);
152
- // if (v == val)
153
- // hasFlag = true;
154
- //else
155
- // values.push_back(v);
156
- }
157
- }
158
- return hasFlag;
159
- }
160
-
161
- protected:
162
-
163
- /// Saber annotations
164
- //@{
165
- const char* SB_SLICESOURCE;
166
- const char* SB_SLICESINK;
167
- const char* SB_FESIBLE;
168
- const char* SB_INFESIBLE;
169
- //@}
170
-
171
- /// Race Detection annotations
172
- //@{
173
- const char* DR_NOT_CHECK;
174
- const char* DR_CHECK;
175
- //@}
176
- };
177
-
178
- } // End namespace SVF
179
-
180
- #endif /* ANNOTATOR_H_ */