svf-tools 1.0.471 → 1.0.474

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 (163) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  7. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +3 -3
  8. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +5 -5
  9. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +5 -5
  10. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  11. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +4 -4
  12. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
  13. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/IRGraph_8h_source.html +15 -15
  16. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +29 -21
  17. package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
  18. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +40 -37
  19. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/MHP_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +5 -5
  24. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +4 -4
  25. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +15 -15
  27. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +5 -5
  28. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +1 -1
  29. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  30. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +6 -6
  31. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +5 -5
  32. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +26 -26
  34. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +6 -6
  35. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +11 -11
  36. package/SVF-doxygen/html/html/SVFIR_8h_source.html +15 -15
  37. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +43 -43
  39. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +5 -5
  40. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
  42. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +53 -50
  44. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +17 -16
  45. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +77 -82
  46. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +110 -108
  47. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  50. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/VFGNode_8h_source.html +5 -5
  52. package/SVF-doxygen/html/html/VFG_8cpp_source.html +7 -7
  53. package/SVF-doxygen/html/html/VFG_8h_source.html +6 -6
  54. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  55. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  56. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  57. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -2
  58. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
  59. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  60. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +17 -15
  61. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +32 -32
  62. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
  63. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  64. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +6 -4
  65. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +2 -2
  66. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
  67. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  68. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +5 -5
  69. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  70. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +4 -4
  72. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +2 -2
  74. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  75. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
  76. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +16 -16
  77. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +4 -4
  79. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +5 -5
  80. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
  81. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +91 -91
  82. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +4 -4
  83. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +94 -94
  84. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +1 -1
  86. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +15 -15
  87. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +10 -10
  88. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +8 -8
  89. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +22 -22
  91. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +35 -35
  92. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  94. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -1
  95. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +36 -36
  96. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +14 -13
  97. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +129 -101
  98. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +52 -50
  99. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +232 -177
  100. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +9 -9
  101. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +9 -9
  102. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  103. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +4 -4
  104. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +20 -20
  105. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +8 -8
  106. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  107. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  108. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  109. package/SVF-doxygen/html/html/functions_b.html +6 -3
  110. package/SVF-doxygen/html/html/functions_c.html +21 -16
  111. package/SVF-doxygen/html/html/functions_func_c.html +16 -13
  112. package/SVF-doxygen/html/html/functions_func_i.html +5 -5
  113. package/SVF-doxygen/html/html/functions_i.html +6 -6
  114. package/SVF-doxygen/html/html/functions_l.html +4 -4
  115. package/SVF-doxygen/html/html/functions_n.html +3 -0
  116. package/SVF-doxygen/html/html/functions_o.html +13 -13
  117. package/SVF-doxygen/html/html/functions_p.html +10 -12
  118. package/SVF-doxygen/html/html/functions_r.html +5 -3
  119. package/SVF-doxygen/html/html/functions_s.html +9 -9
  120. package/SVF-doxygen/html/html/functions_t.html +4 -4
  121. package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
  122. package/SVF-doxygen/html/html/functions_vars_n.html +3 -0
  123. package/SVF-doxygen/html/html/functions_w.html +10 -6
  124. package/SVF-doxygen/html/html/globals_r.html +3 -3
  125. package/SVF-doxygen/html/html/globals_s.html +6 -10
  126. package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
  127. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  128. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +152 -85
  129. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +2 -2
  130. package/SVF-doxygen/html/html/namespacemembers_func.html +14 -8
  131. package/SVF-doxygen/html/html/namespacemembers_i.html +10 -4
  132. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  133. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  134. package/SVF-doxygen/html/html/search/all_10.js +7 -7
  135. package/SVF-doxygen/html/html/search/all_12.js +4 -4
  136. package/SVF-doxygen/html/html/search/all_13.js +10 -10
  137. package/SVF-doxygen/html/html/search/all_14.js +7 -7
  138. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  139. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  140. package/SVF-doxygen/html/html/search/all_3.js +1 -0
  141. package/SVF-doxygen/html/html/search/all_9.js +5 -5
  142. package/SVF-doxygen/html/html/search/all_c.js +4 -4
  143. package/SVF-doxygen/html/html/search/all_e.js +3 -2
  144. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  145. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  146. package/SVF-doxygen/html/html/search/functions_2.js +1 -0
  147. package/SVF-doxygen/html/html/search/functions_8.js +3 -3
  148. package/SVF-doxygen/html/html/search/variables_14.js +4 -4
  149. package/SVF-doxygen/html/html/search/variables_2.js +1 -0
  150. package/SVF-doxygen/html/html/search/variables_e.js +3 -2
  151. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  152. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  153. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  154. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  155. package/include/MemoryModel/SVFStatements.h +5 -3
  156. package/include/MemoryModel/SymbolTableInfo.h +3 -2
  157. package/include/SVF-FE/LLVMUtil.h +13 -3
  158. package/include/SVF-FE/SymbolTableBuilder.h +2 -0
  159. package/lib/MemoryModel/SymbolTableInfo.cpp +7 -36
  160. package/lib/SVF-FE/LLVMUtil.cpp +34 -0
  161. package/lib/SVF-FE/SVFIRBuilder.cpp +1 -1
  162. package/lib/SVF-FE/SymbolTableBuilder.cpp +21 -8
  163. package/package.json +1 -1
@@ -274,6 +274,7 @@ var searchData=
274
274
  ['collectmodrefforcall',['collectModRefForCall',['../classSVF_1_1MRGenerator.html#a502f8379620378b36bc12d9a91b408d2',1,'SVF::MRGenerator']]],
275
275
  ['collectmodrefforloadstore',['collectModRefForLoadStore',['../classSVF_1_1MRGenerator.html#a207dfa4c9f044764665478142c6e6b22',1,'SVF::MRGenerator']]],
276
276
  ['collectmultiforkedthreads',['collectMultiForkedThreads',['../classSVF_1_1TCT.html#ad15753a9c20d738325e5c0edea6c9c56',1,'SVF::TCT']]],
277
+ ['collectnullptrblackholesyms',['collectNullPtrBlackholeSyms',['../classSVF_1_1SymbolTableBuilder.html#a1186ed5d52a12f8495d3b64df78f3052',1,'SVF::SymbolTableBuilder']]],
277
278
  ['collectobj',['collectObj',['../classSVF_1_1SymbolTableBuilder.html#a891bfea437256d1b7aa957d32797e419',1,'SVF::SymbolTableBuilder']]],
278
279
  ['collectptschain',['CollectPtsChain',['../classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5',1,'SVF::MRGenerator::CollectPtsChain()'],['../classSVF_1_1SaberSVFGBuilder.html#a411e168e2a6c27e15186c609c5e216b3',1,'SVF::SaberSVFGBuilder::CollectPtsChain()']]],
279
280
  ['collectregdefs',['collectRegDefs',['../classSVF_1_1MemSSA.html#a7c0bb1406f0e583c38e522ca06dfa73a',1,'SVF::MemSSA']]],
@@ -13,7 +13,7 @@ var searchData=
13
13
  ['icfgedgek',['ICFGEdgeK',['../classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429',1,'SVF::ICFGEdge']]],
14
14
  ['icfgedgeset',['ICFGEdgeSet',['../classSVF_1_1SVFLoop.html#af1951774580ee80d20ca5a139e8f913f',1,'SVF::SVFLoop']]],
15
15
  ['icfgedgesetty',['ICFGEdgeSetTy',['../classSVF_1_1ICFG.html#a20ea3e37e9c3c7d3138ff593041a8e47',1,'SVF::ICFG::ICFGEdgeSetTy()'],['../classSVF_1_1ICFGEdge.html#a3da5a0bad1b4c08803f1f06393649f96',1,'SVF::ICFGEdge::ICFGEdgeSetTy()']]],
16
- ['icfgnode',['ICFGNode',['../classSVF_1_1ICFGNode.html',1,'SVF::ICFGNode'],['../classSVF_1_1ICFGNode.html#ae6fe836e269ac36f14b2d2b1499a11e6',1,'SVF::ICFGNode::ICFGNode()'],['../classSVF_1_1VFGNode.html#a54c631f1e39be144c0cd25373f6b98b8',1,'SVF::VFGNode::icfgNode()'],['../classSVF_1_1SVFStmt.html#a50046a1500ec6e2819ef55162e70cc71',1,'SVF::SVFStmt::icfgNode()']]],
16
+ ['icfgnode',['ICFGNode',['../classSVF_1_1ICFGNode.html',1,'SVF::ICFGNode'],['../classSVF_1_1VFGNode.html#a54c631f1e39be144c0cd25373f6b98b8',1,'SVF::VFGNode::icfgNode()'],['../classSVF_1_1SVFStmt.html#a50046a1500ec6e2819ef55162e70cc71',1,'SVF::SVFStmt::icfgNode()'],['../classSVF_1_1ICFGNode.html#ae6fe836e269ac36f14b2d2b1499a11e6',1,'SVF::ICFGNode::ICFGNode()']]],
17
17
  ['icfgnode_2eh',['ICFGNode.h',['../ICFGNode_8h.html',1,'']]],
18
18
  ['icfgnode2ptasvfstmtsmap',['icfgNode2PTASVFStmtsMap',['../classSVF_1_1SVFIR.html#aaae756185bbd5b7175e96f8928a989c2',1,'SVF::SVFIR']]],
19
19
  ['icfgnode2svfstmtsmap',['icfgNode2SVFStmtsMap',['../classSVF_1_1SVFIR.html#a86c0c23d854b034d741d9d8891debab7',1,'SVF::SVFIR::icfgNode2SVFStmtsMap()'],['../classSVF_1_1SVFIR.html#a4666dabcbeb3f40f96a0694ce2f07eb0',1,'SVF::SVFIR::ICFGNode2SVFStmtsMap()']]],
