svf-tools 1.0.458 → 1.0.461

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 (410) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +4 -4
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  6. package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
  7. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -4
  9. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +14 -14
  10. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
  11. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  12. package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
  13. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +16 -16
  15. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +4 -4
  17. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -3
  19. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  20. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +19 -19
  23. package/SVF-doxygen/html/html/DCHG_8h_source.html +8 -8
  24. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/DDAPass_8h_source.html +2 -3
  27. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  29. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
  30. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +6 -6
  31. package/SVF-doxygen/html/html/ExeState_8cpp.html +1 -0
  32. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +26 -25
  33. package/SVF-doxygen/html/html/ExeState_8h_source.html +13 -13
  34. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  35. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  36. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +4 -4
  39. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  41. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
  42. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
  43. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
  44. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  45. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
  47. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +3 -3
  49. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +6 -6
  52. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +7 -7
  53. package/SVF-doxygen/html/html/IRGraph_8h_source.html +21 -21
  54. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +3 -3
  56. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +13 -13
  57. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +10 -10
  58. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
  59. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  60. package/SVF-doxygen/html/html/LocationSet_8cpp.html +1 -0
  61. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +15 -14
  62. package/SVF-doxygen/html/html/LocationSet_8h_source.html +10 -10
  63. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +10 -10
  66. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  68. package/SVF-doxygen/html/html/MHP_8cpp_source.html +46 -46
  69. package/SVF-doxygen/html/html/MHP_8h.html +1 -0
  70. package/SVF-doxygen/html/html/MHP_8h_source.html +102 -101
  71. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  73. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +4 -4
  74. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +14 -14
  75. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +10 -10
  76. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +9 -9
  77. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  78. package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
  79. package/SVF-doxygen/html/html/MTA_8h_source.html +4 -5
  80. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  81. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +12 -12
  83. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  84. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +6 -6
  85. package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
  86. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  87. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  88. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  89. package/SVF-doxygen/html/html/PCG_8cpp_source.html +4 -4
  90. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  91. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +21 -21
  94. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +5 -5
  95. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +3 -3
  96. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  97. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  98. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  99. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +23 -23
  100. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +6 -6
  101. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +68 -50
  102. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +51 -50
  103. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +3 -4
  104. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
  105. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  106. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +35 -41
  107. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  108. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +3 -3
  109. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  110. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +9 -9
  111. package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
  112. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +52 -52
  113. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +37 -37
  114. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +19 -19
  115. package/SVF-doxygen/html/html/SVFIR_8h_source.html +19 -19
  116. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  117. package/SVF-doxygen/html/html/SVFModule_8h_source.html +2 -2
  118. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
  119. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
  120. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +6 -7
  121. package/SVF-doxygen/html/html/SVFUtil_8h.html +6 -3
  122. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -12
  123. package/SVF-doxygen/html/html/SVFVariables_8cpp.html +1 -0
  124. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +35 -32
  125. package/SVF-doxygen/html/html/SVFVariables_8h.html +0 -1
  126. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +141 -143
  127. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +2 -2
  128. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  129. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
  130. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  131. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  132. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +54 -54
  133. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -3
  134. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp.html +1 -0
  135. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +99 -95
  136. package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +0 -1
  137. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +144 -146
  138. package/SVF-doxygen/html/html/TCT_8cpp.html +1 -0
  139. package/SVF-doxygen/html/html/TCT_8cpp_source.html +41 -40
  140. package/SVF-doxygen/html/html/TCT_8h_source.html +7 -7
  141. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  142. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  143. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +6 -6
  144. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  145. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  146. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +22 -22
  147. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +4 -4
  148. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -4
  149. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +67 -69
  150. package/SVF-doxygen/html/html/VFGNode_8h_source.html +3 -3
  151. package/SVF-doxygen/html/html/VFG_8cpp_source.html +10 -10
  152. package/SVF-doxygen/html/html/VFG_8h_source.html +3 -3
  153. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  154. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  155. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  156. package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -4
  157. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +4 -4
  161. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +11 -11
  162. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -4
  165. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +5 -5
  166. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +4 -4
  168. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +7 -7
  169. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  170. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  171. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs-members.html +1 -1
  172. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +6 -6
  173. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +20 -20
  174. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  175. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  176. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +20 -22
  178. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +16 -20
  179. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  180. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +15 -15
  182. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +16 -16
  184. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
  185. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +16 -16
  186. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  187. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +11 -11
  188. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +53 -53
  189. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  192. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +2 -2
  194. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +20 -20
  197. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +18 -18
  199. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +40 -40
  200. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +22 -22
  202. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  204. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  205. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +9 -9
  206. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +10 -10
  207. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +183 -183
  208. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  209. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  210. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
  213. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +45 -45
  214. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
  215. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +1 -1
  216. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +29 -29
  217. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +10 -10
  219. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +10 -10
  220. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +21 -21
  221. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +31 -34
  222. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +12 -100
  223. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +17 -19
  227. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +11 -15
  228. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  229. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
  230. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  231. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +7 -7
  232. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +29 -29
  233. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +20 -20
  234. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +10 -11
  235. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +177 -177
  236. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +16 -16
  237. package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +13 -13
  239. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +10 -10
  240. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +25 -26
  241. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
  242. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +8 -8
  243. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +91 -91
  244. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
  245. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  246. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets-members.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +5 -5
  248. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  249. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +99 -99
  251. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +35 -35
  253. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  254. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +9 -9
  255. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
  256. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
  257. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  259. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +24 -24
  260. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +9 -9
  261. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  262. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
  263. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +38 -38
  264. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  265. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +19 -21
  266. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +17 -21
  267. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +1 -1
  268. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +19 -19
  269. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
  270. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +6 -6
  271. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
  272. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +32 -32
  273. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +12 -12
  274. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  275. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
  276. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
  277. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +6 -6
  278. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +62 -62
  279. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +74 -74
  280. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  281. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
  282. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +7 -7
  283. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +1 -1
  284. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +99 -107
  285. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
  286. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  287. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +7 -7
  288. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  289. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +38 -38
  290. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +84 -84
  291. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +2 -2
  292. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +231 -247
  293. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +88 -88
  294. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
  295. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +8 -8
  296. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +17 -19
  298. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +12 -16
  299. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  300. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +36 -36
  301. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  302. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +13 -13
  303. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  304. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +1 -1
  305. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +24 -24
  306. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +1 -1
  307. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +19 -19
  308. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
  309. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +4 -4
  310. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1WPAPass-members.html +1 -1
  312. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +8 -8
  313. package/SVF-doxygen/html/html/cuddInt_8c.html +4 -2
  314. package/SVF-doxygen/html/html/cuddInt_8c_source.html +2 -1
  315. package/SVF-doxygen/html/html/cuddInt_8h.html +4 -2
  316. package/SVF-doxygen/html/html/functions_a.html +5 -8
  317. package/SVF-doxygen/html/html/functions_c.html +9 -5
  318. package/SVF-doxygen/html/html/functions_f.html +6 -4
  319. package/SVF-doxygen/html/html/functions_func.html +10 -13
  320. package/SVF-doxygen/html/html/functions_func_g.html +11 -12
  321. package/SVF-doxygen/html/html/functions_func_h.html +1 -1
  322. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  323. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  324. package/SVF-doxygen/html/html/functions_g.html +11 -12
  325. package/SVF-doxygen/html/html/functions_h.html +1 -1
  326. package/SVF-doxygen/html/html/functions_i.html +1 -1
  327. package/SVF-doxygen/html/html/functions_l.html +3 -3
  328. package/SVF-doxygen/html/html/functions_m.html +1 -4
  329. package/SVF-doxygen/html/html/functions_n.html +3 -3
  330. package/SVF-doxygen/html/html/functions_o.html +14 -14
  331. package/SVF-doxygen/html/html/functions_p.html +11 -11
  332. package/SVF-doxygen/html/html/functions_r.html +7 -5
  333. package/SVF-doxygen/html/html/functions_s.html +7 -7
  334. package/SVF-doxygen/html/html/functions_t.html +6 -4
  335. package/SVF-doxygen/html/html/functions_v.html +3 -3
  336. package/SVF-doxygen/html/html/functions_vars_m.html +0 -3
  337. package/SVF-doxygen/html/html/globals_c.html +103 -100
  338. package/SVF-doxygen/html/html/globals_s.html +6 -10
  339. package/SVF-doxygen/html/html/globals_type.html +3 -0
  340. package/SVF-doxygen/html/html/namespaceSVF.html +31 -67
  341. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +105 -63
  342. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +27 -27
  343. package/SVF-doxygen/html/html/namespacemembers_c.html +0 -3
  344. package/SVF-doxygen/html/html/namespacemembers_func.html +4 -1
  345. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  346. package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
  347. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -6
  348. package/SVF-doxygen/html/html/search/all_1.js +0 -1
  349. package/SVF-doxygen/html/html/search/all_10.js +8 -8
  350. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  351. package/SVF-doxygen/html/html/search/all_13.js +10 -11
  352. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  353. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  354. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  355. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  356. package/SVF-doxygen/html/html/search/all_7.js +4 -4
  357. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  358. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  359. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  360. package/SVF-doxygen/html/html/search/all_d.js +0 -1
  361. package/SVF-doxygen/html/html/search/all_e.js +6 -6
  362. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  363. package/SVF-doxygen/html/html/search/functions_0.js +0 -1
  364. package/SVF-doxygen/html/html/search/functions_10.js +3 -3
  365. package/SVF-doxygen/html/html/search/functions_6.js +4 -4
  366. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  367. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  368. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  369. package/SVF-doxygen/html/html/search/typedefs_11.js +0 -1
  370. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  371. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  372. package/SVF-doxygen/html/html/search/variables_d.js +0 -1
  373. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  374. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +3 -3
  375. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
  376. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +3 -3
  377. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
  378. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  379. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +14 -14
  380. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  381. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  382. package/SVF-doxygen/html/html/svf-ex_8cpp.html +4 -4
  383. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  384. package/include/DDA/DDAPass.h +1 -1
  385. package/include/Graphs/SVFGEdge.h +0 -12
  386. package/include/MTA/LockResultValidator.h +1 -1
  387. package/include/MTA/MHP.h +1 -0
  388. package/include/MTA/MTA.h +1 -1
  389. package/include/MTA/MTAAnnotator.h +1 -1
  390. package/include/MTA/MTAResultValidator.h +1 -1
  391. package/include/MemoryModel/SVFVariables.h +1 -8
  392. package/include/MemoryModel/SymbolTableInfo.h +2 -22
  393. package/include/SVF-FE/BasicTypes.h +1 -0
  394. package/include/SVF-FE/BreakConstantExpr.h +2 -2
  395. package/include/Util/BasicTypes.h +1 -3
  396. package/include/Util/SVFBasicTypes.h +1 -1
  397. package/include/Util/SVFUtil.h +16 -1
  398. package/include/WPA/WPAPass.h +1 -1
  399. package/lib/MTA/LockResultValidator.cpp +2 -2
  400. package/lib/MTA/MTAResultValidator.cpp +2 -2
  401. package/lib/MTA/TCT.cpp +1 -0
  402. package/lib/MemoryModel/LocationSet.cpp +1 -0
  403. package/lib/MemoryModel/SVFVariables.cpp +10 -1
  404. package/lib/MemoryModel/SymbolTableInfo.cpp +26 -0
  405. package/lib/SVF-FE/DCHG.cpp +8 -8
  406. package/lib/Util/ExeState.cpp +1 -0
  407. package/lib/Util/PTAStat.cpp +11 -3
  408. package/lib/Util/SVFUtil.cpp +3 -3
  409. package/lib/Util/ThreadAPI.cpp +12 -4
  410. package/package.json +1 -1
