svf-tools 1.0.374 → 1.0.378

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 (198) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +5 -6
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/ConsG_8h_source.html +6 -6
  7. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
  8. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  9. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  10. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +13 -13
  12. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  14. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
  16. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +4 -4
  17. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  18. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +5 -5
  19. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  20. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +8 -8
  23. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +15 -15
  25. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  26. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +9 -9
  28. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +13 -13
  29. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +25 -25
  32. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +30 -28
  33. package/SVF-doxygen/html/html/SVFIR_8h_source.html +63 -65
  34. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +18 -19
  37. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +118 -121
  38. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
  39. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +20 -13
  40. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +7 -4
  41. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +81 -43
  42. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +45 -47
  43. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +12 -12
  45. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  46. package/SVF-doxygen/html/html/VFG_8cpp_source.html +7 -7
  47. package/SVF-doxygen/html/html/VFG_8h_source.html +2 -2
  48. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  50. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  51. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  52. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  53. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
  54. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +6 -6
  55. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  56. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +3 -3
  57. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +5 -6
  58. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +3 -3
  59. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +10 -10
  60. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  61. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  62. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  63. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +22 -25
  64. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +16 -25
  65. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +22 -25
  66. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +17 -26
  67. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +23 -26
  68. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +17 -26
  69. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  70. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +5 -5
  72. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
  73. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
  74. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
  75. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +12 -12
  76. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +22 -25
  77. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +18 -27
  78. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +21 -24
  79. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +18 -27
  80. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +3 -3
  81. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +22 -25
  82. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +19 -28
  83. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  84. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +8 -8
  85. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +6 -6
  86. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +9 -9
  87. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +24 -27
  91. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +41 -50
  92. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +22 -25
  93. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +28 -37
  94. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +3 -3
  95. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  97. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +4 -4
  99. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +9 -9
  100. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +69 -69
  101. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +7 -8
  103. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +124 -174
  104. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +22 -25
  105. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +23 -32
  106. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  108. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
  109. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +16 -16
  110. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +26 -26
  111. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +22 -25
  112. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +18 -27
  113. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +3 -3
  115. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +180 -187
  116. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +146 -154
  118. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +23 -26
  120. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +54 -151
  121. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +6 -6
  122. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +6 -6
  123. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +10 -7
  124. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +154 -35
  125. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +77 -73
  127. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  128. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +20 -20
  129. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  130. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +8 -8
  131. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +21 -24
  132. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +16 -25
  133. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +22 -25
  134. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +18 -27
  135. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +7 -7
  136. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  137. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
  138. package/SVF-doxygen/html/html/functions_a.html +6 -6
  139. package/SVF-doxygen/html/html/functions_c.html +1 -1
  140. package/SVF-doxygen/html/html/functions_func.html +6 -6
  141. package/SVF-doxygen/html/html/functions_func_c.html +1 -1
  142. package/SVF-doxygen/html/html/functions_func_g.html +6 -3
  143. package/SVF-doxygen/html/html/functions_func_i.html +11 -17
  144. package/SVF-doxygen/html/html/functions_func_o.html +4 -4
  145. package/SVF-doxygen/html/html/functions_func_r.html +5 -2
  146. package/SVF-doxygen/html/html/functions_g.html +7 -4
  147. package/SVF-doxygen/html/html/functions_i.html +12 -21
  148. package/SVF-doxygen/html/html/functions_l.html +3 -3
  149. package/SVF-doxygen/html/html/functions_o.html +17 -13
  150. package/SVF-doxygen/html/html/functions_p.html +4 -4
  151. package/SVF-doxygen/html/html/functions_r.html +10 -7
  152. package/SVF-doxygen/html/html/functions_rela.html +2 -1
  153. package/SVF-doxygen/html/html/functions_s.html +15 -12
  154. package/SVF-doxygen/html/html/functions_t.html +7 -5
  155. package/SVF-doxygen/html/html/functions_vars_i.html +3 -6
  156. package/SVF-doxygen/html/html/namespaceSVF.html +1 -1
  157. package/SVF-doxygen/html/html/search/all_1.js +4 -4
  158. package/SVF-doxygen/html/html/search/all_10.js +9 -9
  159. package/SVF-doxygen/html/html/search/all_12.js +1 -0
  160. package/SVF-doxygen/html/html/search/all_13.js +9 -9
  161. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  162. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  163. package/SVF-doxygen/html/html/search/all_7.js +2 -1
  164. package/SVF-doxygen/html/html/search/all_9.js +2 -5
  165. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  166. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  167. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  168. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  169. package/SVF-doxygen/html/html/search/functions_0.js +4 -4
  170. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  171. package/SVF-doxygen/html/html/search/functions_6.js +2 -1
  172. package/SVF-doxygen/html/html/search/functions_8.js +1 -3
  173. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  174. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  175. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  176. package/SVF-doxygen/html/html/search/related_9.js +1 -1
  177. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  178. package/SVF-doxygen/html/html/search/variables_9.js +1 -2
  179. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  180. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  181. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  182. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
  183. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
  184. package/SVF-doxygen/html/html/svf-ex_8cpp.html +2 -2
  185. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -2
  186. package/include/MemoryModel/SVFIR.h +4 -36
  187. package/include/MemoryModel/SVFVariables.h +2 -13
  188. package/include/MemoryModel/SymbolTableInfo.h +6 -18
  189. package/include/SVF-FE/SVFIRBuilder.h +3 -4
  190. package/include/SVF-FE/SymbolTableBuilder.h +8 -1
  191. package/lib/MemoryModel/SVFIR.cpp +44 -2
  192. package/lib/MemoryModel/SVFVariables.cpp +6 -13
  193. package/lib/MemoryModel/SymbolTableInfo.cpp +21 -48
  194. package/lib/SVF-FE/SVFIRBuilder.cpp +1 -1
  195. package/lib/SVF-FE/SymbolTableBuilder.cpp +60 -13
  196. package/lib/Util/ExtAPI.cpp +1 -0
  197. package/lib/WPA/AndersenStat.cpp +1 -1
  198. package/package.json +1 -1
@@ -79,7 +79,7 @@ var searchData=
79
79
  ['adddirectparforedge',['addDirectParForEdge',['../classSVF_1_1ThreadCallGraph.html#ae942f7d46198207219e5ce8287497262',1,'SVF::ThreadCallGraph']]],
80
80
  ['adddpmtoloc',['addDpmToLoc',['../classSVF_1_1DDAVFSolver.html#af7be3fa6c73dde97d6f9fd0395c9aee0',1,'SVF::DDAVFSolver']]],
81
81
  ['adddummymemobj',['addDummyMemObj',['../classSVF_1_1SVFIR.html#a4ee79c74a7a2cea5c063fa598ab89532',1,'SVF::SVFIR']]],
82
- ['adddummyobjnode',['addDummyObjNode',['../classSVF_1_1SVFIR.html#a18388bc282c5329a837c6a273893c4fb',1,'SVF::SVFIR::addDummyObjNode(const Type *type=nullptr)'],['../classSVF_1_1SVFIR.html#a3071c94ea72048d74a65a409a906af35',1,'SVF::SVFIR::addDummyObjNode(NodeID i, const Type *type)']]],
82
+ ['adddummyobjnode',['addDummyObjNode',['../classSVF_1_1SVFIR.html#a905b16c9fe739c4e95902b2729951b5b',1,'SVF::SVFIR::addDummyObjNode(const Type *type)'],['../classSVF_1_1SVFIR.html#a3071c94ea72048d74a65a409a906af35',1,'SVF::SVFIR::addDummyObjNode(NodeID i, const Type *type)']]],
83
83
  ['adddummyvalnode',['addDummyValNode',['../classSVF_1_1SVFIR.html#aa7e98cd2fd599aedefa4c2e6fb659da0',1,'SVF::SVFIR::addDummyValNode()'],['../classSVF_1_1SVFIR.html#a6b1bb039f068ff2ab486214354df4684',1,'SVF::SVFIR::addDummyValNode(NodeID i)']]],
84
84
  ['adddummyversionpropsvfgnode',['addDummyVersionPropSVFGNode',['../classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea',1,'SVF::SVFG']]],