@@ -23,7 +23,7 @@ var searchData=
23
23
  ['icfgnodesbegin',['ICFGNodesBegin',['../classSVF_1_1SVFLoop.html#a39d7db54e8dd092fd5420c5332210ed1',1,'SVF::SVFLoop']]],
24
24
  ['icfgnodesend',['ICFGNodesEnd',['../classSVF_1_1SVFLoop.html#a4c96835d38a55423b70b2ce100d76dd2',1,'SVF::SVFLoop']]],
25
25
  ['icfgnodeset',['ICFGNodeSet',['../classSVF_1_1ICFGStat.html#a69670ae14f5ec47728e2ddc7dd4dec84',1,'SVF::ICFGStat::ICFGNodeSet()'],['../classSVF_1_1SVFLoop.html#a4519b374ff32534797ad2afe1c1f672f',1,'SVF::SVFLoop::ICFGNodeSet()']]],
26
- ['icfgnodetosvfloopvec',['icfgNodeToSVFLoopVec',['../classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54',1,'SVF::ICFG::icfgNodeToSVFLoopVec()'],['../classSVF_1_1ICFG.html#a4288dd1d729524b8e8a92954852a2317',1,'SVF::ICFG::ICFGNodeToSVFLoopVec()']]],
26
+ ['icfgnodetosvfloopvec',['ICFGNodeToSVFLoopVec',['../classSVF_1_1ICFG.html#a4288dd1d729524b8e8a92954852a2317',1,'SVF::ICFG::ICFGNodeToSVFLoopVec()'],['../classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54',1,'SVF::ICFG::icfgNodeToSVFLoopVec()']]],
27
27
  ['icfgprinter',['ICFGPrinter',['../classSVF_1_1ICFGPrinter.html',1,'SVF::ICFGPrinter'],['../classSVF_1_1ICFGPrinter.html#ab51ba2c92e69d3688b0a185b4b1d69cb',1,'SVF::ICFGPrinter::ICFGPrinter()']]],
28
28
  ['icfgstat',['ICFGStat',['../classSVF_1_1ICFGStat.html',1,'SVF::ICFGStat'],['../classSVF_1_1ICFGStat.html#a3bbad3d1c0ab0cad3cc4b7aa069d1f9f',1,'SVF::ICFGStat::ICFGStat()']]],
29
29
  ['icfgstat_2eh',['ICFGStat.h',['../ICFGStat_8h.html',1,'']]],
@@ -238,7 +238,7 @@ var searchData=
238
238
  ['isbinaryconstantexpr',['isBinaryConstantExpr',['../namespaceSVF_1_1SVFUtil.html#a43c9072210a5f5baeafe36da03f2fde2',1,'SVF::SVFUtil']]],
239
239
  ['isbkvisited',['isbkVisited',['../classSVF_1_1DDAVFSolver.html#a9a9c3a8b5e4ffc89418073110e446f20',1,'SVF::DDAVFSolver']]],
240
240
  ['isblackholeobj',['isBlackHoleObj',['../classSVF_1_1MemObj.html#a7b890ca9e93b1c61cc6437b7e6a82a8c',1,'SVF::MemObj']]],
241
- ['isblackholesym',['isBlackholeSym',['../namespaceSVF_1_1SVFUtil.html#ac0df4ee0bf78167dd9461227b5cce7af',1,'SVF::SVFUtil']]],
241
+ ['isblackholesym',['isBlackholeSym',['../classSVF_1_1SymbolTableInfo.html#ab15112d3900f28525848cbe5fad37deb',1,'SVF::SymbolTableInfo::isBlackholeSym()'],['../namespaceSVF_1_1SVFUtil.html#ac0df4ee0bf78167dd9461227b5cce7af',1,'SVF::SVFUtil::isBlackholeSym()']]],
242
242
  ['isblkobj',['isBlkObj',['../classSVF_1_1SVFIR.html#a17527c55d35ae5c18f00fd4dabe6acad',1,'SVF::SVFIR::isBlkObj()'],['../classSVF_1_1SymbolTableInfo.html#ad9cdb21e20182f3bc95f04bbb97712f3',1,'SVF::SymbolTableInfo::isBlkObj()']]],
243
243
  ['isblkobjorconstantobj',['isBlkObjOrConstantObj',['../classSVF_1_1ConstraintGraph.html#a8ba74f82c1e796f2888ba34bc8355ce9',1,'SVF::ConstraintGraph::isBlkObjOrConstantObj()'],['../classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b',1,'SVF::PointerAnalysis::isBlkObjOrConstantObj()'],['../classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001',1,'SVF::SVFIR::isBlkObjOrConstantObj()'],['../classSVF_1_1SymbolTableInfo.html#a2fc4bfb83b71a4c14e16168382cb8f5d',1,'SVF::SymbolTableInfo::isBlkObjOrConstantObj()'],['../classSVF_1_1TypeBasedHeapCloning.html#a59a9c7b8a7ec392ac609f10c8dac8d7f',1,'SVF::TypeBasedHeapCloning::isBlkObjOrConstantObj()']]],
244
244
  ['isblkptr',['isBlkPtr',['../classSVF_1_1SVFIR.html#a6a71d2716530607d66d9e9035199d997',1,'SVF::SVFIR::isBlkPtr()'],['../classSVF_1_1SymbolTableInfo.html#acba43b6e9cdf07afaf3d30351aa8df7c',1,'SVF::SymbolTableInfo::isBlkPtr()']]],
@@ -262,7 +262,7 @@ var searchData=
262
262
  ['isconstantarray',['isConstantArray',['../classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb',1,'SVF::MemObj::isConstantArray()'],['../classSVF_1_1ObjTypeInfo.html#ac1ee7a720959c0e97496870d6e759212',1,'SVF::ObjTypeInfo::isConstantArray()']]],
263
263
  ['isconstantdata',['isConstantData',['../classSVF_1_1SVFVar.html#a04b62eea862857ea5640fe74ef3f2a47',1,'SVF::SVFVar::isConstantData()'],['../classSVF_1_1MemObj.html#aa50d7c3b4e7ac0aa769bc094bea26e16',1,'SVF::MemObj::isConstantData()'],['../classSVF_1_1ObjTypeInfo.html#a6f6c80f7d067a6082a9af04d2547cf34',1,'SVF::ObjTypeInfo::isConstantData()'],['../namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388',1,'SVF::SVFUtil::isConstantData()']]],
264
264
  ['isconstantobj',['isConstantObj',['../classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156',1,'SVF::SVFIR::isConstantObj()'],['../classSVF_1_1SymbolTableInfo.html#a704b917b1e1dbaf9cd758fa9acc1083b',1,'SVF::SymbolTableInfo::isConstantObj()']]],
265
- ['isconstantobjsym',['isConstantObjSym',['../classSVF_1_1SymbolTableInfo.html#a61bda1c1c52fb765d0027d8141d35c35',1,'SVF::SymbolTableInfo']]],
265
+ ['isconstantobjsym',['isConstantObjSym',['../namespaceSVF_1_1SVFUtil.html#a6442fbf0cccd55cf93eab2b656756e9a',1,'SVF::SVFUtil']]],
266
266
  ['isconstantoffset',['isConstantOffset',['../classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d',1,'SVF::LocationSet::isConstantOffset()'],['../classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4',1,'SVF::GepStmt::isConstantOffset()']]],
267
267
  ['isconstantstruct',['isConstantStruct',['../classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f',1,'SVF::MemObj::isConstantStruct()'],['../classSVF_1_1ObjTypeInfo.html#a41f916ab4e3a2c163fca636eae948ce7',1,'SVF::ObjTypeInfo::isConstantStruct()']]],
268
268
  ['isconstdataorconstglobal',['isConstDataOrConstGlobal',['../classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0',1,'SVF::MemObj::isConstDataOrConstGlobal()'],['../classSVF_1_1ObjTypeInfo.html#a8e6c60978df9828c1dcb54086e83edc1',1,'SVF::ObjTypeInfo::isConstDataOrConstGlobal()']]],
@@ -388,7 +388,7 @@ var searchData=
388
388
  ['isnonpointerobj',['isNonPointerObj',['../classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9',1,'SVF::PointerAnalysis::isNonPointerObj()'],['../classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507',1,'SVF::SVFIR::isNonPointerObj()']]],
389
389
  ['isnonptrfieldobj',['isNonPtrFieldObj',['../classSVF_1_1MemObj.html#ad6926becf26a625cfe165aec120b2a1e',1,'SVF::MemObj::isNonPtrFieldObj()'],['../classSVF_1_1ObjTypeInfo.html#a3a58b1e0192b92dac5bbfad24adbcdac',1,'SVF::ObjTypeInfo::isNonPtrFieldObj()']]],
390
390
  ['isnullptr',['isNullPtr',['../classSVF_1_1SVFIR.html#a18ca66c199b910b15f1bfa77dcc98c30',1,'SVF::SVFIR::isNullPtr()'],['../classSVF_1_1SymbolTableInfo.html#ad095e4a569d399cadc03ce864f61c394',1,'SVF::SymbolTableInfo::isNullPtr()']]],