@@ -374,8 +374,8 @@ Private Member Functions</h2></td></tr>
374
374
  </table>
375
375
  </div><div class="memdoc">
376
376
 
377
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00196">196</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
378
- <div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;{</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span>(lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;item: lhs)</div><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; <span class="keyword">auto</span> it = rhs.find(item.first);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="comment">// return false if SVFVar not exists in rhs or z3Expr not equal</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span> (it == rhs.end() || !eq(item.second, it-&gt;second))</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;}</div></div><!-- fragment -->
377
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00197">197</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
378
+ <div class="fragment"><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; <span class="keywordflow">if</span>(lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;item: lhs)</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; <span class="keyword">auto</span> it = rhs.find(item.first);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="comment">// return false if SVFVar not exists in rhs or z3Expr not equal</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (it == rhs.end() || !eq(item.second, it-&gt;second))</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div></div><!-- fragment -->
379
379
  </div>
380
380
  </div>
381
381
  <a id="ac7a74f57945b7f076a5cfe9435fd34e8"></a>
@@ -577,19 +577,19 @@ Private Member Functions</h2></td></tr>
577
577
  </dl>
578
578
  <dl class="section return"><dt>Returns</dt><dd></dd></dl>
579
579
 
580
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00133">133</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
581
- <div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(varId) == varId &amp;&amp; <span class="stringliteral">&quot;SVFVar idx overflow &gt; 0x7f000000?&quot;</span>);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;e = <a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a>[varId];</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span> (eq(e, <a class="code" href="classSVF_1_1Z3Expr.html#a9aa800372d57db519d484cc32ea1c5dc">Z3Expr::nullExpr</a>()))</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; std::string str;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *svfVar = svfir-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(varId);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast&lt;ValVar&gt;(svfVar))</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; <a class="code" href="classSVF_1_1ExeState.html#a7b3013578baac3ce73bc544569c3dbbf">initValVar</a>(valVar, e);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar = dyn_cast&lt;ObjVar&gt;(svfVar))</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#af4018e9053baa373b590230bc53b7ccb">initObjVar</a>(objVar, e);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;var type not supported&quot;</span>);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; }</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; <span class="keywordflow">return</span> e;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;}</div><div class="ttc" id="classSVF_1_1ValVar_html"><div class="ttname"><a href="classSVF_1_1ValVar.html">SVF::ValVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00267">SVFVariables.h:267</a></div></div>
580
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00134">134</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
581
+ <div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;{</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(varId) == varId &amp;&amp; <span class="stringliteral">&quot;SVFVar idx overflow &gt; 0x7f000000?&quot;</span>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;e = <a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a>[varId];</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">if</span> (eq(e, <a class="code" href="classSVF_1_1Z3Expr.html#a9aa800372d57db519d484cc32ea1c5dc">Z3Expr::nullExpr</a>()))</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; std::string str;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *svfVar = svfir-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(varId);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast&lt;ValVar&gt;(svfVar))</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a7b3013578baac3ce73bc544569c3dbbf">initValVar</a>(valVar, e);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar = dyn_cast&lt;ObjVar&gt;(svfVar))</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#af4018e9053baa373b590230bc53b7ccb">initObjVar</a>(objVar, e);</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">else</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; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;var type not supported&quot;</span>);</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; <span class="keywordflow">return</span> e;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</div><div class="ttc" id="classSVF_1_1ValVar_html"><div class="ttname"><a href="classSVF_1_1ValVar.html">SVF::ValVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00260">SVFVariables.h:260</a></div></div>
582
582
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
583
583
  <div class="ttc" id="classSVF_1_1Z3Expr_html"><div class="ttname"><a href="classSVF_1_1Z3Expr.html">SVF::Z3Expr</a></div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00038">Z3Expr.h:38</a></div></div>
584
- <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>
585
- <div class="ttc" id="classSVF_1_1ObjVar_html"><div class="ttname"><a href="classSVF_1_1ObjVar.html">SVF::ObjVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00315">SVFVariables.h:315</a></div></div>
584
+ <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>
585
+ <div class="ttc" id="classSVF_1_1ObjVar_html"><div class="ttname"><a href="classSVF_1_1ObjVar.html">SVF::ObjVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00308">SVFVariables.h:308</a></div></div>
586
586
  <div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
587
587
  <div class="ttc" id="classSVF_1_1ExeState_html_a32a5c65de2656ecfd2e33100a44dc02f"><div class="ttname"><a href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">SVF::ExeState::varToVal</a></div><div class="ttdeci">VarToValMap varToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
588
588
  <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="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
589
- <div class="ttc" id="classSVF_1_1ExeState_html_af4018e9053baa373b590230bc53b7ccb"><div class="ttname"><a href="classSVF_1_1ExeState.html#af4018e9053baa373b590230bc53b7ccb">SVF::ExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, Z3Expr &amp;e)</div><div class="ttdoc">Init Z3Expr for ObjVar. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00075">ExeState.cpp:75</a></div></div>
589
+ <div class="ttc" id="classSVF_1_1ExeState_html_af4018e9053baa373b590230bc53b7ccb"><div class="ttname"><a href="classSVF_1_1ExeState.html#af4018e9053baa373b590230bc53b7ccb">SVF::ExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, Z3Expr &amp;e)</div><div class="ttdoc">Init Z3Expr for ObjVar. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00076">ExeState.cpp:76</a></div></div>
590
590
  <div class="ttc" id="classSVF_1_1Z3Expr_html_a9aa800372d57db519d484cc32ea1c5dc"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a9aa800372d57db519d484cc32ea1c5dc">SVF::Z3Expr::nullExpr</a></div><div class="ttdeci">static z3::expr nullExpr()</div><div class="ttdoc">null expression </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00101">Z3Expr.h:101</a></div></div>