85
85
  ['addedge',['addEdge',['../classSVF_1_1CHGraph.html#a3867db3e76f068bd8c4399b103dcd0b7',1,'SVF::CHGraph::addEdge()'],['../classSVF_1_1IRGraph.html#a722f32d0a0a3bafdd97fc74819d2621e',1,'SVF::IRGraph::addEdge()'],['../classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750',1,'SVF::PTACallGraph::addEdge()'],['../classSVF_1_1PAGBuilderFromFile.html#ac34cd4f9426da0325e67bc1b3d7bcecd',1,'SVF::PAGBuilderFromFile::addEdge()'],['../classSVF_1_1DCHGraph.html#a294a2075c97e1db8003393fb472c1def',1,'SVF::DCHGraph::addEdge()'],['../classSVF_1_1SVFIRBuilder.html#abd980f840b613171e879eb03f6089eeb',1,'SVF::SVFIRBuilder::addEdge()']]],
@@ -282,12 +282,12 @@ var searchData=
282
282
  ['allpathreachablesolve',['AllPathReachableSolve',['../classSVF_1_1ProgSlice.html#aa7979418bed24fcecfc6fa04532cd586',1,'SVF::ProgSlice']]],
283
283
  ['analyze',['analyze',['../classSVF_1_1ContextDDA.html#ac8fe1cb3af6048a28028f00bb87a5eba',1,'SVF::ContextDDA::analyze()'],['../classSVF_1_1FlowDDA.html#aa26f9b5ba2e51f904d8ede1db8584460',1,'SVF::FlowDDA::analyze()'],['../classSVF_1_1PointerAnalysis.html#ae1e217dc18be0ce70bee5ad930cb54c6',1,'SVF::PointerAnalysis::analyze()'],['../classSVF_1_1LockAnalysis.html#ad1516b6cb1dbd06b8dff04ae3c944621',1,'SVF::LockAnalysis::analyze()'],['../classSVF_1_1LockResultValidator.html#a88ff3ed1398a0b847d71a4c0352ed66d',1,'SVF::LockResultValidator::analyze()'],['../classSVF_1_1MHP.html#a02457fa6e3c85c897ec3b3d8db18cc4b',1,'SVF::MHP::analyze()'],['../classSVF_1_1MTAResultValidator.html#a462f1554e058b656861abfb0aa2e47ff',1,'SVF::MTAResultValidator::analyze()'],['../classSVF_1_1RaceResultValidator.html#ab8a261120a7f6520d22a6f5cdf2257e9',1,'SVF::RaceResultValidator::analyze()'],['../classSVF_1_1PCG.html#a50b677ec622247a464cee7f0f45c5a53',1,'SVF::PCG::analyze()'],['../classSVF_1_1SrcSnkDDA.html#ac12d813bcba4ec70de5e9048bbe16afc',1,'SVF::SrcSnkDDA::analyze()'],['../classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751',1,'SVF::AndersenBase::analyze()'],['../classSVF_1_1FlowSensitive.html#a267f7198600dde3054feb40def7a6681',1,'SVF::FlowSensitive::analyze()'],['../classSVF_1_1FlowSensitiveTBHC.html#abcab6281cced08d90c92d67d43a37c2c',1,'SVF::FlowSensitiveTBHC::analyze()'],['../classSVF_1_1TypeAnalysis.html#a6073fc43443ceba8d77212ba04e483ef',1,'SVF::TypeAnalysis::analyze()']]],
284
284
  ['analyzeforkjoinpair',['analyzeForkJoinPair',['../classSVF_1_1ForkJoinAnalysis.html#a16061e7c28e7a9177d9ab798c102b815',1,'SVF::ForkJoinAnalysis']]],
285
- ['analyzeglobalstackobjtype',['analyzeGlobalStackObjType',['../classSVF_1_1SymbolTableBuilder.html#a403767d4aee3cf36ef9655e734e0b74f',1,'SVF::SymbolTableBuilder']]],
286
- ['analyzeheapobjtype',['analyzeHeapObjType',['../classSVF_1_1ObjTypeInfo.html#a66692043a56c327ac7ac00cc3126cd78',1,'SVF::ObjTypeInfo']]],
285
+ ['analyzeheapobjtype',['analyzeHeapObjType',['../classSVF_1_1SymbolTableBuilder.html#a9fca576448cc1cb38c894a7ae3d9ec56',1,'SVF::SymbolTableBuilder']]],
287
286
  ['analyzeinterleaving',['analyzeInterleaving',['../classSVF_1_1MHP.html#adfd90a8d20d630bc3813f5ed71d3abf7',1,'SVF::MHP']]],
288
287
  ['analyzeintraproceduallock',['analyzeIntraProcedualLock',['../classSVF_1_1LockAnalysis.html#a8a34f7544f22a87e1caf010c34abda75',1,'SVF::LockAnalysis']]],
289
288
  ['analyzelockspancxtstmt',['analyzeLockSpanCxtStmt',['../classSVF_1_1LockAnalysis.html#a00ccd89eff3fe8fec397df101f927cbe',1,'SVF::LockAnalysis']]],
290
- ['analyzestaticobjtype',['analyzeStaticObjType',['../classSVF_1_1ObjTypeInfo.html#aa8b97a2cbd2de56b3c6c5c0e2e0a2211',1,'SVF::ObjTypeInfo']]],
289
+ ['analyzeobjtype',['analyzeObjType',['../classSVF_1_1SymbolTableBuilder.html#af5c882c10cd46c669c5aededbdb510d8',1,'SVF::SymbolTableBuilder']]],
290
+ ['analyzestaticobjtype',['analyzeStaticObjType',['../classSVF_1_1SymbolTableBuilder.html#afe2806a0aef240ab313975decfe362f7',1,'SVF::SymbolTableBuilder']]],
291
291
  ['analyzevtables',['analyzeVTables',['../classSVF_1_1CHGBuilder.html#a2828eb6b2bd86d6f279967c34da8e7e4',1,'SVF::CHGBuilder']]],
292
292
  ['and',['AND',['../classSVF_1_1BranchCondManager.html#a739f4206abf4f367dc796e9fd35d4d04',1,'SVF::BranchCondManager::AND()'],['../classSVF_1_1CondManager.html#a4b88160366a7c7b2bf7e2ab632ed04c7',1,'SVF::CondManager::AND()']]],
293
293
  ['andersen',['Andersen',['../classSVF_1_1Andersen.html#a680dc709c0263fc1a13aa5c81d95fc72',1,'SVF::Andersen']]],
@@ -185,7 +185,7 @@ var searchData=
185
185
  ['createmr',['createMR',['../classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5',1,'SVF::MRGenerator']]],
186
186
  ['createmuchi',['createMUCHI',['../classSVF_1_1MemSSA.html#a695adf83e8c40b9628b1866053f68033',1,'SVF::MemSSA']]],
187
187
  ['createnode',['createNode',['../classSVF_1_1CHGBuilder.html#a8e915f257224b1d8e40d0e4c9b5e1df0',1,'SVF::CHGBuilder']]],
188
- ['createobjtypeinfo',['createObjTypeInfo',['../classSVF_1_1SymbolTableInfo.html#a76971ba9b579907ef937cd7adda89562',1,'SVF::SymbolTableInfo::createObjTypeInfo()'],['../classSVF_1_1SymbolTableBuilder.html#a31190ba1934f945abe8a1b4fcbb636b3',1,'SVF::SymbolTableBuilder::createObjTypeInfo()']]],
188
+ ['createobjtypeinfo',['createObjTypeInfo',['../classSVF_1_1SymbolTableInfo.html#a2b0f2c6745d14a9f6447ed96484dddac',1,'SVF::SymbolTableInfo::createObjTypeInfo()'],['../classSVF_1_1SymbolTableBuilder.html#a31190ba1934f945abe8a1b4fcbb636b3',1,'SVF::SymbolTableBuilder::createObjTypeInfo()']]],
189
189
  ['createrefnode',['createRefNode',['../classSVF_1_1OfflineConsG.html#a984e82f3185be03b8d1cb942685b2010',1,'SVF::OfflineConsG']]],
190
190
  ['createsteensgaard',['createSteensgaard',['../classSVF_1_1Steensgaard.html#acd5f31c3b1f9b47def458637f8e9389e',1,'SVF::Steensgaard']]],
191
191
  ['createvfswpa',['createVFSWPA',['../classSVF_1_1VersionedFlowSensitive.html#ae7cf16ad79c13104dd9981e6b984057e',1,'SVF::VersionedFlowSensitive']]],