391
- ['isnullptrsym',['isNullPtrSym',['../classSVF_1_1SymbolTableInfo.html#a65a7e9d6d238a04291cb7d0aa15ece90',1,'SVF::SymbolTableInfo']]],
391
+ ['isnullptrsym',['isNullPtrSym',['../classSVF_1_1SymbolTableInfo.html#a65a7e9d6d238a04291cb7d0aa15ece90',1,'SVF::SymbolTableInfo::isNullPtrSym()'],['../namespaceSVF_1_1SVFUtil.html#a4c1107b2635f374e71e6a3a43834469b',1,'SVF::SVFUtil::isNullPtrSym()']]],
392
392
  ['isobject',['isObject',['../namespaceSVF_1_1SVFUtil.html#acc9fd07cb66dbdeef696c3c745856094',1,'SVF::SVFUtil']]],
393
393
  ['isolated',['isolated',['../structDdManager.html#a0407971624e8cbb0510be72840e1788b',1,'DdManager']]],
394
394
  ['isoperoverload',['isOperOverload',['../CPPUtil_8cpp.html#aaf7dd7cff6ac20b3702113606aafa175',1,'CPPUtil.cpp']]],
@@ -43,7 +43,7 @@ var searchData=
43
43
  ['llvmmoduleset',['LLVMModuleSet',['../classSVF_1_1LLVMModuleSet.html',1,'SVF::LLVMModuleSet'],['../classSVF_1_1LLVMModuleSet.html#a8e70de9eefe2e188b10e214e073750e6',1,'SVF::LLVMModuleSet::LLVMModuleSet()'],['../classSVF_1_1LLVMModuleSet.html#ac59b07cafcbacc950eefea4082425b63',1,'SVF::LLVMModuleSet::llvmModuleSet()']]],
44
44
  ['llvmutil_2ecpp',['LLVMUtil.cpp',['../LLVMUtil_8cpp.html',1,'']]],
45
45
  ['llvmutil_2eh',['LLVMUtil.h',['../LLVMUtil_8h.html',1,'']]],
46
- ['load',['Load',['../classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a1bdeb9a06641d16b43391120812b40b2',1,'SVF::ConstraintEdge::Load()'],['../classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a0dfbaf92c48e11aebc85760e6e799d80',1,'SVF::VFGNode::Load()'],['../classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5',1,'SVF::SVFStmt::Load()'],['../classSVF_1_1ExeState.html#a80bd7f3746198459bbcb59274cebc013',1,'SVF::ExeState::load(const Z3Expr &loc)'],['../classSVF_1_1ExeState.html#a8b58d74bd718d66cde9ad7e868d6137a',1,'SVF::ExeState::load(u32_t objId)']]],
46
+ ['load',['load',['../classSVF_1_1ExeState.html#a80bd7f3746198459bbcb59274cebc013',1,'SVF::ExeState::load(const Z3Expr &loc)'],['../classSVF_1_1ExeState.html#a8b58d74bd718d66cde9ad7e868d6137a',1,'SVF::ExeState::load(u32_t objId)'],['../classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a1bdeb9a06641d16b43391120812b40b2',1,'SVF::ConstraintEdge::Load()'],['../classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a0dfbaf92c48e11aebc85760e6e799d80',1,'SVF::VFGNode::Load()'],['../classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5',1,'SVF::SVFStmt::Load()']]],
47
47
  ['load2musetmap',['load2MuSetMap',['../classSVF_1_1MemSSA.html#a5cf94edea3a5c35b3c1d9c6ae4b5f9d6',1,'SVF::MemSSA']]],
48
48
  ['loadcgedge',['LoadCGEdge',['../classSVF_1_1LoadCGEdge.html',1,'SVF::LoadCGEdge'],['../classSVF_1_1LoadCGEdge.html#a74ccf27a1e90fb8f47e9cecf7bd38cf7',1,'SVF::LoadCGEdge::LoadCGEdge()'],['../classSVF_1_1LoadCGEdge.html#a7dd1e2dd057e0985fd837222f8042019',1,'SVF::LoadCGEdge::LoadCGEdge(const LoadCGEdge &)'],['../classSVF_1_1LoadCGEdge.html#a36a21551732bbe3f7ff4babc0804bff2',1,'SVF::LoadCGEdge::LoadCGEdge(ConstraintNode *s, ConstraintNode *d, EdgeID id)']]],
49
49
  ['loadcgedgeset',['LoadCGEdgeSet',['../classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17',1,'SVF::ConstraintGraph']]],
@@ -56,11 +56,11 @@ var searchData=
56
56
  ['loadmssamu',['LoadMSSAMU',['../classSVF_1_1MSSAMU.html#a82c66f3e2b7d2d9dd391a947719bda9baca29c59204ea9d2e228cba3e349aa019',1,'SVF::MSSAMU']]],
57
57
  ['loadmu',['LoadMU',['../classSVF_1_1LoadMU.html',1,'SVF::LoadMU< Cond >'],['../classSVF_1_1SVFG.html#a86d4a41a881a3d2e5def103d7ba8bb2f',1,'SVF::SVFG::LOADMU()'],['../classSVF_1_1MemSSA.html#a4717016109fd3bc80f3095d11afff5b1',1,'SVF::MemSSA::LOADMU()'],['../classSVF_1_1LoadMU.html#aaf916feaa76c3eaf96dcff576ef366ca',1,'SVF::LoadMU::LoadMU()']]],
58
58
  ['loadoutedges',['loadOutEdges',['../classSVF_1_1ConstraintNode.html#a85a6acbd708be0dfc63ea87050a4a934',1,'SVF::ConstraintNode']]],
59
- ['loadset',['loadset',['../classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd',1,'SVF::MTAAnnotator::loadset()'],['../classSVF_1_1MTA.html#a80356495b6c45bac59dc15fd7a99730b',1,'SVF::MTA::LoadSet()']]],
59
+ ['loadset',['LoadSet',['../classSVF_1_1MTA.html#a80356495b6c45bac59dc15fd7a99730b',1,'SVF::MTA::LoadSet()'],['../classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd',1,'SVF::MTAAnnotator::loadset()']]],
60
60
  ['loadsrcnodes',['loadSrcNodes',['../classSVF_1_1AliasDDAClient.html#a246448efd1ff5da683a6ffe9f759e282',1,'SVF::AliasDDAClient']]],
61
61
  ['loadstmt',['LoadStmt',['../classSVF_1_1LoadStmt.html',1,'SVF::LoadStmt'],['../classSVF_1_1LoadStmt.html#a4bd939005c7c6a5da4ed3b6be6ef1a22',1,'SVF::LoadStmt::LoadStmt()'],['../classSVF_1_1LoadStmt.html#a2efafa925a30de73735ca73b1632b5f8',1,'SVF::LoadStmt::LoadStmt(const LoadStmt &)'],['../classSVF_1_1LoadStmt.html#a92c5817abfaa1f6fbc9ee911f458dfb2',1,'SVF::LoadStmt::LoadStmt(SVFVar *s, SVFVar *d)']]],
62
62
  ['loadstomrsmap',['LoadsToMRsMap',['../classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175',1,'SVF::MRGenerator::LoadsToMRsMap()'],['../classSVF_1_1MRGenerator.html#a0d8229b1f0b8428708e923d19096e4ba',1,'SVF::MRGenerator::loadsToMRsMap()']]],
63
- ['loadstopointstomap',['LoadsToPointsToMap',['../classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c',1,'SVF::MRGenerator::LoadsToPointsToMap()'],['../classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975',1,'SVF::MRGenerator::loadsToPointsToMap()']]],
63
+ ['loadstopointstomap',['loadsToPointsToMap',['../classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975',1,'SVF::MRGenerator::loadsToPointsToMap()'],['../classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c',1,'SVF::MRGenerator::LoadsToPointsToMap()']]],
64
64
  ['loadsvfgnode',['LoadSVFGNode',['../namespaceSVF.html#a3ce49be3724e1e8423ccdfa726fbf6c8',1,'SVF']]],
65
65
  ['loadtime',['loadTime',['../classSVF_1_1FlowSensitive.html#aab4f70210eb1e6447a24697d3b459067',1,'SVF::FlowSensitive']]],
66
66
  ['loadtomusetmap',['LoadToMUSetMap',['../classSVF_1_1MemSSA.html#a94164c59384ef04f98a3713b504fca35',1,'SVF::MemSSA']]],
@@ -91,7 +91,7 @@ var searchData=
91
91
  ['lockset',['LockSet',['../classSVF_1_1LockAnalysis.html#a4bde0f39a6b5cf83e0011d7ef272c685',1,'SVF::LockAnalysis']]],
92
92
  ['locksites',['locksites',['../classSVF_1_1LockAnalysis.html#a87c412a54f48e5314454cd1d44ef9b0e',1,'SVF::LockAnalysis']]],
93
93
  ['locksitetolockset',['LockSiteToLockSet',['../classSVF_1_1LockAnalysis.html#a1f9ae41c4ed7450d0d8b29cd20a6ef25',1,'SVF::LockAnalysis']]],
94
- ['lockspan',['LockSpan',['../classSVF_1_1LockAnalysis.html#a07b7d49e1fbe3e5dc694b6aadbee05b8',1,'SVF::LockAnalysis::LockSpan()'],['../classSVF_1_1MHP.html#a08ba219ec02b07b1bbd91a88ebb4acd7',1,'SVF::MHP::LockSpan()'],['../classSVF_1_1SVFGNodeLockSpan.html#a762505799b9257bbcb766fccdce40fd4',1,'SVF::SVFGNodeLockSpan::lockSpan()']]],
94
+ ['lockspan',['lockSpan',['../classSVF_1_1SVFGNodeLockSpan.html#a762505799b9257bbcb766fccdce40fd4',1,'SVF::SVFGNodeLockSpan::lockSpan()'],['../classSVF_1_1LockAnalysis.html#a07b7d49e1fbe3e5dc694b6aadbee05b8',1,'SVF::LockAnalysis::LockSpan()'],['../classSVF_1_1MHP.html#a08ba219ec02b07b1bbd91a88ebb4acd7',1,'SVF::MHP::LockSpan()']]],
95
95
  ['locktime',['lockTime',['../classSVF_1_1LockAnalysis.html#adadee129c04b82576b4ca3c7594cdcb2',1,'SVF::LockAnalysis']]],