591
591
  <div class="ttc" id="classSVF_1_1ExeState_html_a2535d6ef4a91b2bd2366b6a89265ab91"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">SVF::ExeState::getInternalID</a></div><div class="ttdeci">u32_t getInternalID(u32_t idx) const</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx. ...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00140">ExeState.h:140</a></div></div>
592
- <div class="ttc" id="classSVF_1_1ExeState_html_a7b3013578baac3ce73bc544569c3dbbf"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7b3013578baac3ce73bc544569c3dbbf">SVF::ExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, Z3Expr &amp;e)</div><div class="ttdoc">Init Z3Expr for ValVar. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00042">ExeState.cpp:42</a></div></div>
592
+ <div class="ttc" id="classSVF_1_1ExeState_html_a7b3013578baac3ce73bc544569c3dbbf"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7b3013578baac3ce73bc544569c3dbbf">SVF::ExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, Z3Expr &amp;e)</div><div class="ttdoc">Init Z3Expr for ValVar. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00043">ExeState.cpp:43</a></div></div>
593
593
  <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#l00391">GenericGraph.h:391</a></div></div>
594
594
  <div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
595
595
  </div><!-- fragment -->
@@ -632,23 +632,23 @@ Private Member Functions</h2></td></tr>
632
632
  <p>constant data</p>