@@ -284,7 +284,7 @@ var searchData=
284
284
  ['getgepobjsfrommemobj',['getGepObjsFromMemObj',['../classSVF_1_1TypeBasedHeapCloning.html#ad043ab95900849a5a894ca4bada4e032',1,'SVF::TypeBasedHeapCloning']]],
285
285
  ['getgepobjvar',['getGepObjVar',['../classSVF_1_1ConstraintGraph.html#a3f727a2822fb18a14ce9e10c6534cf5a',1,'SVF::ConstraintGraph::getGepObjVar()'],['../classSVF_1_1PointerAnalysis.html#acbbc0934af9bc0145389dc41430c6d8b',1,'SVF::PointerAnalysis::getGepObjVar()'],['../classSVF_1_1SVFIR.html#a20c0c65af266ac876cb722aee6e87101',1,'SVF::SVFIR::getGepObjVar(const MemObj *obj, const LocationSet &ls)'],['../classSVF_1_1SVFIR.html#ab3e37eab61e7899f950be7de5f4d7916',1,'SVF::SVFIR::getGepObjVar(NodeID id, const LocationSet &ls)']]],
286
286
  ['getgepoutedges',['getGepOutEdges',['../classSVF_1_1ConstraintNode.html#a19d3d2c996ba821227a836717e5443c8',1,'SVF::ConstraintNode']]],
287
- ['getgepvalvar',['getGepValVar',['../classSVF_1_1SVFIR.html#a811c5eaeef1e52cc2d6f56ec5a76bb02',1,'SVF::SVFIR::getGepValVar()'],['../classSVF_1_1SVFIRBuilder.html#a74cff1c31f2fd1d23709b34ae988c29a',1,'SVF::SVFIRBuilder::getGepValVar()']]],
287
+ ['getgepvalvar',['getGepValVar',['../classSVF_1_1SVFIR.html#af17643b59ad9aa277b6e8f90a47c76b0',1,'SVF::SVFIR::getGepValVar()'],['../classSVF_1_1SVFIRBuilder.html#a74cff1c31f2fd1d23709b34ae988c29a',1,'SVF::SVFIRBuilder::getGepValVar()']]],
288
288
  ['getglobalicfgnode',['getGlobalICFGNode',['../classSVF_1_1ICFG.html#ae0b05ce161d62362642803158228e5d0',1,'SVF::ICFG']]],
289
289
  ['getglobalrep',['getGlobalRep',['../classSVF_1_1LLVMModuleSet.html#a757bf149437cce22163c764ea9993e12',1,'SVF::LLVMModuleSet::getGlobalRep()'],['../namespaceSVF_1_1SVFUtil.html#a4b55d5252da1f316f505cf6ce2078b28',1,'SVF::SVFUtil::getGlobalRep()']]],
290
290
  ['getglobalsvfstmtset',['getGlobalSVFStmtSet',['../classSVF_1_1SVFIR.html#a5c5adab1f68520a304fbf70ca40f7687',1,'SVF::SVFIR']]],
@@ -627,6 +627,7 @@ var searchData=
627
627
  ['gettypesystem',['getTypeSystem',['../classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe',1,'SVF::PointerAnalysis']]],
628
628
  ['getunaryopvfgnode',['getUnaryOPVFGNode',['../classSVF_1_1VFG.html#a1ba67eb17437a1a47c230614c1e3d9fd',1,'SVF::VFG']]],
629
629
  ['getunifyexit',['getUnifyExit',['../classSVF_1_1MergeFunctionRets.html#a0644ac0f560911632855d9129f3d71ca',1,'SVF::MergeFunctionRets']]],
630
+ ['getuniqueuseviacastinst',['getUniqueUseViaCastInst',['../classSVF_1_1SymbolTableBuilder.html#aa5c2b13b54ddb172816d1ee269ddbb81',1,'SVF::SymbolTableBuilder']]],
630
631
  ['getvalsym',['getValSym',['../classSVF_1_1SymbolTableInfo.html#aec7ee137f828c9d61a11df7fc2241161',1,'SVF::SymbolTableInfo']]],
631
632
  ['getvalue',['getValue',['../classSVF_1_1VFGNode.html#a5ac80149696c243f77e4b4d25ad44898',1,'SVF::VFGNode::getValue()'],['../classSVF_1_1StmtVFGNode.html#ab51f462a26bc03cd5e2379be98a4dd3b',1,'SVF::StmtVFGNode::getValue()'],['../classSVF_1_1CmpVFGNode.html#a166ac2df82ebfcb77d50b71ce573e1eb',1,'SVF::CmpVFGNode::getValue()'],['../classSVF_1_1BinaryOPVFGNode.html#ad4c45bbfd044502106c41ba70f568463',1,'SVF::BinaryOPVFGNode::getValue()'],['../classSVF_1_1PHIVFGNode.html#a188a4d3ae95fe01dc59784d076f28aef',1,'SVF::PHIVFGNode::getValue()'],['../classSVF_1_1ArgumentVFGNode.html#aaf6a78630b0365d50dd7b4394215d3a1',1,'SVF::ArgumentVFGNode::getValue()'],['../classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882',1,'SVF::SVFStmt::getValue()'],['../classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40',1,'SVF::SVFVar::getValue()'],['../classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3',1,'SVF::MemObj::getValue()'],['../classSVF_1_1SVFValue.html#a50f77757ac9c37a9501eb48deccdfef1',1,'SVF::SVFValue::getValue()']]],
632
633
  ['getvalueedges',['getValueEdges',['../classSVF_1_1IRGraph.html#a7710f6795d971d7a8b5683835c4c0fb8',1,'SVF::IRGraph']]],
@@ -83,7 +83,6 @@ var searchData=
83
83
  ['isa',['isa',['../namespaceSVF_1_1SVFUtil.html#a5c8cbc986cccb9d84f87aae162df3737',1,'SVF::SVFUtil']]],
84
84
  ['isactualoutphi',['isActualOUTPHI',['../classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301',1,'SVF::InterMSSAPHISVFGNode']]],
85
85
  ['isactualretphi',['isActualRetPHI',['../classSVF_1_1InterPHIVFGNode.html#aacfd7f1e99e246283191f41d44567ed4',1,'SVF::InterPHIVFGNode']]],
86
- ['isaddresstakenptr',['isAddressTakenPtr',['../classSVF_1_1SVFVar.html#a482652e097c8e7921b4db2e75eb71efc',1,'SVF::SVFVar']]],
87
86
  ['isagg',['isAgg',['../classSVF_1_1DCHGraph.html#a9d2be5aec5216cbc1d1709b41f79c44b',1,'SVF::DCHGraph']]],
88
87
  ['isaliasedforkjoin',['isAliasedForkJoin',['../classSVF_1_1ForkJoinAnalysis.html#a3655131add43346a175576b023e32509',1,'SVF::ForkJoinAnalysis']]],
89
88
  ['isaliasedlocks',['isAliasedLocks',['../classSVF_1_1LockAnalysis.html#add9272ead87ca994ee4e08dfa30fa0f4',1,'SVF::LockAnalysis::isAliasedLocks(const CxtLock &cl1, const CxtLock &cl2)'],['../classSVF_1_1LockAnalysis.html#ab5a541fb1585d475a89590cce66ba3b4',1,'SVF::LockAnalysis::isAliasedLocks(const Instruction *i1, const Instruction *i2)']]],
@@ -244,7 +243,7 @@ var searchData=
244
243
  ['isnodehidden',['isNodeHidden',['../structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html#a2a467ab9b0a9ef28f88099f8ed58bba6',1,'llvm::DOTGraphTraits< ConstraintGraph * >::isNodeHidden()'],['../structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html#a8593f5bcb7ff8b33bce21cfbc91e3753',1,'llvm::DOTGraphTraits< IRGraph * >::isNodeHidden()'],['../structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html#a08335822e61278ca8deac60882343d7f',1,'llvm::DOTGraphTraits< SVFG * >::isNodeHidden()']]],
245
244
  ['isnoninstriccallsite',['isNonInstricCallSite',['../namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91',1,'SVF::SVFUtil']]],
246
245
  ['isnonlocalobject',['isNonLocalObject',['../classSVF_1_1MRGenerator.html#a2cf20660f2fd686fa3cabd046c4a10bf',1,'SVF::MRGenerator']]],