96
96
  ['lockvalid',['LockValid',['../classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66',1,'SVF::Options']]],
97
97
  ['locmemmodel',['LocMemModel',['../classSVF_1_1Options.html#aba8e13f8bb26cf6a0718282e6f9a1940',1,'SVF::Options']]],
@@ -85,6 +85,7 @@ var searchData=
85
85
  ['nullptr',['NullPtr',['../classSVF_1_1SymbolTableInfo.html#afd2cf6ef6d7f2a583c709a72067be89ba1e6cc9ef0abd047b183382f2681cd4c1',1,'SVF::SymbolTableInfo']]],
86
86
  ['nullptrsvfgnode',['NullPtrSVFGNode',['../namespaceSVF.html#aeccd0bd024319173c1cda5ff1a79c5ae',1,'SVF']]],
87
87
  ['nullptrsymid',['nullPtrSymID',['../classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721',1,'SVF::SymbolTableInfo']]],
88
+ ['nullptrsyms',['nullPtrSyms',['../classSVF_1_1SymbolTableInfo.html#a971a064010c989792d900ca026584e9f',1,'SVF::SymbolTableInfo']]],
88
89
  ['nullptrvfgnode',['NullPtrVFGNode',['../classSVF_1_1NullPtrVFGNode.html',1,'SVF::NullPtrVFGNode'],['../classSVF_1_1NullPtrVFGNode.html#a5bbcd7ba5ac40efefbd1ef99bea86639',1,'SVF::NullPtrVFGNode::NullPtrVFGNode()']]],
89
90
  ['num_5fbins',['num_bins',['../structst__table.html#a82a6c5cde11a832171b4c3e8fec57c36',1,'st_table']]],
90
91
  ['num_5fentries',['num_entries',['../structst__table.html#a4f720b56253518cde537ade35a3b591a',1,'st_table']]],
@@ -99,7 +100,7 @@ var searchData=
99
100
  ['numinit',['numInit',['../classSVF_1_1TypeBasedHeapCloning.html#a4c658be1ade99ad1e848cd80332e38ce',1,'SVF::TypeBasedHeapCloning']]],
100
101
  ['numnodes',['numNodes',['../classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62',1,'SVF::NodeIDAllocator']]],
101
102
  ['numnontrivialregionobjects',['NumNonTrivialRegionObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f',1,'SVF::NodeIDAllocator::Clusterer']]],
102
- ['numobjects',['NumObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::NumObjects()'],['../classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()']]],
103
+ ['numobjects',['numObjects',['../classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()'],['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::NumObjects()']]],
103
104
  ['numofactualin',['numOfActualIn',['../classSVF_1_1SVFGStat.html#a5365744d2ec3594e2255d274f7256569',1,'SVF::SVFGStat']]],
104
105
  ['numofactualout',['numOfActualOut',['../classSVF_1_1SVFGStat.html#a122555f5c4b9746cc2b7f38c7cd6b505',1,'SVF::SVFGStat']]],
105
106
  ['numofactualparam',['numOfActualParam',['../classSVF_1_1SVFGStat.html#a0494c59483520b57acdca95952c93d76',1,'SVF::SVFGStat']]],
@@ -162,7 +163,7 @@ var searchData=
162
163
  ['numofmhpld',['numOfMHPLd',['../classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8',1,'SVF::MTAAnnotator']]],
163
164
  ['numofmhpqueries',['numOfMHPQueries',['../classSVF_1_1MHP.html#ab8bd382e0c70b0feb2a291ecc4043106',1,'SVF::MHP']]],
164
165
  ['numofmhpst',['numOfMHPSt',['../classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2',1,'SVF::MTAAnnotator']]],
165
- ['numofmssaphi',['NumOfMSSAPhi',['../classSVF_1_1MemSSAStat.html#a4b598cb1d06c4c0963787036862b1c3d',1,'SVF::MemSSAStat::NumOfMSSAPhi()'],['../classSVF_1_1SVFGStat.html#a9fc87025af3b7e54442e78f46ebe0360',1,'SVF::SVFGStat::numOfMSSAPhi()']]],
166
+ ['numofmssaphi',['numOfMSSAPhi',['../classSVF_1_1SVFGStat.html#a9fc87025af3b7e54442e78f46ebe0360',1,'SVF::SVFGStat::numOfMSSAPhi()'],['../classSVF_1_1MemSSAStat.html#a4b598cb1d06c4c0963787036862b1c3d',1,'SVF::MemSSAStat::NumOfMSSAPhi()']]],
166
167
  ['numofnewsvfgedges',['numOfNewSVFGEdges',['../classSVF_1_1MTASVFGBuilder.html#a019a4597074fdad6e51d936ed4ead0d9',1,'SVF::MTASVFGBuilder']]],
167
168
  ['numofnodes',['numOfNodes',['../classSVF_1_1ICFGStat.html#a8e71a19c266aacd7acb1fee6bb339788',1,'SVF::ICFGStat::numOfNodes()'],['../classSVF_1_1SVFGStat.html#ab499c24856a990dd4adb366107eb3302',1,'SVF::SVFGStat::numOfNodes()']]],
168
169
  ['numofnodesincycles',['NumOfNodesInCycles',['../classSVF_1_1PTAStat.html#aea3e95097b3b9d326bef0d36f17e51a5',1,'SVF::PTAStat']]],
@@ -66,11 +66,11 @@ var searchData=
66
66
  ['options_2eh',['Options.h',['../Options_8h.html',1,'']]],
67
67
  ['optsvfg',['OPTSVFG',['../classSVF_1_1Options.html#a7704ff30e6fc5043313adf5c655bcd4a',1,'SVF::Options']]],
68
68
  ['opvarbegin',['opVarBegin',['../classSVF_1_1MultiOpndStmt.html#abebed8985cb4d4d1361c42e5454c90b9',1,'SVF::MultiOpndStmt']]],
69
- ['opvars',['OPVars',['../classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007',1,'SVF::MultiOpndStmt::OPVars()'],['../classSVF_1_1MultiOpndStmt.html#a172025849492f4de8f87564ef08f5880',1,'SVF::MultiOpndStmt::opVars()']]],
69
+ ['opvars',['opVars',['../classSVF_1_1MultiOpndStmt.html#a172025849492f4de8f87564ef08f5880',1,'SVF::MultiOpndStmt::opVars()'],['../classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007',1,'SVF::MultiOpndStmt::OPVars()']]],
70
70
  ['opver',['opVer',['../classSVF_1_1MSSACHI.html#a86f2f3f6e2215cdbe31caee048510757',1,'SVF::MSSACHI']]],
71
71
  ['opverbegin',['opVerBegin',['../classSVF_1_1MSSAPHISVFGNode.html#ace39549f7e300cb4a0ac7b8506a8632a',1,'SVF::MSSAPHISVFGNode::opVerBegin()'],['../classSVF_1_1IntraMSSAPHISVFGNode.html#aff4e88ef6569d3c4f29b532d610cd2b9',1,'SVF::IntraMSSAPHISVFGNode::opVerBegin()'],['../classSVF_1_1CmpVFGNode.html#a78fb624f0ca9ff16e6a8e5fd1c384904',1,'SVF::CmpVFGNode::opVerBegin()'],['../classSVF_1_1BinaryOPVFGNode.html#adaff45c46c4cc8158bd3147d304deab5',1,'SVF::BinaryOPVFGNode::opVerBegin()'],['../classSVF_1_1UnaryOPVFGNode.html#ab63ddaa05181f2c60ca7a001001a908d',1,'SVF::UnaryOPVFGNode::opVerBegin()'],['../classSVF_1_1PHIVFGNode.html#a2e00f6d582aa4ac9aa116cc6d5c79369',1,'SVF::PHIVFGNode::opVerBegin()'],['../classSVF_1_1MSSAPHI.html#a940f9afa26bf54c7175276ea27003c2f',1,'SVF::MSSAPHI::opVerBegin()']]],
72
72
  ['opverend',['opVerEnd',['../classSVF_1_1MSSAPHISVFGNode.html#a33ec42a011781bbb63dce6dbe5f88bdf',1,'SVF::MSSAPHISVFGNode::opVerEnd()'],['../classSVF_1_1IntraMSSAPHISVFGNode.html#a5e78faceb497b0f3cb6f8f1a9fc4f799',1,'SVF::IntraMSSAPHISVFGNode::opVerEnd()'],['../classSVF_1_1CmpVFGNode.html#ae5ba94ffae500168f0e5c1b1ce78af9c',1,'SVF::CmpVFGNode::opVerEnd()'],['../classSVF_1_1BinaryOPVFGNode.html#aed5a32d1a145df7007ba7d934e4c2bd4',1,'SVF::BinaryOPVFGNode::opVerEnd()'],['../classSVF_1_1UnaryOPVFGNode.html#af31a06d33f41bdcff625ac23e269708c',1,'SVF::UnaryOPVFGNode::opVerEnd()'],['../classSVF_1_1PHIVFGNode.html#add18c60773871744123d12a037e78e20',1,'SVF::PHIVFGNode::opVerEnd()'],['../classSVF_1_1MultiOpndStmt.html#ad53097d07487d564e7d13f9d7d9ab10c',1,'SVF::MultiOpndStmt::opVerEnd()'],['../classSVF_1_1MSSAPHI.html#a2a49ad9d2eedf1dea98d725b13878d88',1,'SVF::MSSAPHI::opVerEnd()']]],