633
633
  <p>locations (address-taken variables) </p>
634
634
 
635
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00075">75</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
636
- <div class="fragment"><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;{</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; std::string str;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;ObjVar&quot;</span> &lt;&lt; objVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *obj = objVar-&gt;<a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#aa50d7c3b4e7ac0aa769bc094bea26e16">isConstantData</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *consInt = SVFUtil::dyn_cast&lt;ConstantInt&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> (consInt == llvm::ConstantInt::getTrue(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#ac1a9d20d62066ec4e181fad223669e32">getContext</a>()))</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(1);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (consInt == llvm::ConstantInt::getFalse(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>()))</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(0);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(consInt-&gt;getSExtValue());</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> llvm::ConstantFP *consFP = SVFUtil::dyn_cast&lt;llvm::ConstantFP&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(static_cast&lt;u32_t&gt;(consFP-&gt;getValueAPF().convertToFloat()));</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;ConstantPointerNull&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(0);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;GlobalVariable&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(<a class="code" href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">getVirtualMemAddress</a>(objVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;ConstantAggregate&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;implement this part&quot;</span>);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; std::cerr &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types of values we have?&quot;</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(<a class="code" href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">getVirtualMemAddress</a>(objVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;DummyObjVar&gt;(objVar) &amp;&amp;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="stringliteral">&quot;it should either be a blackhole or constant dummy if this obj has no value?&quot;</span>);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(<a class="code" href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">getVirtualMemAddress</a>(objVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;}</div><div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00392">SymbolTableInfo.h:392</a></div></div>
635
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00076">76</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
636
+ <div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; std::string str;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;ObjVar&quot;</span> &lt;&lt; objVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *obj = objVar-&gt;<a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#aa50d7c3b4e7ac0aa769bc094bea26e16">isConstantData</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *consInt = SVFUtil::dyn_cast&lt;ConstantInt&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span> (consInt == llvm::ConstantInt::getTrue(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#ac1a9d20d62066ec4e181fad223669e32">getContext</a>()))</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(1);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (consInt == llvm::ConstantInt::getFalse(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>()))</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(0);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(consInt-&gt;getSExtValue());</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> llvm::ConstantFP *consFP = SVFUtil::dyn_cast&lt;llvm::ConstantFP&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(static_cast&lt;u32_t&gt;(consFP-&gt;getValueAPF().convertToFloat()));</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;ConstantPointerNull&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(0);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;GlobalVariable&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(<a class="code" href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">getVirtualMemAddress</a>(objVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;ConstantAggregate&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()))</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;implement this part&quot;</span>);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; std::cerr &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">getValue</a>()) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types of values we have?&quot;</span>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(<a class="code" href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">getVirtualMemAddress</a>(objVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;DummyObjVar&gt;(objVar) &amp;&amp;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="stringliteral">&quot;it should either be a blackhole or constant dummy if this obj has no value?&quot;</span>);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(<a class="code" href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">getVirtualMemAddress</a>(objVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;}</div><div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00372">SymbolTableInfo.h:372</a></div></div>
637
637
  <div class="ttc" id="classSVF_1_1ExeState_html_af97d422306089e69c2910c6084475c51"><div class="ttname"><a href="classSVF_1_1ExeState.html#af97d422306089e69c2910c6084475c51">SVF::ExeState::getVirtualMemAddress</a></div><div class="ttdeci">u32_t getVirtualMemAddress(u32_t idx) const</div><div class="ttdoc">The physical address starts with 0x7f...... + idx. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00128">ExeState.h:128</a></div></div>
638
638
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
639
639
  <div class="ttc" id="classSVF_1_1ExeState_html_ac7a74f57945b7f076a5cfe9435fd34e8"><div class="ttname"><a href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">SVF::ExeState::getContext</a></div><div class="ttdeci">z3::context &amp; getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00082">ExeState.h:82</a></div></div>
640
640
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_ac1a9d20d62066ec4e181fad223669e32"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ac1a9d20d62066ec4e181fad223669e32">SVF::LLVMModuleSet::getContext</a></div><div class="ttdeci">LLVMContext &amp; getContext() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00200">LLVMModule.h:200</a></div></div>
641
- <div class="ttc" id="classSVF_1_1MemObj_html_a7f828731597450f1d43b61413ab0e7bb"><div class="ttname"><a href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">SVF::MemObj::isConstantArray</a></div><div class="ttdeci">bool isConstantArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00754">SymbolTableInfo.cpp:754</a></div></div>
642
- <div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00097">BasicTypes.h:97</a></div></div>
643
- <div class="ttc" id="classSVF_1_1ObjVar_html_a6a4feb73b54e602407e35eeb09f55930"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">SVF::ObjVar::getMemObj</a></div><div class="ttdeci">const MemObj * getMemObj() const</div><div class="ttdoc">Return memory object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00355">SVFVariables.h:355</a></div></div>
644
- <div class="ttc" id="classSVF_1_1MemObj_html_a019a77516c403f1f3cc72917b810a41f"><div class="ttname"><a href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">SVF::MemObj::isConstantStruct</a></div><div class="ttdeci">bool isConstantStruct() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00749">SymbolTableInfo.cpp:749</a></div></div>
641
+ <div class="ttc" id="classSVF_1_1MemObj_html_a7f828731597450f1d43b61413ab0e7bb"><div class="ttname"><a href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">SVF::MemObj::isConstantArray</a></div><div class="ttdeci">bool isConstantArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00755">SymbolTableInfo.cpp:755</a></div></div>
642
+ <div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
643
+ <div class="ttc" id="classSVF_1_1ObjVar_html_a6a4feb73b54e602407e35eeb09f55930"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">SVF::ObjVar::getMemObj</a></div><div class="ttdeci">const MemObj * getMemObj() const</div><div class="ttdoc">Return memory object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00348">SVFVariables.h:348</a></div></div>
644
+ <div class="ttc" id="classSVF_1_1MemObj_html_a019a77516c403f1f3cc72917b810a41f"><div class="ttname"><a href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">SVF::MemObj::isConstantStruct</a></div><div class="ttdeci">bool isConstantStruct() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00750">SymbolTableInfo.cpp:750</a></div></div>
645
645
  <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="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
646
- <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>
646
+ <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#l00111">SVFVariables.h:111</a></div></div>
647
647
  <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#l00392">SVFUtil.cpp:392</a></div></div>
648
648
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00070">LLVMModule.h:70</a></div></div>
649
649
  <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#l00169">GenericGraph.h:169</a></div></div>
650
- <div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00416">SymbolTableInfo.h:416</a></div></div>
651
- <div class="ttc" id="classSVF_1_1MemObj_html_aa50d7c3b4e7ac0aa769bc094bea26e16"><div class="ttname"><a href="classSVF_1_1MemObj.html#aa50d7c3b4e7ac0aa769bc094bea26e16">SVF::MemObj::isConstantData</a></div><div class="ttdeci">bool isConstantData() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00764">SymbolTableInfo.cpp:764</a></div></div>
650
+ <div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00396">SymbolTableInfo.h:396</a></div></div>
651
+ <div class="ttc" id="classSVF_1_1MemObj_html_aa50d7c3b4e7ac0aa769bc094bea26e16"><div class="ttname"><a href="classSVF_1_1MemObj.html#aa50d7c3b4e7ac0aa769bc094bea26e16">SVF::MemObj::isConstantData</a></div><div class="ttdeci">bool isConstantData() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00765">SymbolTableInfo.cpp:765</a></div></div>
652
652
  </div><!-- fragment -->
653
653
  </div>
654
654
  </div>
@@ -687,8 +687,8 @@ Private Member Functions</h2></td></tr>
687
687
  </dd>
688
688
  </dl>
689
689
 
690
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00042">42</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
691
- <div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; std::string str;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;ValVar&quot;</span> &lt;&lt; valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *type = valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#adaaf24b8b6ec06476cea112533c24066">getType</a>())</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; <span class="keywordflow">if</span> (type-&gt;isIntegerTy() || type-&gt;isFloatingPointTy() || type-&gt;isPointerTy() || type-&gt;isFunctionTy()</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; || type-&gt;isStructTy() || type-&gt;isArrayTy() || type-&gt;isVoidTy() || type-&gt;isLabelTy() || type-&gt;isMetadataTy())</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_const(rawstr.str().c_str());</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>()) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span> &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a817a63e8330530cb18e077556f7ce518">type2String</a>(type) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">if</span> (svfir-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(0);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_const(rawstr.str().c_str());</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;DummyValVar&gt;(valVar) &amp;&amp; <span class="stringliteral">&quot;not a DummValVar if it has no type?&quot;</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00061">BasicTypes.h:61</a></div></div>
690
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00043">43</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
691
+ <div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; std::string str;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</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; rawstr &lt;&lt; <span class="stringliteral">&quot;ValVar&quot;</span> &lt;&lt; valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *type = valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#adaaf24b8b6ec06476cea112533c24066">getType</a>())</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; <span class="keywordflow">if</span> (type-&gt;isIntegerTy() || type-&gt;isFloatingPointTy() || type-&gt;isPointerTy() || type-&gt;isFunctionTy()</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; || type-&gt;isStructTy() || type-&gt;isArrayTy() || type-&gt;isVoidTy() || type-&gt;isLabelTy() || type-&gt;isMetadataTy())</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_const(rawstr.str().c_str());</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>()) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span> &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a817a63e8330530cb18e077556f7ce518">type2String</a>(type) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span> (svfir-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_val(0);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; e = <a class="code" href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">getContext</a>().int_const(rawstr.str().c_str());</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;DummyValVar&gt;(valVar) &amp;&amp; <span class="stringliteral">&quot;not a DummValVar if it has no type?&quot;</span>);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00061">BasicTypes.h:61</a></div></div>
692
692
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
693
693
  <div class="ttc" id="classSVF_1_1ExeState_html_ac7a74f57945b7f076a5cfe9435fd34e8"><div class="ttname"><a href="classSVF_1_1ExeState.html#ac7a74f57945b7f076a5cfe9435fd34e8">SVF::ExeState::getContext</a></div><div class="ttdeci">z3::context &amp; getContext()</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00082">ExeState.h:82</a></div></div>
694
694
  <div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
@@ -697,10 +697,10 @@ Private Member Functions</h2></td></tr>
697
697
  <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="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
698
698
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream &amp; errs()</div><div class="ttdoc">Overwrite llvm::errs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00055">SVFUtil.h:55</a></div></div>
699
699
  <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#l00392">SVFUtil.cpp:392</a></div></div>
700
- <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>
700
+ <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#l00095">SVFVariables.h:95</a></div></div>
701
701
  <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#l00169">GenericGraph.h:169</a></div></div>
702
702
  <div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
703
- <div class="ttc" id="classSVF_1_1SVFVar_html_adaaf24b8b6ec06476cea112533c24066"><div class="ttname"><a href="classSVF_1_1SVFVar.html#adaaf24b8b6ec06476cea112533c24066">SVF::SVFVar::getType</a></div><div class="ttdeci">virtual const Type * getType() const</div><div class="ttdoc">Return type of the value. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00105">SVFVariables.h:105</a></div></div>
703
+ <div class="ttc" id="classSVF_1_1SVFVar_html_adaaf24b8b6ec06476cea112533c24066"><div class="ttname"><a href="classSVF_1_1SVFVar.html#adaaf24b8b6ec06476cea112533c24066">SVF::SVFVar::getType</a></div><div class="ttdeci">virtual const Type * getType() const</div><div class="ttdoc">Return type of the value. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00104">SVFVariables.h:104</a></div></div>
704
704
  </div><!-- fragment -->
705
705
  </div>
706
706
  </div>
@@ -769,8 +769,8 @@ Private Member Functions</h2></td></tr>
769
769
  </table>
770
770
  </div><div class="memdoc">
771
771
 
772
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00209">209</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
773
- <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span>(lhs.size() != rhs.size()) <span class="keywordflow">return</span> lhs.size() &lt; rhs.size();</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;item: lhs)</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="keyword">auto</span> it = rhs.find(item.first);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">// lhs &gt; rhs if SVFVar not exists in rhs</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="comment">// judge from expr id</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">if</span> (!eq(item.second, it-&gt;second))</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> item.second.id() &lt; it-&gt;second.id();</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">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div></div><!-- fragment -->
772
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00210">210</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
773
+ <div class="fragment"><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>(lhs.size() != rhs.size()) <span class="keywordflow">return</span> lhs.size() &lt; rhs.size();</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;item: lhs)</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keyword">auto</span> it = rhs.find(item.first);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="comment">// lhs &gt; rhs if SVFVar not exists in rhs</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="comment">// judge from expr id</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">if</span> (!eq(item.second, it-&gt;second))</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">return</span> item.second.id() &lt; it-&gt;second.id();</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;}</div></div><!-- fragment -->
774
774
  </div>