247
- ['isnonpointerobj',['isNonPointerObj',['../classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9',1,'SVF::PointerAnalysis::isNonPointerObj()'],['../classSVF_1_1SVFIR.html#a07716ca7f769f704a80ccee1a6ad7ee2',1,'SVF::SVFIR::isNonPointerObj()']]],
246
+ ['isnonpointerobj',['isNonPointerObj',['../classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9',1,'SVF::PointerAnalysis::isNonPointerObj()'],['../classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507',1,'SVF::SVFIR::isNonPointerObj()']]],
248
247
  ['isnonptrfieldobj',['isNonPtrFieldObj',['../classSVF_1_1MemObj.html#ad6926becf26a625cfe165aec120b2a1e',1,'SVF::MemObj::isNonPtrFieldObj()'],['../classSVF_1_1ObjTypeInfo.html#a3a58b1e0192b92dac5bbfad24adbcdac',1,'SVF::ObjTypeInfo::isNonPtrFieldObj()']]],
249
248
  ['isnullptr',['isNullPtr',['../classSVF_1_1SVFIR.html#a18ca66c199b910b15f1bfa77dcc98c30',1,'SVF::SVFIR::isNullPtr()'],['../classSVF_1_1SymbolTableInfo.html#ad095e4a569d399cadc03ce864f61c394',1,'SVF::SymbolTableInfo::isNullPtr()']]],
250
249
  ['isnullptrsym',['isNullPtrSym',['../classSVF_1_1SymbolTableInfo.html#a65a7e9d6d238a04291cb7d0aa15ece90',1,'SVF::SymbolTableInfo']]],
@@ -323,7 +322,6 @@ var searchData=
323
322
  ['isthreadforkcall',['isThreadForkCall',['../namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0',1,'SVF::SVFUtil::isThreadForkCall(const CallSite cs)'],['../namespaceSVF_1_1SVFUtil.html#a834afc0042c24ed5a1dd00cadc1f00c3',1,'SVF::SVFUtil::isThreadForkCall(const Instruction *inst)']]],
324
323
  ['isthreadjoincall',['isThreadJoinCall',['../namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a',1,'SVF::SVFUtil::isThreadJoinCall(const CallSite cs)'],['../namespaceSVF_1_1SVFUtil.html#a14793b41b05439a8a82fdce02e0587d5',1,'SVF::SVFUtil::isThreadJoinCall(const Instruction *inst)']]],
325
324
  ['isthreadmhpindirectvfgedge',['isThreadMHPIndirectVFGEdge',['../classSVF_1_1VFGEdge.html#ace832abe1ec87e3e2338944061d09ea4',1,'SVF::VFGEdge']]],
326
- ['istoplevelptr',['isTopLevelPtr',['../classSVF_1_1SVFVar.html#a60bed99a7fd939873118698b058ccc4a',1,'SVF::SVFVar']]],
327
325
  ['istoplevelptrstmt',['isTopLevelPtrStmt',['../classSVF_1_1DDAVFSolver.html#a7b35588de00e322afd742041bf735571',1,'SVF::DDAVFSolver']]],
328
326
  ['istruncconstantexpr',['isTruncConstantExpr',['../namespaceSVF_1_1SVFUtil.html#a1373688c6faba4dcdb640106575ea433',1,'SVF::SVFUtil']]],
329
327
  ['isunaryconstantexpr',['isUnaryConstantExpr',['../namespaceSVF_1_1SVFUtil.html#af14757d5cf466bba20a125f118378560',1,'SVF::SVFUtil']]],
@@ -1,7 +1,7 @@
1
1
  var searchData=