73
- ['opvers',['OPVers',['../classSVF_1_1MSSAPHISVFGNode.html#a300f37203eb84fc57e005c27ce0422fb',1,'SVF::MSSAPHISVFGNode::OPVers()'],['../classSVF_1_1CmpVFGNode.html#a0db4ada3c366c811962415454a859b22',1,'SVF::CmpVFGNode::OPVers()'],['../classSVF_1_1BinaryOPVFGNode.html#a880c8260e3acb3fbe431446f2c1f5990',1,'SVF::BinaryOPVFGNode::OPVers()'],['../classSVF_1_1UnaryOPVFGNode.html#af96b598342bbcbcd739e2603acfc5a41',1,'SVF::UnaryOPVFGNode::OPVers()'],['../classSVF_1_1PHIVFGNode.html#a44ba5254e5f4def007c99916cd58668c',1,'SVF::PHIVFGNode::OPVers()'],['../classSVF_1_1MSSAPHI.html#a622892bb1c3c151e646ae1a46838c3ba',1,'SVF::MSSAPHI::OPVers()'],['../classSVF_1_1MSSAPHISVFGNode.html#a9c327923ab939e06877441ebde5c1139',1,'SVF::MSSAPHISVFGNode::opVers()'],['../classSVF_1_1CmpVFGNode.html#aae30d80fd848d62467476d21c691573c',1,'SVF::CmpVFGNode::opVers()'],['../classSVF_1_1BinaryOPVFGNode.html#ae803603f567cc28f5a7e1b66fb324cbc',1,'SVF::BinaryOPVFGNode::opVers()'],['../classSVF_1_1UnaryOPVFGNode.html#ae6fdb5759a0dfeb0635ffd758b752dc1',1,'SVF::UnaryOPVFGNode::opVers()'],['../classSVF_1_1PHIVFGNode.html#a08ccd55d0fb6ce33f69959349008daca',1,'SVF::PHIVFGNode::opVers()'],['../classSVF_1_1MSSAPHI.html#abdabd6dff67cd59622f18d48e8b34271',1,'SVF::MSSAPHI::opVers()']]],
73
+ ['opvers',['opVers',['../classSVF_1_1MSSAPHISVFGNode.html#a9c327923ab939e06877441ebde5c1139',1,'SVF::MSSAPHISVFGNode::opVers()'],['../classSVF_1_1CmpVFGNode.html#aae30d80fd848d62467476d21c691573c',1,'SVF::CmpVFGNode::opVers()'],['../classSVF_1_1BinaryOPVFGNode.html#ae803603f567cc28f5a7e1b66fb324cbc',1,'SVF::BinaryOPVFGNode::opVers()'],['../classSVF_1_1UnaryOPVFGNode.html#ae6fdb5759a0dfeb0635ffd758b752dc1',1,'SVF::UnaryOPVFGNode::opVers()'],['../classSVF_1_1PHIVFGNode.html#a08ccd55d0fb6ce33f69959349008daca',1,'SVF::PHIVFGNode::opVers()'],['../classSVF_1_1MSSAPHI.html#abdabd6dff67cd59622f18d48e8b34271',1,'SVF::MSSAPHI::opVers()'],['../classSVF_1_1MSSAPHISVFGNode.html#a300f37203eb84fc57e005c27ce0422fb',1,'SVF::MSSAPHISVFGNode::OPVers()'],['../classSVF_1_1CmpVFGNode.html#a0db4ada3c366c811962415454a859b22',1,'SVF::CmpVFGNode::OPVers()'],['../classSVF_1_1BinaryOPVFGNode.html#a880c8260e3acb3fbe431446f2c1f5990',1,'SVF::BinaryOPVFGNode::OPVers()'],['../classSVF_1_1UnaryOPVFGNode.html#af96b598342bbcbcd739e2603acfc5a41',1,'SVF::UnaryOPVFGNode::OPVers()'],['../classSVF_1_1PHIVFGNode.html#a44ba5254e5f4def007c99916cd58668c',1,'SVF::PHIVFGNode::OPVers()'],['../classSVF_1_1MSSAPHI.html#a622892bb1c3c151e646ae1a46838c3ba',1,'SVF::MSSAPHI::OPVers()']]],
74
74
  ['or',['OR',['../classSVF_1_1BDDExprManager.html#a276f68eefe6b168ad5dc9e32c4f265bd',1,'SVF::BDDExprManager']]],
75
75
  ['orderedmap',['OrderedMap',['../namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6',1,'SVF']]],
76
76
  ['orderednodeset',['OrderedNodeSet',['../namespaceSVF.html#a3c2bd95727ec0d9c55c631b6617026c8',1,'SVF']]],
@@ -99,6 +99,6 @@ var searchData=
99
99
  ['outs',['outs',['../namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61',1,'SVF::SVFUtil']]],
100
100
  ['outstream',['OutStream',['../namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31',1,'SVF']]],
101
101
  ['outupdatedvarmap',['outUpdatedVarMap',['../classSVF_1_1MutableIncDFPTData.html#af5f7db6c55037a0e117a36982736039e',1,'SVF::MutableIncDFPTData::outUpdatedVarMap()'],['../classSVF_1_1PersistentIncDFPTData.html#a054f8e2a0668387c092b2802e64a4df0',1,'SVF::PersistentIncDFPTData::outUpdatedVarMap()']]],
102
- ['overlap',['Overlap',['../classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c',1,'SVF::LocationSet::Overlap()'],['../classSVF_1_1CondPTAImpl.html#adf0acbb0c605278e43d88787d651bbd8',1,'SVF::CondPTAImpl::overlap()']]],
102
+ ['overlap',['overlap',['../classSVF_1_1CondPTAImpl.html#adf0acbb0c605278e43d88787d651bbd8',1,'SVF::CondPTAImpl::overlap()'],['../classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c',1,'SVF::LocationSet::Overlap()']]],
103
103
  ['owned_5fmodules',['owned_modules',['../classSVF_1_1LLVMModuleSet.html#ae365189769640adb919a23c36978e5e2',1,'SVF::LLVMModuleSet']]]
104
104
  ];
@@ -212,7 +212,7 @@ var searchData=
212
212
  ['svfgnodelockspan',['SVFGNodeLockSpan',['../classSVF_1_1SVFGNodeLockSpan.html#a43f4d595b31259576b141cb99883938e',1,'SVF::SVFGNodeLockSpan']]],
213
213
  ['svfgopt',['SVFGOPT',['../classSVF_1_1SVFGOPT.html#a239475c15b39d54c632427307b8e9350',1,'SVF::SVFGOPT']]],
214
214
  ['svfgsccdetection',['SVFGSCCDetection',['../classSVF_1_1DDAVFSolver.html#aba0ec611a5cfd096ac0b8b11e0bd5580',1,'SVF::DDAVFSolver']]],
215
- ['svfgstat',['svfgStat',['../classSVF_1_1FlowSensitive.html#a5f015d8f2b0956306822172d02b415c3',1,'SVF::FlowSensitive::svfgStat()'],['../classSVF_1_1SVFGStat.html#ae61d5bd92ef495a0f6c2f9dedac3da03',1,'SVF::SVFGStat::SVFGStat()']]],
215
+ ['svfgstat',['SVFGStat',['../classSVF_1_1SVFGStat.html#ae61d5bd92ef495a0f6c2f9dedac3da03',1,'SVF::SVFGStat::SVFGStat()'],['../classSVF_1_1FlowSensitive.html#a5f015d8f2b0956306822172d02b415c3',1,'SVF::FlowSensitive::svfgStat()']]],
216
216
  ['svfir',['SVFIR',['../classSVF_1_1SVFIR.html#abf511f82cdbf7a6d9b6da167aee57636',1,'SVF::SVFIR']]],
217
217
  ['svfirbuilder',['SVFIRBuilder',['../classSVF_1_1SVFIRBuilder.html#a8c25c3903cda26312f182014f29069fc',1,'SVF::SVFIRBuilder']]],
218
218
  ['svfloop',['SVFLoop',['../classSVF_1_1SVFLoop.html#a25b9a079f48aa0374c91be6a1e9697f8',1,'SVF::SVFLoop']]],
@@ -96,6 +96,7 @@ var searchData=
96
96
  ['collectmodrefforcall',['collectModRefForCall',['../classSVF_1_1MRGenerator.html#a502f8379620378b36bc12d9a91b408d2',1,'SVF::MRGenerator']]],
97
97
  ['collectmodrefforloadstore',['collectModRefForLoadStore',['../classSVF_1_1MRGenerator.html#a207dfa4c9f044764665478142c6e6b22',1,'SVF::MRGenerator']]],
98
98
  ['collectmultiforkedthreads',['collectMultiForkedThreads',['../classSVF_1_1TCT.html#ad15753a9c20d738325e5c0edea6c9c56',1,'SVF::TCT']]],
99
+ ['collectnullptrblackholesyms',['collectNullPtrBlackholeSyms',['../classSVF_1_1SymbolTableBuilder.html#a1186ed5d52a12f8495d3b64df78f3052',1,'SVF::SymbolTableBuilder']]],
99
100
  ['collectobj',['collectObj',['../classSVF_1_1SymbolTableBuilder.html#a891bfea437256d1b7aa957d32797e419',1,'SVF::SymbolTableBuilder']]],
100
101
  ['collectptschain',['CollectPtsChain',['../classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5',1,'SVF::MRGenerator::CollectPtsChain()'],['../classSVF_1_1SaberSVFGBuilder.html#a411e168e2a6c27e15186c609c5e216b3',1,'SVF::SaberSVFGBuilder::CollectPtsChain()']]],