775
775
  </div>
776
776
  <a id="a80bd7f3746198459bbcb59274cebc013"></a>
@@ -798,9 +798,9 @@ Private Member Functions</h2></td></tr>
798
798
  </dl>
799
799
  <dl class="section return"><dt>Returns</dt><dd></dd></dl>
800
800
 
801
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00242">242</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
802
- <div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;{</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;location must be numeral&quot;</span>);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = <a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(loc);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">isVirtualMemAddress</a>(virAddr) &amp;&amp; <span class="stringliteral">&quot;Pointer operand is not a physical address?&quot;</span>);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(virAddr);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(objId) == objId &amp;&amp; <span class="stringliteral">&quot;SVFVar idx overflow &gt; 0x7f000000?&quot;</span>);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a80bd7f3746198459bbcb59274cebc013">load</a>(objId);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;}</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00117">Z3Expr.h:117</a></div></div>
803
- <div class="ttc" id="classSVF_1_1ExeState_html_a80bd7f3746198459bbcb59274cebc013"><div class="ttname"><a href="classSVF_1_1ExeState.html#a80bd7f3746198459bbcb59274cebc013">SVF::ExeState::load</a></div><div class="ttdeci">Z3Expr &amp; load(const Z3Expr &amp;loc)</div><div class="ttdoc">Load value at location. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00242">ExeState.cpp:242</a></div></div>
801
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00243">243</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
802
+ <div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;{</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;location must be numeral&quot;</span>);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = <a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(loc);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">isVirtualMemAddress</a>(virAddr) &amp;&amp; <span class="stringliteral">&quot;Pointer operand is not a physical address?&quot;</span>);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(virAddr);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(objId) == objId &amp;&amp; <span class="stringliteral">&quot;SVFVar idx overflow &gt; 0x7f000000?&quot;</span>);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a80bd7f3746198459bbcb59274cebc013">load</a>(objId);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;}</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00117">Z3Expr.h:117</a></div></div>
803
+ <div class="ttc" id="classSVF_1_1ExeState_html_a80bd7f3746198459bbcb59274cebc013"><div class="ttname"><a href="classSVF_1_1ExeState.html#a80bd7f3746198459bbcb59274cebc013">SVF::ExeState::load</a></div><div class="ttdeci">Z3Expr &amp; load(const Z3Expr &amp;loc)</div><div class="ttdoc">Load value at location. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00243">ExeState.cpp:243</a></div></div>
804
804
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
805
805
  <div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