2
2
  [
3
3
  ['objsyms',['objSyms',['../classSVF_1_1SymbolTableInfo.html#a3f9612f32c651220386beb0514f8fcff',1,'SVF::SymbolTableInfo']]],
4
- ['objtypeinfo',['ObjTypeInfo',['../classSVF_1_1ObjTypeInfo.html#a1a182e6a8710242f94729412d4683f8d',1,'SVF::ObjTypeInfo::ObjTypeInfo(const Value *, const Type *t, u32_t max)'],['../classSVF_1_1ObjTypeInfo.html#afa03172e8fe0af6b523e866d54235f3a',1,'SVF::ObjTypeInfo::ObjTypeInfo(u32_t max, const Type *t)']]],
4
+ ['objtypeinfo',['ObjTypeInfo',['../classSVF_1_1ObjTypeInfo.html#a351edf73b2b035ce61a99a10b3d9de87',1,'SVF::ObjTypeInfo']]],
5
5
  ['objvar',['ObjVar',['../classSVF_1_1ObjVar.html#a3ccbe6bbe3f565641e0cf46c5ecbb6bb',1,'SVF::ObjVar']]],
6
6
  ['offlineconsg',['OfflineConsG',['../classSVF_1_1OfflineConsG.html#ae61c4f509b90dd43f63a07560ba3562f',1,'SVF::OfflineConsG']]],
7
7
  ['ontheflycallgraphsolve',['onTheFlyCallGraphSolve',['../classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296',1,'SVF::BVDataPTAImpl']]],
@@ -37,7 +37,7 @@ var searchData=
37
37
  ['plainmap',['plainMap',['../classSVF_1_1FlowSensitive.html#a5a8688102f3675cf414b01dc2ae51c6b',1,'SVF::FlowSensitive']]],
38
38
  ['pmx',['PMX',['../cuddInt_8c.html#a6e6108316d27c8e3b393f65362e5e37b',1,'cuddInt.c']]],
39
39
  ['pointeranalysis',['PointerAnalysis',['../classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f',1,'SVF::PointerAnalysis']]],
40
- ['pointsto',['pointsTo',['../classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac',1,'SVF::CondPointsToSet::pointsTo(void)'],['../classSVF_1_1CondPointsToSet.html#ada240bc77570174a1d17ac097583fa78',1,'SVF::CondPointsToSet::pointsTo(void) const'],['../classSVF_1_1CondPointsToSet.html#a03311162626acf16ad05b7b93248a92b',1,'SVF::CondPointsToSet::pointsTo(Cond cond) const'],['../classSVF_1_1CondPointsToSet.html#a8775ef2c073af6c8055c3f5b0035288f',1,'SVF::CondPointsToSet::pointsTo(Cond cond)'],['../classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22',1,'SVF::PointsTo::PointsTo(void)'],['../classSVF_1_1PointsTo.html#acef2d3e41263aef641c3411e28ad445c',1,'SVF::PointsTo::PointsTo(const PointsTo &pt)'],['../classSVF_1_1PointsTo.html#a5ecef616428a70e8e7726406dfb43544',1,'SVF::PointsTo::PointsTo(PointsTo &&pt)']]],
40
+ ['pointsto',['PointsTo',['../classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22',1,'SVF::PointsTo::PointsTo(void)'],['../classSVF_1_1PointsTo.html#acef2d3e41263aef641c3411e28ad445c',1,'SVF::PointsTo::PointsTo(const PointsTo &pt)'],['../classSVF_1_1PointsTo.html#a5ecef616428a70e8e7726406dfb43544',1,'SVF::PointsTo::PointsTo(PointsTo &&pt)'],['../classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac',1,'SVF::CondPointsToSet::pointsTo(void)'],['../classSVF_1_1CondPointsToSet.html#ada240bc77570174a1d17ac097583fa78',1,'SVF::CondPointsToSet::pointsTo(void) const'],['../classSVF_1_1CondPointsToSet.html#a03311162626acf16ad05b7b93248a92b',1,'SVF::CondPointsToSet::pointsTo(Cond cond) const'],['../classSVF_1_1CondPointsToSet.html#a8775ef2c073af6c8055c3f5b0035288f',1,'SVF::CondPointsToSet::pointsTo(Cond cond)']]],
41
41
  ['pointstoiterator',['PointsToIterator',['../classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(void)=delete'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#a19f371ccb5b1c84fb4adfd5b0c8a3eec',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(const PointsToIterator &pt)'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#abe128c47fb16093756195f789e5f68d5',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(PointsToIterator &&pt)'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#ad9efcd9fb0c8201b9166a1560d06a71b',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(const PointsTo *pt, bool end=false)']]],
42
42
  ['pop',['pop',['../classSVF_1_1List.html#a6e85bd3d8b23ccc7752a72e2a5b171ab',1,'SVF::List::pop()'],['../classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6',1,'SVF::FIFOWorkList::pop()'],['../classSVF_1_1FILOWorkList.html#a3fd9acb6d09fd142bfd402fdf8cac93b',1,'SVF::FILOWorkList::pop()']]],
43
43
  ['popen',['popen',['../util_8h.html#a7a377e01cff8d8243569ddc8bfef959b',1,'util.h']]],
@@ -91,6 +91,7 @@ var searchData=
91
91
  ['resetquery',['resetQuery',['../classSVF_1_1DDAVFSolver.html#afe518d3d7f8051de5b9860f2460aa1b7',1,'SVF::DDAVFSolver']]],
92
92
  ['resetrep',['resetRep',['../classSVF_1_1ConstraintGraph.html#aa30231dab5b7c759e4e5d76422a5eb8e',1,'SVF::ConstraintGraph']]],
93
93
  ['resetsubs',['resetSubs',['../classSVF_1_1ConstraintGraph.html#a5fe3815a7990e16b99cf46e90529f8b3',1,'SVF::ConstraintGraph']]],
94
+ ['resettypeforheapstaticobj',['resetTypeForHeapStaticObj',['../classSVF_1_1ObjTypeInfo.html#a57d714a511273b8275374cd4c7f14373',1,'SVF::ObjTypeInfo']]],
94
95
  ['resolvecppindcalls',['resolveCPPIndCalls',['../classSVF_1_1PointerAnalysis.html#ac04b64a5884710508b304f93da88c7ba',1,'SVF::PointerAnalysis']]],
95
96
  ['resolvefunptr',['resolveFunPtr',['../classSVF_1_1DDAVFSolver.html#afcc074be34dd0c45418ff16b3d9d4192',1,'SVF::DDAVFSolver']]],
96
97
  ['resolveindcalls',['resolveIndCalls',['../classSVF_1_1PointerAnalysis.html#aa0a14fd11d7e69b2a3f91a3862f172cd',1,'SVF::PointerAnalysis']]],
@@ -4,6 +4,6 @@ var searchData=
4
4
  ['svfgbuilder',['SVFGBuilder',['../classSVF_1_1SVFG.html#ab2f81db3935389480baa5cb14e15e9d7',1,'SVF::SVFG']]],
5
5
  ['svfir',['SVFIR',['../classSVF_1_1SVFVar.html#a6dbb40e8ee92033b77440c44acd8a868',1,'SVF::SVFVar']]],
6
6
  ['svfirbuilder',['SVFIRBuilder',['../classSVF_1_1SVFIR.html#a46fadea4d08baefc8fbc1d8928da7f6b',1,'SVF::SVFIR']]],
7
- ['symboltablebuilder',['SymbolTableBuilder',['../classSVF_1_1SymbolTableInfo.html#a9d9633d48431b80c078bd4a34c1e7fa0',1,'SVF::SymbolTableInfo']]],
7
+ ['symboltablebuilder',['SymbolTableBuilder',['../classSVF_1_1SymbolTableInfo.html#a9d9633d48431b80c078bd4a34c1e7fa0',1,'SVF::SymbolTableInfo::SymbolTableBuilder()'],['../classSVF_1_1ObjTypeInfo.html#a9d9633d48431b80c078bd4a34c1e7fa0',1,'SVF::ObjTypeInfo::SymbolTableBuilder()']]],
8
8
  ['symboltableinfo',['SymbolTableInfo',['../classSVF_1_1LocationSet.html#a32ddec529ccbf4ea6336e5fd765164d8',1,'SVF::LocationSet']]]
9
9
  ];
@@ -25,14 +25,14 @@ var searchData=
25
25
  ['tid',['tid',['../classSVF_1_1CxtThreadStmt.html#ad96bacc3de1ce576ad397d19aa99a269',1,'SVF::CxtThreadStmt::tid()'],['../classSVF_1_1CxtThreadProc.html#a99b24e1be2bfb49569532c2c28c68969',1,'SVF::CxtThreadProc::tid()']]],
26
26
  ['timelimit',['timeLimit',['../structDdManager.html#a6c14f932c4a66c6234e6b19bd8b6647f',1,'DdManager']]],
27
27
  ['timeofcollapse',['timeOfCollapse',['../classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25',1,'SVF::AndersenBase']]],
28
- ['timeofcreatemuchi',['timeOfCreateMUCHI',['../classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198',1,'SVF::MemSSA::timeOfCreateMUCHI()'],['../classSVF_1_1MemSSAStat.html#a48c70f0ed1c7d031a3cd528035162e52',1,'SVF::MemSSAStat::TimeOfCreateMUCHI()']]],
28
+ ['timeofcreatemuchi',['TimeOfCreateMUCHI',['../classSVF_1_1MemSSAStat.html#a48c70f0ed1c7d031a3cd528035162e52',1,'SVF::MemSSAStat::TimeOfCreateMUCHI()'],['../classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198',1,'SVF::MemSSA::timeOfCreateMUCHI()']]],
29
29
  ['timeofgeneratingmemregions',['TimeOfGeneratingMemRegions',['../classSVF_1_1MemSSAStat.html#a74c36654b7452aa94aa241881f0a83c5',1,'SVF::MemSSAStat::TimeOfGeneratingMemRegions()'],['../classSVF_1_1MemSSA.html#a37dca8a7d155de4870358146d219b5e5',1,'SVF::MemSSA::timeOfGeneratingMemRegions()']]],
30
30
  ['timeofinsertingphi',['timeOfInsertingPHI',['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::timeOfInsertingPHI()'],['../classSVF_1_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::TimeOfInsertingPHI()']]],
31
31
  ['timeofprocesscopygep',['timeOfProcessCopyGep',['../classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0',1,'SVF::AndersenBase']]],
32
32
  ['timeofprocessloadstore',['timeOfProcessLoadStore',['../classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf',1,'SVF::AndersenBase']]],
33
33
  ['timeofsccdetection',['timeOfSCCDetection',['../classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143',1,'SVF::AndersenBase']]],
34
34
  ['timeofsccmerges',['timeOfSCCMerges',['../classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d',1,'SVF::AndersenBase']]],
35
- ['timeofssarenaming',['timeOfSSARenaming',['../classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::timeOfSSARenaming()'],['../classSVF_1_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::TimeOfSSARenaming()']]],
35
+ ['timeofssarenaming',['TimeOfSSARenaming',['../classSVF_1_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::TimeOfSSARenaming()'],['../classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::timeOfSSARenaming()']]],
36
36
  ['timeofupdatecallgraph',['timeOfUpdateCallGraph',['../classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b',1,'SVF::AndersenBase']]],
37
37
  ['timestatmap',['timeStatMap',['../classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337',1,'SVF::PTAStat']]],
38
38
  ['tlptdata',['tlPTData',['../classSVF_1_1MutableVersionedPTData.html#a01974968b7cf60a4231cc83c93b26d7f',1,'SVF::MutableVersionedPTData::tlPTData()'],['../classSVF_1_1PersistentVersionedPTData.html#a29104a2d53d94805e142f778d3d21ad5',1,'SVF::PersistentVersionedPTData::tlPTData()']]],
@@ -51,15 +51,14 @@ var searchData=
51
51
  ['invalidversion',['invalidVersion',['../classSVF_1_1VersionedFlowSensitive.html#a3d44a343a2e3f5d276fd1b069c92e112',1,'SVF::VersionedFlowSensitive']]],
52
52
  ['invperm',['invperm',['../structDdManager.html#a8a017e5ed0025b952c284a41e5991b0f',1,'DdManager']]],
53
53
  ['invpermz',['invpermZ',['../structDdManager.html#a4d73e6913b795a8ce7a75d2ff3724f2a',1,'DdManager']]],
54
- ['isatpointer',['isATPointer',['../classSVF_1_1SVFVar.html#a307c0f4d90308d5f77977d5635cad65d',1,'SVF::SVFVar']]],
55
54
  ['isdecl',['isDecl',['../classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9',1,'SVF::SVFFunction']]],
56
55
  ['isext_5fcache',['isext_cache',['../classSVF_1_1ExtAPI.html#a329882c608e9a6b10a758bcd1ca7a0b5',1,'SVF::ExtAPI']]],
57
56
  ['isintri',['isIntri',['../classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3',1,'SVF::SVFFunction']]],
58
57
  ['isloadmap',['isLoadMap',['../classSVF_1_1VersionedFlowSensitive.html#a6bb3db072db0b899f306b37f1146f83d',1,'SVF::VersionedFlowSensitive']]],
59
58
  ['isolated',['isolated',['../structDdManager.html#a0407971624e8cbb0510be72840e1788b',1,'DdManager']]],
59
+ ['isptr',['isPtr',['../classSVF_1_1SVFVar.html#a7c8ffadedbf53d30694feeb7771990af',1,'SVF::SVFVar']]],
60
60
  ['isstoremap',['isStoreMap',['../classSVF_1_1VersionedFlowSensitive.html#a18e25c3871d7cc1a6bb0592ceca90f88',1,'SVF::VersionedFlowSensitive']]],
61
61
  ['isthunkfunc',['isThunkFunc',['../structSVF_1_1cppUtil_1_1DemangledName.html#af6117df8aec7f4c077058fa8f00b0243',1,'SVF::cppUtil::DemangledName']]],
62
- ['istlpointer',['isTLPointer',['../classSVF_1_1SVFVar.html#afeb667f2af988479e93a6067c4e6e622',1,'SVF::SVFVar']]],
63
62
  ['item',['item',['../structDdLocalCache.html#a5b894c8287e08c2b3ff59ab7d208d2e4',1,'DdLocalCache']]],
64
63
  ['itemsize',['itemsize',['../structDdLocalCache.html#a37fb6f0ae8dda9e85c9422c75409045d',1,'DdLocalCache::itemsize()'],['../structDdHashTable.html#a2026671f87d19816564455bee089eb31',1,'DdHashTable::itemsize()'],['../structDdLevelQueue.html#aee04a106792fd63d37d287cc820c0729',1,'DdLevelQueue::itemsize()']]],
65
64
  ['iterationforprintstat',['iterationForPrintStat',['../classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859',1,'SVF::WPASolver']]]
@@ -17,7 +17,7 @@ var searchData=
17
17
  ['maxcachehard',['maxCacheHard',['../structDdManager.html#a1b53bee9cf86fc1131c420c2aef7e473',1,'DdManager']]],
18
18
  ['maxcontextlen',['MaxContextLen',['../classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8',1,'SVF::Options']]],
19
19
  ['maxcxtsize',['MaxCxtSize',['../classSVF_1_1TCT.html#aaae41663b1d1f4d38b047c50c156defb',1,'SVF::TCT']]],
20
- ['maxfieldlimit',['MaxFieldLimit',['../classSVF_1_1Options.html#adfc1a5c6098d3867e29fc65ca9ffa1cc',1,'SVF::Options::MaxFieldLimit()'],['../classSVF_1_1SymbolTableInfo.html#a9b8b7ecb217c7395025231b04e7b4c26',1,'SVF::SymbolTableInfo::maxFieldLimit()'],['../classSVF_1_1StInfo.html#a4cd926bd095254dd287f1cf26e02483e',1,'SVF::StInfo::maxFieldLimit()']]],
20
+ ['maxfieldlimit',['maxFieldLimit',['../classSVF_1_1SymbolTableInfo.html#a9b8b7ecb217c7395025231b04e7b4c26',1,'SVF::SymbolTableInfo::maxFieldLimit()'],['../classSVF_1_1StInfo.html#a4cd926bd095254dd287f1cf26e02483e',1,'SVF::StInfo::maxFieldLimit()'],['../classSVF_1_1Options.html#adfc1a5c6098d3867e29fc65ca9ffa1cc',1,'SVF::Options::MaxFieldLimit()']]],
21
21
  ['maxgrowth',['maxGrowth',['../structDdManager.html#a8a6a4238d1bc8a87eabd2c3eabd233d7',1,'DdManager']]],
22
22
  ['maxgrowthalt',['maxGrowthAlt',['../structDdManager.html#a2926e48e488cec20a61e9b0dc6b91795',1,'DdManager']]],
23
23
  ['maximumbudget',['maximumBudget',['../classSVF_1_1DPItem.html#a5dbb0e6010b38c5b937ff06cb40cd0ef',1,'SVF::DPItem']]],
@@ -41,7 +41,7 @@ var searchData=
41
41
  ['numinit',['numInit',['../classSVF_1_1TypeBasedHeapCloning.html#a4c658be1ade99ad1e848cd80332e38ce',1,'SVF::TypeBasedHeapCloning']]],
42
42
  ['numnodes',['numNodes',['../classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62',1,'SVF::NodeIDAllocator']]],
43
43
  ['numnontrivialregionobjects',['NumNonTrivialRegionObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f',1,'SVF::NodeIDAllocator::Clusterer']]],
44
- ['numobjects',['numObjects',['../classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()'],['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::NumObjects()']]],
44
+ ['numobjects',['NumObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::NumObjects()'],['../classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()']]],
45
45
  ['numofactualin',['numOfActualIn',['../classSVF_1_1SVFGStat.html#a5365744d2ec3594e2255d274f7256569',1,'SVF::SVFGStat']]],
46
46
  ['numofactualout',['numOfActualOut',['../classSVF_1_1SVFGStat.html#a122555f5c4b9746cc2b7f38c7cd6b505',1,'SVF::SVFGStat']]],
47
47
  ['numofactualparam',['numOfActualParam',['../classSVF_1_1SVFGStat.html#a0494c59483520b57acdca95952c93d76',1,'SVF::SVFGStat']]],
@@ -104,7 +104,7 @@ var searchData=
104
104
  ['numofmhpld',['numOfMHPLd',['../classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8',1,'SVF::MTAAnnotator']]],
105
105
  ['numofmhpqueries',['numOfMHPQueries',['../classSVF_1_1MHP.html#ab8bd382e0c70b0feb2a291ecc4043106',1,'SVF::MHP']]],
106
106
  ['numofmhpst',['numOfMHPSt',['../classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2',1,'SVF::MTAAnnotator']]],
107
- ['numofmssaphi',['numOfMSSAPhi',['../classSVF_1_1SVFGStat.html#a9fc87025af3b7e54442e78f46ebe0360',1,'SVF::SVFGStat::numOfMSSAPhi()'],['../classSVF_1_1MemSSAStat.html#a4b598cb1d06c4c0963787036862b1c3d',1,'SVF::MemSSAStat::NumOfMSSAPhi()']]],
107
+ ['numofmssaphi',['NumOfMSSAPhi',['../classSVF_1_1MemSSAStat.html#a4b598cb1d06c4c0963787036862b1c3d',1,'SVF::MemSSAStat::NumOfMSSAPhi()'],['../classSVF_1_1SVFGStat.html#a9fc87025af3b7e54442e78f46ebe0360',1,'SVF::SVFGStat::numOfMSSAPhi()']]],
108
108
  ['numofnewsvfgedges',['numOfNewSVFGEdges',['../classSVF_1_1MTASVFGBuilder.html#a019a4597074fdad6e51d936ed4ead0d9',1,'SVF::MTASVFGBuilder']]],
109
109
  ['numofnodes',['numOfNodes',['../classSVF_1_1ICFGStat.html#a8e71a19c266aacd7acb1fee6bb339788',1,'SVF::ICFGStat::numOfNodes()'],['../classSVF_1_1SVFGStat.html#ab499c24856a990dd4adb366107eb3302',1,'SVF::SVFGStat::numOfNodes()']]],
110
110
  ['numofnodesincycles',['NumOfNodesInCycles',['../classSVF_1_1PTAStat.html#aea3e95097b3b9d326bef0d36f17e51a5',1,'SVF::PTAStat']]],
@@ -359,7 +359,7 @@ template&lt;class EdgeIter &gt; </div>
359
359
  <div class="fragment"><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; {</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = SVFIR::getPAG()-&gt;getGNode(n-&gt;getId());</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordtype">bool</span> briefDisplay = Options::BriefConsCGDotGraph;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordtype">bool</span> nameDisplay = <span class="keyword">true</span>;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; std::string str;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keywordflow">if</span> (briefDisplay)</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; {</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ValVar&gt;(node))</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; {</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">if</span> (nameDisplay)</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">getValueName</a>();</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; }</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; {</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="comment">// print the whole value</span></div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValVar&gt;(node) &amp;&amp; !SVFUtil::isa&lt;DummyObjVar&gt;(node))</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>());</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span>;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; }</div><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#l00046">SVFVariables.h:46</a></div></div>
360
360
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
361
361
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00390">SVFUtil.cpp:390</a></div></div>
362
- <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00097">SVFVariables.h:97</a></div></div>
362
+ <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00096">SVFVariables.h:96</a></div></div>
363
363
  <div class="ttc" id="classSVF_1_1SVFVar_html_a54b2a5ed3ed21e54eaf04182f0338333"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">SVF::SVFVar::getValueName</a></div><div class="ttdeci">virtual const std::string getValueName() const =0</div><div class="ttdoc">Get name of the LLVM value. </div></div>
364
364
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
365
365
  </div><!-- fragment -->
@@ -381,9 +381,9 @@ template&lt;class EdgeIter &gt; </div>
381
381
  <p>Return label of a VFG node with two display mode Either you can choose to display the name of the value or the whole instruction </p>
382
382
 
383
383
  <p class="definition">Definition at line <a class="el" href="IRGraph_8cpp_source.html#l00150">150</a> of file <a class="el" href="IRGraph_8cpp_source.html">IRGraph.cpp</a>.</p>
384
- <div class="fragment"><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; std::string str;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="comment">// print function info</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">getFunction</a>())</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">getFunction</a>()-&gt;getName() &lt;&lt; <span class="stringliteral">&quot;] &quot;</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ada932ef2ae0a3e712174df479c35b0dd">toString</a>();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFVar_html_ada932ef2ae0a3e712174df479c35b0dd"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ada932ef2ae0a3e712174df479c35b0dd">SVF::SVFVar::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8cpp_source.html#l00100">SVFVariables.cpp:100</a></div></div>
384
+ <div class="fragment"><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; std::string str;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="comment">// print function info</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">getFunction</a>())</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">getFunction</a>()-&gt;getName() &lt;&lt; <span class="stringliteral">&quot;] &quot;</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ada932ef2ae0a3e712174df479c35b0dd">toString</a>();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFVar_html_ada932ef2ae0a3e712174df479c35b0dd"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ada932ef2ae0a3e712174df479c35b0dd">SVF::SVFVar::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8cpp_source.html#l00093">SVFVariables.cpp:93</a></div></div>
385
385
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
386
- <div class="ttc" id="classSVF_1_1SVFVar_html_a53439a493963d16e5a1b5ed36ab6d33e"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">SVF::SVFVar::getFunction</a></div><div class="ttdeci">virtual const Function * getFunction() const</div><div class="ttdoc">Return the function that this SVFVar resides in. Return nullptr if it is a global or constantexpr nod...</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00149">SVFVariables.h:149</a></div></div>
386
+ <div class="ttc" id="classSVF_1_1SVFVar_html_a53439a493963d16e5a1b5ed36ab6d33e"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">SVF::SVFVar::getFunction</a></div><div class="ttdeci">virtual const Function * getFunction() const</div><div class="ttdoc">Return the function that this SVFVar resides in. Return nullptr if it is a global or constantexpr nod...</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00138">SVFVariables.h:138</a></div></div>
387
387
  </div><!-- fragment -->
388
388
  </div>
389
389
  </div>
@@ -413,7 +413,7 @@ template&lt;class EdgeIter &gt; </div>
413
413
  <p>isNodeHidden - If the function returns true, the given node is not displayed in the graph </p>
414
414
 
415
415
  <p class="definition">Definition at line <a class="el" href="IRGraph_8cpp_source.html#l00142">142</a> of file <a class="el" href="IRGraph_8cpp_source.html">IRGraph.cpp</a>.</p>
416
- <div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (Options::ShowHiddenNode) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#acf194658d2cbdaf3f26f2af6c325fad7">isIsolatedNode</a>();</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFVar_html_acf194658d2cbdaf3f26f2af6c325fad7"><div class="ttname"><a href="classSVF_1_1SVFVar.html#acf194658d2cbdaf3f26f2af6c325fad7">SVF::SVFVar::isIsolatedNode</a></div><div class="ttdeci">bool isIsolatedNode() const</div><div class="ttdoc">Whether this is an isoloated node on the SVFIR graph. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8cpp_source.html#l00088">SVFVariables.cpp:88</a></div></div>
416
+ <div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (Options::ShowHiddenNode) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#acf194658d2cbdaf3f26f2af6c325fad7">isIsolatedNode</a>();</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFVar_html_acf194658d2cbdaf3f26f2af6c325fad7"><div class="ttname"><a href="classSVF_1_1SVFVar.html#acf194658d2cbdaf3f26f2af6c325fad7">SVF::SVFVar::isIsolatedNode</a></div><div class="ttdeci">bool isIsolatedNode() const</div><div class="ttdoc">Whether this is an isoloated node on the SVFIR graph. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8cpp_source.html#l00081">SVFVariables.cpp:81</a></div></div>
417
417
  </div><!-- fragment -->
418
418
  </div>
419
419
  </div>
@@ -356,7 +356,7 @@ template&lt;class EdgeIter &gt; </div>
356
356
  <p class="definition">Definition at line <a class="el" href="OfflineConsG_8cpp_source.html#l00199">199</a> of file <a class="el" href="OfflineConsG_8cpp_source.html">OfflineConsG.cpp</a>.</p>
357
357
  <div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; std::string str;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span> (SVFIR::getPAG()-&gt;getGNode(n-&gt;getId()))</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *node = SVFIR::getPAG()-&gt;getGNode(n-&gt;getId());</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordtype">bool</span> briefDisplay = <span class="keyword">true</span>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordtype">bool</span> nameDisplay = <span class="keyword">true</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">if</span> (briefDisplay)</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ValVar&gt;(node))</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">if</span> (nameDisplay)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">getValueName</a>();</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// print the whole value</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValVar&gt;(node) &amp;&amp; !SVFUtil::isa&lt;DummyObjVar&gt;(node))</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; rawstr &lt;&lt; *node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; rawstr&lt;&lt; n-&gt;getId();</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div><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#l00046">SVFVariables.h:46</a></div></div>
358
358
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
359
- <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00097">SVFVariables.h:97</a></div></div>
359
+ <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00096">SVFVariables.h:96</a></div></div>
360
360
  <div class="ttc" id="classSVF_1_1SVFVar_html_a54b2a5ed3ed21e54eaf04182f0338333"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">SVF::SVFVar::getValueName</a></div><div class="ttdeci">virtual const std::string getValueName() const =0</div><div class="ttdoc">Get name of the LLVM value. </div></div>
361
361
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
362
362
  </div><!-- fragment -->
@@ -263,8 +263,8 @@ Functions</h2></td></tr>
263
263
  <div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00127">PointsTo.h:127</a></div></div>
264
264
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
265
265
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
266
- <div class="ttc" id="classSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00113">SVFVariables.h:113</a></div></div>
267
- <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00097">SVFVariables.h:97</a></div></div>
266
+ <div class="ttc" id="classSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00112">SVFVariables.h:112</a></div></div>
267
+ <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00096">SVFVariables.h:96</a></div></div>
268
268
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00387">GenericGraph.h:387</a></div></div>
269
269
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
270
270
  <div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
@@ -102,10 +102,10 @@ $(function() {
102
102
  <div class="ttc" id="classSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
103
103
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
104
104
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
105
- <div class="ttc" id="classSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00113">SVFVariables.h:113</a></div></div>
105
+ <div class="ttc" id="classSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00112">SVFVariables.h:112</a></div></div>
106
106
  <div class="ttc" id="classSVF_1_1ICFG_html_a5f2c0aaba07d6fdd63058da0fb60ca8b"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">SVF::ICFG::getICFGNode</a></div><div class="ttdeci">ICFGNode * getICFGNode(NodeID id) const</div><div class="ttdoc">Get a ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00084">ICFG.h:84</a></div></div>
107
107
  <div class="ttc" id="classSVF_1_1ICFGNode_html_ac16c5a3227a44d3b9f7c3209156d9df2"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">SVF::ICFGNode::const_iterator</a></div><div class="ttdeci">ICFGEdge::ICFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00066">ICFGNode.h:66</a></div></div>
108
- <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00097">SVFVariables.h:97</a></div></div>
108
+ <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00096">SVFVariables.h:96</a></div></div>
109
109
  <div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00046">ICFG.h:46</a></div></div>
110
110
  <div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
111
111
  <div class="ttc" id="classSVF_1_1VFGNode_html_a3c558955f60c237c558d8faafed781e8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVF::VFGNode::const_iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00060">VFGNode.h:60</a></div></div>
@@ -292,20 +292,7 @@ public:
292
292
  //@}
293
293
 
294
294
  /// Due to constaint expression, curInst is used to distinguish different instructions (e.g., memorycpy) when creating GepValVar.
295
- inline NodeID getGepValVar(const Value* curInst, NodeID base, const LocationSet& ls) const
296
- {
297
- GepValueVarMap::const_iterator iter = GepValObjMap.find(curInst);
298
- if(iter==GepValObjMap.end()){
299
- return UINT_MAX;
300
- }
301
- else{
302
- NodeLocationSetMap::const_iterator lit = iter->second.find(std::make_pair(base, ls));
303
- if(lit==iter->second.end())
304
- return UINT_MAX;
305
- else
306
- return lit->second;
307
- }
308
- }
295
+ NodeID getGepValVar(const Value* curInst, NodeID base, const LocationSet& ls) const;
309
296
 
310
297
  /// Add/get indirect callsites
311
298
  //@{
@@ -411,27 +398,8 @@ public:
411
398
  assert(obj && "not an object node?");
412
399
  return SymbolTableInfo::isConstantObj(id) || obj->isConstDataOrConstGlobal();
413
400
  }
414
- inline bool isNonPointerObj(NodeID id) const
415
- {
416
- SVFVar* node = getGNode(id);
417
- if (FIObjVar* fiNode = SVFUtil::dyn_cast<FIObjVar>(node))
418
- {
419
- return (fiNode->getMemObj()->hasPtrObj() == false);
420
- }
421
- else if (GepObjVar* gepNode = SVFUtil::dyn_cast<GepObjVar>(node))
422
- {
423
- return (gepNode->getMemObj()->isNonPtrFieldObj(gepNode->getLocationSet()));
424
- }
425
- else if (SVFUtil::isa<DummyObjVar>(node))
426
- {
427
- return false;
428
- }
429
- else
430
- {
431
- assert(false && "expecting a object node");
432
- return false;
433
- }
434
- }
401
+ /// Whether an object can point to any other object or any of its fields is a pointer type.
402
+ bool isNonPointerObj(NodeID id) const;
435
403
  //@}
436
404
 
437
405
  /// Base and Offset methods for Value and Object node
@@ -462,7 +430,7 @@ public:
462
430
  {
463
431
  return addDummyValNode(NodeIDAllocator::get()->allocateValueId());
464
432
  }
465
- inline NodeID addDummyObjNode(const Type* type = nullptr)
433
+ inline NodeID addDummyObjNode(const Type* type)
466
434
  {
467
435
  return addDummyObjNode(NodeIDAllocator::get()->allocateObjectId(), type);
468
436
  }
@@ -81,8 +81,7 @@ protected:
81
81
  const Value* value; ///< value of this SVFIR node
82
82
  SVFStmt::KindToSVFStmtMapTy InEdgeKindToSetMap;
83
83
  SVFStmt::KindToSVFStmtMapTy OutEdgeKindToSetMap;
84
- bool isTLPointer; /// top-level pointer
85
- bool isATPointer; /// address-taken pointer
84
+ bool isPtr; /// whether it is a pointer (top-level or address-taken)
86
85
 
87
86
  public:
88
87
  /// Constructor
@@ -117,17 +116,7 @@ public:
117
116
  /// Whether it is a pointer
118
117
  virtual inline bool isPointer() const
119
118
  {
120
- return isTopLevelPtr() || isAddressTakenPtr();
121
- }
122
- /// Whether it is a top-level pointer
123
- inline bool isTopLevelPtr() const
124
- {
125
- return isTLPointer;
126
- }
127
- /// Whether it is an address-taken pointer
128
- inline bool isAddressTakenPtr() const
129
- {
130
- return isATPointer;
119
+ return isPtr;
131
120
  }
132
121
  /// Whether it is constant data, i.e., "0", "1.001", "str"
133
122
  /// or llvm's metadata, i.e., metadata !4087
@@ -389,7 +389,7 @@ protected:
389
389
  virtual void collectSimpleTypeInfo(const Type* T);
390
390
 
391
391
  /// Create an objectInfo based on LLVM type (value is null, and type could be null, representing a dummy object)
392
- ObjTypeInfo* createObjTypeInfo(const Type *type = nullptr);
392
+ ObjTypeInfo* createObjTypeInfo(const Type *type);
393
393
 
394
394
  /// Every type T is mapped to StInfo
395
395
  /// which contains size (fsize) , offset(foffset)
@@ -592,7 +592,7 @@ public:
592
592
  */
593
593
  class ObjTypeInfo
594
594
  {
595
-
595
+ friend class SymbolTableBuilder;
596
596
  public:
597
597
  typedef enum
598
598
  {
@@ -619,30 +619,18 @@ private:
619
619
  /// maximum number of field object can be created
620
620
  /// minimum number is 0 (field insensitive analysis)
621
621
  u32_t maxOffsetLimit;
622
+
623
+ void resetTypeForHeapStaticObj(const Type* type);
622
624
  public:
623
625
 
624
626
  /// Constructors
625
- ObjTypeInfo(const Value*, const Type* t, u32_t max) :
626
- type(t), flags(0), maxOffsetLimit(max)
627
- {
628
- }
629
- /// Constructor
630
- ObjTypeInfo(u32_t max, const Type* t) : type(t), flags(0), maxOffsetLimit(max)
631
- {
627
+ ObjTypeInfo(const Type* t, u32_t max);
632
628
 
633
- }
634
629
  /// Destructor
635
630
  virtual ~ObjTypeInfo()
636
631
  {
637
-
638
632
  }
639
-
640
- /// Analyse types of heap and static objects
641
- void analyzeHeapObjType(const Type* type);
642
-
643
- /// Analyse types of heap and static objects
644
- void analyzeStaticObjType(const Type* type);
645
-
633
+
646
634
  /// Get LLVM type
647
635
  inline const Type* getType() const
648
636
  {
@@ -205,7 +205,9 @@ public:
205
205
  // TODO: ignore here:
206
206
  }
207
207
  //}@
208
-
208
+ /// Compute offset of a gep instruction or gep constant expression
209
+ bool computeGepOffset(const User *V, LocationSet& ls);
210
+
209
211
  protected:
210
212
  /// Handle globals including (global variable and functions)
211
213
  //@{
@@ -221,9 +223,6 @@ protected:
221
223
  /// Infer field index from byteoffset.
222
224
  u32_t inferFieldIdxFromByteOffset(const llvm::GEPOperator* gepOp, DataLayout *dl, LocationSet& ls, s64_t idx);
223
225
 
224
- /// Compute offset of a gep instruction or gep constant expression
225
- bool computeGepOffset(const User *V, LocationSet& ls);
226
-
227
226
  /// Get the base type and max offset
228
227
  const Type *getBaseTypeAndFlattenedFields(const Value *V, std::vector<LocationSet> &fields, const Value* sz);
229
228
 
@@ -79,7 +79,14 @@ public:
79
79
  /// Initialize TypeInfo based on LLVM Value
80
80
  void initTypeInfo(ObjTypeInfo* typeinfo, const Value* value);
81
81
  /// Analyse types of all flattened fields of this object
82
- void analyzeGlobalStackObjType(ObjTypeInfo* typeinfo, const Value* val);
82
+ void analyzeObjType(ObjTypeInfo* typeinfo, const Value* val);
83
+ /// Analyse types of heap and static objects
84
+ void analyzeHeapObjType(ObjTypeInfo* typeinfo, const Value* val);
85
+ /// Analyse types of heap and static objects
86
+ void analyzeStaticObjType(ObjTypeInfo* typeinfo, const Value* val);
87
+ /// Return the bitcast instruction which is val's only use site, otherwise return nullptr
88
+ const Value* getUniqueUseViaCastInst(const Value* val);
89
+
83
90
  /// Return size of this object based on LLVM value
84
91
  u32_t getObjSize(const Value* val);
85
92
  };