101
102
  ['collectregdefs',['collectRegDefs',['../classSVF_1_1MemSSA.html#a7c0bb1406f0e583c38e522ca06dfa73a',1,'SVF::MemSSA']]],
@@ -115,7 +115,7 @@ var searchData=
115
115
  ['isbinaryconstantexpr',['isBinaryConstantExpr',['../namespaceSVF_1_1SVFUtil.html#a43c9072210a5f5baeafe36da03f2fde2',1,'SVF::SVFUtil']]],
116
116
  ['isbkvisited',['isbkVisited',['../classSVF_1_1DDAVFSolver.html#a9a9c3a8b5e4ffc89418073110e446f20',1,'SVF::DDAVFSolver']]],
117
117
  ['isblackholeobj',['isBlackHoleObj',['../classSVF_1_1MemObj.html#a7b890ca9e93b1c61cc6437b7e6a82a8c',1,'SVF::MemObj']]],
118
- ['isblackholesym',['isBlackholeSym',['../namespaceSVF_1_1SVFUtil.html#ac0df4ee0bf78167dd9461227b5cce7af',1,'SVF::SVFUtil']]],
118
+ ['isblackholesym',['isBlackholeSym',['../classSVF_1_1SymbolTableInfo.html#ab15112d3900f28525848cbe5fad37deb',1,'SVF::SymbolTableInfo::isBlackholeSym()'],['../namespaceSVF_1_1SVFUtil.html#ac0df4ee0bf78167dd9461227b5cce7af',1,'SVF::SVFUtil::isBlackholeSym()']]],
119
119
  ['isblkobj',['isBlkObj',['../classSVF_1_1SVFIR.html#a17527c55d35ae5c18f00fd4dabe6acad',1,'SVF::SVFIR::isBlkObj()'],['../classSVF_1_1SymbolTableInfo.html#ad9cdb21e20182f3bc95f04bbb97712f3',1,'SVF::SymbolTableInfo::isBlkObj()']]],
120
120
  ['isblkobjorconstantobj',['isBlkObjOrConstantObj',['../classSVF_1_1ConstraintGraph.html#a8ba74f82c1e796f2888ba34bc8355ce9',1,'SVF::ConstraintGraph::isBlkObjOrConstantObj()'],['../classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b',1,'SVF::PointerAnalysis::isBlkObjOrConstantObj()'],['../classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001',1,'SVF::SVFIR::isBlkObjOrConstantObj()'],['../classSVF_1_1SymbolTableInfo.html#a2fc4bfb83b71a4c14e16168382cb8f5d',1,'SVF::SymbolTableInfo::isBlkObjOrConstantObj()'],['../classSVF_1_1TypeBasedHeapCloning.html#a59a9c7b8a7ec392ac609f10c8dac8d7f',1,'SVF::TypeBasedHeapCloning::isBlkObjOrConstantObj()']]],
121
121
  ['isblkptr',['isBlkPtr',['../classSVF_1_1SVFIR.html#a6a71d2716530607d66d9e9035199d997',1,'SVF::SVFIR::isBlkPtr()'],['../classSVF_1_1SymbolTableInfo.html#acba43b6e9cdf07afaf3d30351aa8df7c',1,'SVF::SymbolTableInfo::isBlkPtr()']]],
@@ -139,7 +139,7 @@ var searchData=
139
139
  ['isconstantarray',['isConstantArray',['../classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb',1,'SVF::MemObj::isConstantArray()'],['../classSVF_1_1ObjTypeInfo.html#ac1ee7a720959c0e97496870d6e759212',1,'SVF::ObjTypeInfo::isConstantArray()']]],
140
140
  ['isconstantdata',['isConstantData',['../classSVF_1_1SVFVar.html#a04b62eea862857ea5640fe74ef3f2a47',1,'SVF::SVFVar::isConstantData()'],['../classSVF_1_1MemObj.html#aa50d7c3b4e7ac0aa769bc094bea26e16',1,'SVF::MemObj::isConstantData()'],['../classSVF_1_1ObjTypeInfo.html#a6f6c80f7d067a6082a9af04d2547cf34',1,'SVF::ObjTypeInfo::isConstantData()'],['../namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388',1,'SVF::SVFUtil::isConstantData()']]],
141
141
  ['isconstantobj',['isConstantObj',['../classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156',1,'SVF::SVFIR::isConstantObj()'],['../classSVF_1_1SymbolTableInfo.html#a704b917b1e1dbaf9cd758fa9acc1083b',1,'SVF::SymbolTableInfo::isConstantObj()']]],
142
- ['isconstantobjsym',['isConstantObjSym',['../classSVF_1_1SymbolTableInfo.html#a61bda1c1c52fb765d0027d8141d35c35',1,'SVF::SymbolTableInfo']]],
142
+ ['isconstantobjsym',['isConstantObjSym',['../namespaceSVF_1_1SVFUtil.html#a6442fbf0cccd55cf93eab2b656756e9a',1,'SVF::SVFUtil']]],
143
143
  ['isconstantoffset',['isConstantOffset',['../classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d',1,'SVF::LocationSet::isConstantOffset()'],['../classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4',1,'SVF::GepStmt::isConstantOffset()']]],
144
144
  ['isconstantstruct',['isConstantStruct',['../classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f',1,'SVF::MemObj::isConstantStruct()'],['../classSVF_1_1ObjTypeInfo.html#a41f916ab4e3a2c163fca636eae948ce7',1,'SVF::ObjTypeInfo::isConstantStruct()']]],
145
145
  ['isconstdataorconstglobal',['isConstDataOrConstGlobal',['../classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0',1,'SVF::MemObj::isConstDataOrConstGlobal()'],['../classSVF_1_1ObjTypeInfo.html#a8e6c60978df9828c1dcb54086e83edc1',1,'SVF::ObjTypeInfo::isConstDataOrConstGlobal()']]],
@@ -261,7 +261,7 @@ var searchData=
261
261
  ['isnonpointerobj',['isNonPointerObj',['../classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9',1,'SVF::PointerAnalysis::isNonPointerObj()'],['../classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507',1,'SVF::SVFIR::isNonPointerObj()']]],
262
262
  ['isnonptrfieldobj',['isNonPtrFieldObj',['../classSVF_1_1MemObj.html#ad6926becf26a625cfe165aec120b2a1e',1,'SVF::MemObj::isNonPtrFieldObj()'],['../classSVF_1_1ObjTypeInfo.html#a3a58b1e0192b92dac5bbfad24adbcdac',1,'SVF::ObjTypeInfo::isNonPtrFieldObj()']]],
263
263
  ['isnullptr',['isNullPtr',['../classSVF_1_1SVFIR.html#a18ca66c199b910b15f1bfa77dcc98c30',1,'SVF::SVFIR::isNullPtr()'],['../classSVF_1_1SymbolTableInfo.html#ad095e4a569d399cadc03ce864f61c394',1,'SVF::SymbolTableInfo::isNullPtr()']]],
264
- ['isnullptrsym',['isNullPtrSym',['../classSVF_1_1SymbolTableInfo.html#a65a7e9d6d238a04291cb7d0aa15ece90',1,'SVF::SymbolTableInfo']]],
264
+ ['isnullptrsym',['isNullPtrSym',['../classSVF_1_1SymbolTableInfo.html#a65a7e9d6d238a04291cb7d0aa15ece90',1,'SVF::SymbolTableInfo::isNullPtrSym()'],['../namespaceSVF_1_1SVFUtil.html#a4c1107b2635f374e71e6a3a43834469b',1,'SVF::SVFUtil::isNullPtrSym()']]],
265
265
  ['isobject',['isObject',['../namespaceSVF_1_1SVFUtil.html#acc9fd07cb66dbdeef696c3c745856094',1,'SVF::SVFUtil']]],
266
266
  ['isoperoverload',['isOperOverload',['../CPPUtil_8cpp.html#aaf7dd7cff6ac20b3702113606aafa175',1,'CPPUtil.cpp']]],
267
267
  ['isouticfgedge',['isOutICFGEdge',['../classSVF_1_1SVFLoop.html#a5b2ff96defd83686c2737cafa0e1cc83',1,'SVF::SVFLoop']]],
@@ -26,14 +26,14 @@ var searchData=
26
26
  ['tid',['tid',['../classSVF_1_1CxtThreadStmt.html#ad96bacc3de1ce576ad397d19aa99a269',1,'SVF::CxtThreadStmt::tid()'],['../classSVF_1_1CxtThreadProc.html#a99b24e1be2bfb49569532c2c28c68969',1,'SVF::CxtThreadProc::tid()']]],
27
27
  ['timelimit',['timeLimit',['../structDdManager.html#a6c14f932c4a66c6234e6b19bd8b6647f',1,'DdManager']]],
28
28
  ['timeofcollapse',['timeOfCollapse',['../classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25',1,'SVF::AndersenBase']]],