806
806
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00084">SVFBasicTypes.h:84</a></div></div>
@@ -894,14 +894,14 @@ Private Member Functions</h2></td></tr>
894
894
  </dl>
895
895
  <dl class="section return"><dt>Returns</dt><dd></dd></dl>
896
896
 
897
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00186">186</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
898
- <div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;{</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="comment">// judge from path constraint</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">if</span> (!eq(<a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>()))</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>.<a class="code" href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">id</a>() &lt; rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>().<a class="code" href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">id</a>();</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">lessThanVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>()) || <a class="code" href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">lessThanVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>()))</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap &amp; getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00092">ExeState.h:92</a></div></div>
897
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00187">187</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
898
+ <div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;{</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="comment">// judge from path constraint</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">if</span> (!eq(<a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>()))</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>.<a class="code" href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">id</a>() &lt; rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>().<a class="code" href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">id</a>();</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">lessThanVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>()) || <a class="code" href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">lessThanVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>()))</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap &amp; getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00092">ExeState.h:92</a></div></div>
899
899
  <div class="ttc" id="classSVF_1_1ExeState_html_a7a9c5c2275246a43414503f6822073b1"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">SVF::ExeState::pathConstraint</a></div><div class="ttdeci">Z3Expr pathConstraint</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00049">ExeState.h:49</a></div></div>
900
900
  <div class="ttc" id="classSVF_1_1ExeState_html_a32a5c65de2656ecfd2e33100a44dc02f"><div class="ttname"><a href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">SVF::ExeState::varToVal</a></div><div class="ttdeci">VarToValMap varToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
901
901
  <div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr &amp; getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00097">ExeState.h:97</a></div></div>
902
902
  <div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00087">ExeState.h:87</a></div></div>
903
903
  <div class="ttc" id="classSVF_1_1ExeState_html_a55464ae666ae16656ad8903894ec14da"><div class="ttname"><a href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">SVF::ExeState::locToVal</a></div><div class="ttdeci">LocToValMap locToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00048">ExeState.h:48</a></div></div>
904
- <div class="ttc" id="classSVF_1_1ExeState_html_a29c29c85982ffafd4c496e293a80eeeb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">SVF::ExeState::lessThanVarToValMap</a></div><div class="ttdeci">bool lessThanVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00209">ExeState.cpp:209</a></div></div>
904
+ <div class="ttc" id="classSVF_1_1ExeState_html_a29c29c85982ffafd4c496e293a80eeeb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a29c29c85982ffafd4c496e293a80eeeb">SVF::ExeState::lessThanVarToValMap</a></div><div class="ttdeci">bool lessThanVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00210">ExeState.cpp:210</a></div></div>
905
905
  <div class="ttc" id="classSVF_1_1Z3Expr_html_acdb4fbb53f19bac033e79cfe96ce82ca"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">SVF::Z3Expr::id</a></div><div class="ttdeci">u32_t id() const</div><div class="ttdoc">get id </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00107">Z3Expr.h:107</a></div></div>
906
906
  </div><!-- fragment -->
907
907
  </div>
@@ -922,8 +922,8 @@ Private Member Functions</h2></td></tr>
922
922
  </table>
923
923
  </div><div class="memdoc">
924
924
 
925
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00159">159</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
926
- <div class="fragment"><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;{</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">if</span> (*<span class="keyword">this</span> != rhs)</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>();</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>();</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;}</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap &amp; getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00092">ExeState.h:92</a></div></div>
925
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00160">160</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
926
+ <div class="fragment"><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; <span class="keywordflow">if</span> (*<span class="keyword">this</span> != rhs)</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>();</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a> = rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;}</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap &amp; getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00092">ExeState.h:92</a></div></div>
927
927
  <div class="ttc" id="classSVF_1_1ExeState_html_a7a9c5c2275246a43414503f6822073b1"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">SVF::ExeState::pathConstraint</a></div><div class="ttdeci">Z3Expr pathConstraint</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00049">ExeState.h:49</a></div></div>
928
928
  <div class="ttc" id="classSVF_1_1ExeState_html_a32a5c65de2656ecfd2e33100a44dc02f"><div class="ttname"><a href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">SVF::ExeState::varToVal</a></div><div class="ttdeci">VarToValMap varToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
929
929
  <div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr &amp; getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00097">ExeState.h:97</a></div></div>
@@ -957,14 +957,14 @@ Private Member Functions</h2></td></tr>
957
957
  </dl>
958
958
  <dl class="section return"><dt>Returns</dt><dd></dd></dl>
959
959
 
960
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00175">175</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
961
- <div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;{</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> eq(<a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>()) &amp;&amp; <a class="code" href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">eqVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>()) &amp;&amp;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">eqVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>());</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;}</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap &amp; getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00092">ExeState.h:92</a></div></div>
960
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00176">176</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
961
+ <div class="fragment"><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;{</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> eq(<a class="code" href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">pathConstraint</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">getPathConstraint</a>()) &amp;&amp; <a class="code" href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">eqVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">varToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>()) &amp;&amp;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">eqVarToValMap</a>(<a class="code" href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">locToVal</a>, rhs.<a class="code" href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">getLocToVal</a>());</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;}</div><div class="ttc" id="classSVF_1_1ExeState_html_a4ee40de7eca22ac055b52360e0101623"><div class="ttname"><a href="classSVF_1_1ExeState.html#a4ee40de7eca22ac055b52360e0101623">SVF::ExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap &amp; getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00092">ExeState.h:92</a></div></div>
962
962
  <div class="ttc" id="classSVF_1_1ExeState_html_a7a9c5c2275246a43414503f6822073b1"><div class="ttname"><a href="classSVF_1_1ExeState.html#a7a9c5c2275246a43414503f6822073b1">SVF::ExeState::pathConstraint</a></div><div class="ttdeci">Z3Expr pathConstraint</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00049">ExeState.h:49</a></div></div>
963
963
  <div class="ttc" id="classSVF_1_1ExeState_html_a32a5c65de2656ecfd2e33100a44dc02f"><div class="ttname"><a href="classSVF_1_1ExeState.html#a32a5c65de2656ecfd2e33100a44dc02f">SVF::ExeState::varToVal</a></div><div class="ttdeci">VarToValMap varToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00047">ExeState.h:47</a></div></div>
964
964
  <div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr &amp; getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00097">ExeState.h:97</a></div></div>
965
965
  <div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00087">ExeState.h:87</a></div></div>
966
966
  <div class="ttc" id="classSVF_1_1ExeState_html_a55464ae666ae16656ad8903894ec14da"><div class="ttname"><a href="classSVF_1_1ExeState.html#a55464ae666ae16656ad8903894ec14da">SVF::ExeState::locToVal</a></div><div class="ttdeci">LocToValMap locToVal</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00048">ExeState.h:48</a></div></div>
967
- <div class="ttc" id="classSVF_1_1ExeState_html_a8447b7c20dd6bb724270026f55cbdece"><div class="ttname"><a href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">SVF::ExeState::eqVarToValMap</a></div><div class="ttdeci">bool eqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00196">ExeState.cpp:196</a></div></div>
967
+ <div class="ttc" id="classSVF_1_1ExeState_html_a8447b7c20dd6bb724270026f55cbdece"><div class="ttname"><a href="classSVF_1_1ExeState.html#a8447b7c20dd6bb724270026f55cbdece">SVF::ExeState::eqVarToValMap</a></div><div class="ttdeci">bool eqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00197">ExeState.cpp:197</a></div></div>
968
968
  </div><!-- fragment -->
969
969
  </div>
970
970
  </div>
@@ -993,7 +993,7 @@ Private Member Functions</h2></td></tr>
993
993
  </div><div class="memdoc">
994
994
 
995
995
  <p class="definition">Definition at line <a class="el" href="ExeState_8h_source.html#l00107">107</a> of file <a class="el" href="ExeState_8h_source.html">ExeState.h</a>.</p>
996
- <div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ab52debe3aae77d1efd5de4d220dbed2f">getZ3Expr</a>(varId);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div><div class="ttc" id="classSVF_1_1ExeState_html_ab52debe3aae77d1efd5de4d220dbed2f"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab52debe3aae77d1efd5de4d220dbed2f">SVF::ExeState::getZ3Expr</a></div><div class="ttdeci">Z3Expr &amp; getZ3Expr(u32_t varId)</div><div class="ttdoc">Return Z3 expression based on SVFVar ID. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00133">ExeState.cpp:133</a></div></div>
996
+ <div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ab52debe3aae77d1efd5de4d220dbed2f">getZ3Expr</a>(varId);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div><div class="ttc" id="classSVF_1_1ExeState_html_ab52debe3aae77d1efd5de4d220dbed2f"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab52debe3aae77d1efd5de4d220dbed2f">SVF::ExeState::getZ3Expr</a></div><div class="ttdeci">Z3Expr &amp; getZ3Expr(u32_t varId)</div><div class="ttdoc">Return Z3 expression based on SVFVar ID. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00134">ExeState.cpp:134</a></div></div>
997
997
  </div><!-- fragment -->
998
998
  </div>
999
999
  </div>
@@ -1015,8 +1015,8 @@ Private Member Functions</h2></td></tr>
1015
1015
  <p>Print values of all expressions. </p>
1016
1016
  <p>Print values of all expressions </p>
1017
1017
 
1018
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00255">255</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
1019
- <div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;{</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; std::cout.flags(std::ios::left);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;-----------Var and Value-----------\n&quot;</span>;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;item: <a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>())</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; std::stringstream exprName;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; exprName &lt;&lt; <span class="stringliteral">&quot;Var&quot;</span> &lt;&lt; item.first;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; std::cout &lt;&lt; std::setw(25) &lt;&lt; exprName.str();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;sim = item.second.<a class="code" href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">simplify</a>();</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span> (sim.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <a class="code" href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">isVirtualMemAddress</a>(<a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(sim)))</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(sim) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::dec &lt;&lt; sim &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; }</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;-----------------------------------------\n&quot;</span>;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00117">Z3Expr.h:117</a></div></div>
1018
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00256">256</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
1019
+ <div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;{</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; std::cout.flags(std::ios::left);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;-----------Var and Value-----------\n&quot;</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;item: <a class="code" href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">getVarToVal</a>())</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; std::stringstream exprName;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; exprName &lt;&lt; <span class="stringliteral">&quot;Var&quot;</span> &lt;&lt; item.first;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; std::cout &lt;&lt; std::setw(25) &lt;&lt; exprName.str();</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;sim = item.second.<a class="code" href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">simplify</a>();</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">if</span> (sim.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <a class="code" href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">isVirtualMemAddress</a>(<a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(sim)))</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(sim) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::dec &lt;&lt; sim &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; }</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;-----------------------------------------\n&quot;</span>;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;}</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00117">Z3Expr.h:117</a></div></div>
1020
1020
  <div class="ttc" id="classSVF_1_1Z3Expr_html"><div class="ttname"><a href="classSVF_1_1Z3Expr.html">SVF::Z3Expr</a></div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00038">Z3Expr.h:38</a></div></div>