29
- ['timeofcreatemuchi',['timeOfCreateMUCHI',['../classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198',1,'SVF::MemSSA::timeOfCreateMUCHI()'],['../classSVF_1_1MemSSAStat.html#a48c70f0ed1c7d031a3cd528035162e52',1,'SVF::MemSSAStat::TimeOfCreateMUCHI()']]],
30
- ['timeofgeneratingmemregions',['timeOfGeneratingMemRegions',['../classSVF_1_1MemSSA.html#a37dca8a7d155de4870358146d219b5e5',1,'SVF::MemSSA::timeOfGeneratingMemRegions()'],['../classSVF_1_1MemSSAStat.html#a74c36654b7452aa94aa241881f0a83c5',1,'SVF::MemSSAStat::TimeOfGeneratingMemRegions()']]],
31
- ['timeofinsertingphi',['timeOfInsertingPHI',['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::timeOfInsertingPHI()'],['../classSVF_1_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::TimeOfInsertingPHI()']]],
29
+ ['timeofcreatemuchi',['TimeOfCreateMUCHI',['../classSVF_1_1MemSSAStat.html#a48c70f0ed1c7d031a3cd528035162e52',1,'SVF::MemSSAStat::TimeOfCreateMUCHI()'],['../classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198',1,'SVF::MemSSA::timeOfCreateMUCHI()']]],
30
+ ['timeofgeneratingmemregions',['TimeOfGeneratingMemRegions',['../classSVF_1_1MemSSAStat.html#a74c36654b7452aa94aa241881f0a83c5',1,'SVF::MemSSAStat::TimeOfGeneratingMemRegions()'],['../classSVF_1_1MemSSA.html#a37dca8a7d155de4870358146d219b5e5',1,'SVF::MemSSA::timeOfGeneratingMemRegions()']]],
31
+ ['timeofinsertingphi',['TimeOfInsertingPHI',['../classSVF_1_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::TimeOfInsertingPHI()'],['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::timeOfInsertingPHI()']]],
32
32
  ['timeofprocesscopygep',['timeOfProcessCopyGep',['../classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0',1,'SVF::AndersenBase']]],
33
33
  ['timeofprocessloadstore',['timeOfProcessLoadStore',['../classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf',1,'SVF::AndersenBase']]],
34
34
  ['timeofsccdetection',['timeOfSCCDetection',['../classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143',1,'SVF::AndersenBase']]],
35
35
  ['timeofsccmerges',['timeOfSCCMerges',['../classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d',1,'SVF::AndersenBase']]],
36
- ['timeofssarenaming',['timeOfSSARenaming',['../classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::timeOfSSARenaming()'],['../classSVF_1_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::TimeOfSSARenaming()']]],
36
+ ['timeofssarenaming',['TimeOfSSARenaming',['../classSVF_1_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::TimeOfSSARenaming()'],['../classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::timeOfSSARenaming()']]],
37
37
  ['timeofupdatecallgraph',['timeOfUpdateCallGraph',['../classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b',1,'SVF::AndersenBase']]],
38
38
  ['timestatmap',['timeStatMap',['../classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337',1,'SVF::PTAStat']]],
39
39
  ['tlptdata',['tlPTData',['../classSVF_1_1MutableVersionedPTData.html#a01974968b7cf60a4231cc83c93b26d7f',1,'SVF::MutableVersionedPTData::tlPTData()'],['../classSVF_1_1PersistentVersionedPTData.html#a29104a2d53d94805e142f778d3d21ad5',1,'SVF::PersistentVersionedPTData::tlPTData()']]],
@@ -19,6 +19,7 @@ var searchData=
19
19
  ['bits',['bits',['../unionEpTypeUnion.html#ad93dc9fbbc709d52d46e1e8ec78bb391',1,'EpTypeUnion::bits()'],['../unionhack.html#ac9f31214d556c4a179ba01f23036bc91',1,'hack::bits()']]],
20
20
  ['blackholeobjectid',['blackHoleObjectId',['../classSVF_1_1NodeIDAllocator.html#a79ee84d7efb8abbfcd80d31d966ce20b',1,'SVF::NodeIDAllocator']]],
21
21
  ['blackholepointerid',['blackHolePointerId',['../classSVF_1_1NodeIDAllocator.html#a535be344f97496d8086e2861ea6dc2ea',1,'SVF::NodeIDAllocator']]],
22
+ ['blackholesyms',['blackholeSyms',['../classSVF_1_1SymbolTableInfo.html#a3f661249c4543c7bdb7ed17706b086cc',1,'SVF::SymbolTableInfo']]],
22
23
  ['branchcondval',['branchCondVal',['../classSVF_1_1IntraCFGEdge.html#aa1c91aad3dec610100b1f2f4b9826d10',1,'SVF::IntraCFGEdge']]],
23
24
  ['briefconscgdotgraph',['BriefConsCGDotGraph',['../classSVF_1_1Options.html#a82370c2b8c9cd62b5767ceeaeeaa7177',1,'SVF::Options']]],
24
25
  ['brinst',['brInst',['../classSVF_1_1BranchStmt.html#a33887345c00ffda9ca7dca59d61e184a',1,'SVF::BranchStmt']]],
@@ -31,6 +31,7 @@ var searchData=
31
31
  ['normalized',['normalized',['../classSVF_1_1CondPTAImpl.html#ab4115f25e2e477bfd73d01f069f47241',1,'SVF::CondPTAImpl']]],
32
32
  ['nortorepmap',['norToRepMap',['../classSVF_1_1OfflineConsG.html#a6eff43757344f75cd3775d473f14fd9c',1,'SVF::OfflineConsG']]],
33
33
  ['nullpointerid',['nullPointerId',['../classSVF_1_1NodeIDAllocator.html#a1e3a98be74d5dfd3b4c1b5f9c0941353',1,'SVF::NodeIDAllocator']]],
34
+ ['nullptrsyms',['nullPtrSyms',['../classSVF_1_1SymbolTableInfo.html#a971a064010c989792d900ca026584e9f',1,'SVF::SymbolTableInfo']]],
34
35
  ['num_5fbins',['num_bins',['../structst__table.html#a82a6c5cde11a832171b4c3e8fec57c36',1,'st_table']]],
35
36
  ['num_5fentries',['num_entries',['../structst__table.html#a4f720b56253518cde537ade35a3b591a',1,'st_table']]],
36
37
  ['numagg',['numAgg',['../classSVF_1_1TypeBasedHeapCloning.html#a891a5873205bb98ad494a1c07231dc8a',1,'SVF::TypeBasedHeapCloning']]],
@@ -42,7 +43,7 @@ var searchData=
42
43
  ['numinit',['numInit',['../classSVF_1_1TypeBasedHeapCloning.html#a4c658be1ade99ad1e848cd80332e38ce',1,'SVF::TypeBasedHeapCloning']]],
43
44
  ['numnodes',['numNodes',['../classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62',1,'SVF::NodeIDAllocator']]],
44
45
  ['numnontrivialregionobjects',['NumNonTrivialRegionObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f',1,'SVF::NodeIDAllocator::Clusterer']]],
45
- ['numobjects',['NumObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::NumObjects()'],['../classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()']]],
46
+ ['numobjects',['numObjects',['../classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()'],['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::NumObjects()']]],
46
47
  ['numofactualin',['numOfActualIn',['../classSVF_1_1SVFGStat.html#a5365744d2ec3594e2255d274f7256569',1,'SVF::SVFGStat']]],
47
48
  ['numofactualout',['numOfActualOut',['../classSVF_1_1SVFGStat.html#a122555f5c4b9746cc2b7f38c7cd6b505',1,'SVF::SVFGStat']]],
48
49
  ['numofactualparam',['numOfActualParam',['../classSVF_1_1SVFGStat.html#a0494c59483520b57acdca95952c93d76',1,'SVF::SVFGStat']]],
@@ -105,7 +106,7 @@ var searchData=
105
106
  ['numofmhpld',['numOfMHPLd',['../classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8',1,'SVF::MTAAnnotator']]],
106
107
  ['numofmhpqueries',['numOfMHPQueries',['../classSVF_1_1MHP.html#ab8bd382e0c70b0feb2a291ecc4043106',1,'SVF::MHP']]],
107
108
  ['numofmhpst',['numOfMHPSt',['../classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2',1,'SVF::MTAAnnotator']]],
108
- ['numofmssaphi',['NumOfMSSAPhi',['../classSVF_1_1MemSSAStat.html#a4b598cb1d06c4c0963787036862b1c3d',1,'SVF::MemSSAStat::NumOfMSSAPhi()'],['../classSVF_1_1SVFGStat.html#a9fc87025af3b7e54442e78f46ebe0360',1,'SVF::SVFGStat::numOfMSSAPhi()']]],
109
+ ['numofmssaphi',['numOfMSSAPhi',['../classSVF_1_1SVFGStat.html#a9fc87025af3b7e54442e78f46ebe0360',1,'SVF::SVFGStat::numOfMSSAPhi()'],['../classSVF_1_1MemSSAStat.html#a4b598cb1d06c4c0963787036862b1c3d',1,'SVF::MemSSAStat::NumOfMSSAPhi()']]],
109
110
  ['numofnewsvfgedges',['numOfNewSVFGEdges',['../classSVF_1_1MTASVFGBuilder.html#a019a4597074fdad6e51d936ed4ead0d9',1,'SVF::MTASVFGBuilder']]],
110
111
  ['numofnodes',['numOfNodes',['../classSVF_1_1ICFGStat.html#a8e71a19c266aacd7acb1fee6bb339788',1,'SVF::ICFGStat::numOfNodes()'],['../classSVF_1_1SVFGStat.html#ab499c24856a990dd4adb366107eb3302',1,'SVF::SVFGStat::numOfNodes()']]],
111
112
  ['numofnodesincycles',['NumOfNodesInCycles',['../classSVF_1_1PTAStat.html#aea3e95097b3b9d326bef0d36f17e51a5',1,'SVF::PTAStat']]],
@@ -167,7 +167,7 @@ Functions</h2></td></tr>
167
167
  <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00142">142</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
168
168
  <div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;{</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="stringliteral">&quot;Whole Program Points-to Analysis\n&quot;</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">build</a>(svfModule);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1Andersen.html">Andersen</a>* ander = AndersenWaveDiff::createAndersenWaveDiff(pag);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* callgraph = ander-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>();</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">dump</a>(<span class="stringliteral">&quot;icfg&quot;</span>);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1VFG.html">VFG</a>* vfg = <span class="keyword">new</span> <a class="code" href="classSVF_1_1VFG.html">VFG</a>(callgraph);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html">SVFGBuilder</a> svfBuilder(<span class="keyword">true</span>);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>* svfg = svfBuilder.buildFullSVFG(ander);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="comment">// clean up memory</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">delete</span> vfg;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">delete</span> svfg;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; AndersenWaveDiff::releaseAndersenWaveDiff();</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; SVFIR::releaseSVFIR();</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;dumpModulesToFile(<span class="stringliteral">&quot;.svf.bc&quot;</span>);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a>();</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; llvm::llvm_shutdown();</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div><div class="ttc" id="classSVF_1_1VFG_html"><div class="ttname"><a href="classSVF_1_1VFG.html">SVF::VFG</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00050">VFG.h:50</a></div></div>
169
169
  <div class="ttc" id="classSVF_1_1SVFIRBuilder_html_aa6d56f9580f76fd09d25ce6cf7541e98"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">SVF::SVFIRBuilder::build</a></div><div class="ttdeci">virtual SVFIR * build(SVFModule *svfModule)</div><div class="ttdoc">Start building SVFIR here. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8cpp_source.html#l00049">SVFIRBuilder.cpp:49</a></div></div>
170
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00393">LLVMUtil.cpp:393</a></div></div>
170
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
171
171
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
172
172
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00179">PointerAnalysis.h:179</a></div></div>
173
173
  <div class="ttc" id="classSVF_1_1SVFIRBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html">SVF::SVFIRBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00045">SVFIRBuilder.h:45</a></div></div>
@@ -81,7 +81,7 @@ $(function() {
81
81
  <div class="ttc" id="SVFG_8h_html"><div class="ttname"><a href="SVFG_8h.html">SVFG.h</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
83
83
  <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
84
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00393">LLVMUtil.cpp:393</a></div></div>
84
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
86
86
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a></div><div class="ttdeci">AliasResult</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00195">SVFBasicTypes.h:195</a></div></div>
87
87
  <div class="ttc" id="classSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
@@ -107,7 +107,7 @@ Functions</h2></td></tr>
107
107
  </div><div class="memdoc">
108
108
 
109
109
  <p class="definition">Definition at line <a class="el" href="wpa_8cpp_source.html#l00037">37</a> of file <a class="el" href="wpa_8cpp_source.html">wpa.cpp</a>.</p>
110
- <div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="stringliteral">&quot;Whole Program Points-to Analysis\n&quot;</span>);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html">WPAPass</a> *wpa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1WPAPass.html">WPAPass</a>();</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; wpa-&gt;<a class="code" href="classSVF_1_1WPAPass.html#a394dcd976c1ef08d9cadcba8f5d07c75">runOnModule</a>(svfModule);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00393">LLVMUtil.cpp:393</a></div></div>
110
+ <div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="stringliteral">&quot;Whole Program Points-to Analysis\n&quot;</span>);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html">WPAPass</a> *wpa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1WPAPass.html">WPAPass</a>();</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; wpa-&gt;<a class="code" href="classSVF_1_1WPAPass.html#a394dcd976c1ef08d9cadcba8f5d07c75">runOnModule</a>(svfModule);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
111
111
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
112
112
  <div class="ttc" id="classSVF_1_1WPAPass_html"><div class="ttname"><a href="classSVF_1_1WPAPass.html">SVF::WPAPass</a></div><div class="ttdef"><b>Definition:</b> <a href="WPAPass_8h_source.html#l00054">WPAPass.h:54</a></div></div>
113
113
  <div class="ttc" id="classSVF_1_1SVFModule_html_aa03ab5272652290f30870c6e2d053d98"><div class="ttname"><a href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVF::SVFModule::buildSymbolTableInfo</a></div><div class="ttdeci">void buildSymbolTableInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8cpp_source.html#l00030">SVFModule.cpp:30</a></div></div>
@@ -68,7 +68,7 @@ $(function() {
68
68
  <div class="contents">
69
69
  <a href="wpa_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- wpa.cpp -- Whole program analysis -------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===-----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> // Whole Program Pointer Analysis</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> //</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> // Author: Yulei Sui,</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-FE/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="WPAPass_8h.html">WPA/WPAPass.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="wpa_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 37</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="wpa_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="stringliteral">&quot;Whole Program Points-to Analysis\n&quot;</span>);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1WPAPass.html">WPAPass</a> *wpa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1WPAPass.html">WPAPass</a>();</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; wpa-&gt;<a class="code" href="classSVF_1_1WPAPass.html#a394dcd976c1ef08d9cadcba8f5d07c75">runOnModule</a>(svfModule);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div><div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00107">CFLGraph.h:107</a></div></div>
70
70
  <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
71
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00393">LLVMUtil.cpp:393</a></div></div>
71
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
72
72
  <div class="ttc" id="wpa_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="wpa_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="wpa_8cpp_source.html#l00037">wpa.cpp:37</a></div></div>
73
73
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1WPAPass_html"><div class="ttname"><a href="classSVF_1_1WPAPass.html">SVF::WPAPass</a></div><div class="ttdef"><b>Definition:</b> <a href="WPAPass_8h_source.html#l00054">WPAPass.h:54</a></div></div>
@@ -763,7 +763,7 @@ public:
763
763
  //@}
764
764
 
765
765
  /// constructor
766
- SelectStmt(SVFVar* s, const OPVars& opnds, const SVFVar* cond) : MultiOpndStmt(s,opnds,SVFStmt::Select), condition(cond)
766
+ SelectStmt(SVFVar* s, const OPVars& opnds, const SVFVar* cond) : MultiOpndStmt(s,opnds,makeEdgeFlagWithAddionalOpnd(SVFStmt::Select,opnds.at(1))), condition(cond)
767
767
  {
768
768
  assert(opnds.size()==2 && "SelectStmt can only have two operands!");
769
769
  }
@@ -816,8 +816,9 @@ public:
816
816
  //@}
817
817
 
818
818
  /// constructor
819
- CmpStmt(SVFVar* s, const OPVars& opnds, u32_t pre) : MultiOpndStmt(s,opnds,SVFStmt::Cmp), predicate(pre)
819
+ CmpStmt(SVFVar* s, const OPVars& opnds, u32_t pre) : MultiOpndStmt(s,opnds,makeEdgeFlagWithAddionalOpnd(SVFStmt::Cmp,opnds.at(1))), predicate(pre)
820
820
  {
821
+ assert(opnds.size()==2 && "CmpStmt can only have two operands!");
821
822
  }
822
823
 
823
824
  u32_t getPredicate() const
@@ -862,8 +863,9 @@ public:
862
863
  //@}
863
864
 
864
865
  /// constructor
865
- BinaryOPStmt(SVFVar* s, const OPVars& opnds, u32_t oc) : MultiOpndStmt(s,opnds,SVFStmt::BinaryOp), opcode(oc)
866
+ BinaryOPStmt(SVFVar* s, const OPVars& opnds, u32_t oc) : MultiOpndStmt(s,opnds,makeEdgeFlagWithAddionalOpnd(SVFStmt::BinaryOp,opnds.at(1))), opcode(oc)
866
867
  {
868
+ assert(opnds.size()==2 && "BinaryOPStmt can only have two operands!");
867
869
  }
868
870
 
869
871
  u32_t getOpcode() const
@@ -88,6 +88,8 @@ private:
88
88
  IDToMemMapTy objMap; ///< map a memory sym id to its obj
89
89
 
90
90
  CallSiteSet callSiteSet;
91
+ Set<const Value*> nullPtrSyms;
92
+ Set<const Value*> blackholeSyms;
91
93
 
92
94
  // Singleton pattern here to enable instance of SymbolTableInfo can only be created once.
93
95
  static SymbolTableInfo* symInfo;
@@ -162,8 +164,7 @@ public:
162
164
  /// special value
163
165
  // @{
164
166
  static bool isNullPtrSym(const Value *val);
165
-
166
- bool isConstantObjSym(const Value *val);
167
+ static bool isBlackholeSym(const Value *val);
167
168
 
168
169
  static inline bool isBlkPtr(NodeID id)
169
170
  {
@@ -44,15 +44,25 @@ namespace SVFUtil
44
44
  {
45
45
 
46
46
 
47
-
48
-
49
47
  /// Check whether this value is a black hole
50
48
  inline bool isBlackholeSym(const Value *val)
51
49
  {
52
50
  return (SVFUtil::isa<UndefValue>(val));
53
51
  }
54
52
 
55
- //@}
53
+ /// Check whether this value is a black hole
54
+ inline bool isNullPtrSym(const Value *val)
55
+ {
56
+ if (const Constant* v = SVFUtil::dyn_cast<Constant>(val))
57
+ {
58
+ return v->isNullValue() && v->getType()->isPointerTy();
59
+ }
60
+ return false;
61
+ }
62
+
63
+ /// Check whether this value points-to a constant object
64
+ bool isConstantObjSym(const Value *val);
65
+
56
66
 
57
67
  /// Whether an instruction is a return instruction
58
68
  inline bool isReturn(const Instruction* inst)
@@ -56,6 +56,8 @@ public:
56
56
 
57
57
  /// collect the syms
58
58
  //@{
59
+ void collectNullPtrBlackholeSyms(const Value *val);
60
+
59
61
  void collectSym(const Value *val);
60
62
 
61
63
  void collectVal(const Value *val);