1021
1021
  <div class="ttc" id="classSVF_1_1Z3Expr_html_afb3478316592a395c6d473791b5a0981"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">SVF::Z3Expr::simplify</a></div><div class="ttdeci">Z3Expr simplify() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00127">Z3Expr.h:127</a></div></div>
1022
1022
  <div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00087">ExeState.h:87</a></div></div>
@@ -1090,11 +1090,11 @@ Private Member Functions</h2></td></tr>
1090
1090
  </dd>
1091
1091
  </dl>
1092
1092
 
1093
- <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00229">229</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
1094
- <div class="fragment"><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; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;location must be numeral&quot;</span>);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = <a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(loc);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">isVirtualMemAddress</a>(virAddr) &amp;&amp; <span class="stringliteral">&quot;Pointer operand is not a physical address?&quot;</span>);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a08db85e0e599d17b54743feb03a7717a">store</a>(<a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(virAddr), value);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;}</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00117">Z3Expr.h:117</a></div></div>
1093
+ <p class="definition">Definition at line <a class="el" href="ExeState_8cpp_source.html#l00230">230</a> of file <a class="el" href="ExeState_8cpp_source.html">ExeState.cpp</a>.</p>
1094
+ <div class="fragment"><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; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;location must be numeral&quot;</span>);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = <a class="code" href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">z3Expr2NumValue</a>(loc);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">isVirtualMemAddress</a>(virAddr) &amp;&amp; <span class="stringliteral">&quot;Pointer operand is not a physical address?&quot;</span>);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSVF_1_1ExeState.html#a08db85e0e599d17b54743feb03a7717a">store</a>(<a class="code" href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">getInternalID</a>(virAddr), value);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;}</div><div class="ttc" id="classSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00117">Z3Expr.h:117</a></div></div>
1095
1095
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
1096
1096
  <div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
1097
- <div class="ttc" id="classSVF_1_1ExeState_html_a08db85e0e599d17b54743feb03a7717a"><div class="ttname"><a href="classSVF_1_1ExeState.html#a08db85e0e599d17b54743feb03a7717a">SVF::ExeState::store</a></div><div class="ttdeci">void store(const Z3Expr &amp;loc, const Z3Expr &amp;value)</div><div class="ttdoc">Store value to location. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00229">ExeState.cpp:229</a></div></div>
1097
+ <div class="ttc" id="classSVF_1_1ExeState_html_a08db85e0e599d17b54743feb03a7717a"><div class="ttname"><a href="classSVF_1_1ExeState.html#a08db85e0e599d17b54743feb03a7717a">SVF::ExeState::store</a></div><div class="ttdeci">void store(const Z3Expr &amp;loc, const Z3Expr &amp;value)</div><div class="ttdoc">Store value to location. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8cpp_source.html#l00230">ExeState.cpp:230</a></div></div>
1098
1098
  <div class="ttc" id="classSVF_1_1ExeState_html_ab931a1b6a85d3db047bc50741a22c8a6"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab931a1b6a85d3db047bc50741a22c8a6">SVF::ExeState::z3Expr2NumValue</a></div><div class="ttdeci">s32_t z3Expr2NumValue(const Z3Expr &amp;e)</div><div class="ttdoc">Return int value from an expression if it is a numeral, otherwise return an approximate value...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00146">ExeState.h:146</a></div></div>
1099
1099
  <div class="ttc" id="classSVF_1_1ExeState_html_a2d5f2c2de23c919a47432501c3ad8adb"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2d5f2c2de23c919a47432501c3ad8adb">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">bool isVirtualMemAddress(u32_t val)</div><div class="ttdoc">Check bit value of val start with 0x7F000000, filter by 0xFF000000. </div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00134">ExeState.h:134</a></div></div>
1100
1100
  <div class="ttc" id="classSVF_1_1ExeState_html_a2535d6ef4a91b2bd2366b6a89265ab91"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2535d6ef4a91b2bd2366b6a89265ab91">SVF::ExeState::getInternalID</a></div><div class="ttdeci">u32_t getInternalID(u32_t idx) const</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx. ...</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00140">ExeState.h:140</a></div></div>