svf-tools 1.0.897 → 1.0.899

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 (639) hide show
  1. package/SVF-doxygen/html/AbstractExecution_8cpp.html +1 -1
  2. package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +1638 -1659
  3. package/SVF-doxygen/html/AbstractExecution_8h_source.html +49 -49
  4. package/SVF-doxygen/html/AbstractPointsToDS_8h_source.html +1 -1
  5. package/SVF-doxygen/html/AccessPath_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/AccessPath_8h_source.html +2 -2
  7. package/SVF-doxygen/html/AddressValue_8h_source.html +1 -1
  8. package/SVF-doxygen/html/AndersenPWC_8h_source.html +4 -4
  9. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +3 -3
  10. package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/Andersen_8cpp_source.html +5 -5
  14. package/SVF-doxygen/html/Andersen_8h_source.html +3 -3
  15. package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +4 -4
  16. package/SVF-doxygen/html/BoundedZ3Expr_8h_source.html +400 -380
  17. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +29 -28
  18. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +1 -1
  19. package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
  21. package/SVF-doxygen/html/CDG_8h_source.html +2 -2
  22. package/SVF-doxygen/html/CFGNormalizer_8cpp_source.html +3 -3
  23. package/SVF-doxygen/html/CFGNormalizer_8h_source.html +3 -3
  24. package/SVF-doxygen/html/CFGrammar_8cpp_source.html +2 -2
  25. package/SVF-doxygen/html/CFGrammar_8h_source.html +3 -3
  26. package/SVF-doxygen/html/CFLAlias_8h_source.html +2 -2
  27. package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/CFLGraphBuilder_8h_source.html +1 -1
  29. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +2 -2
  31. package/SVF-doxygen/html/CFLSolver_8h_source.html +1 -1
  32. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/CHG_8h_source.html +2 -2
  34. package/SVF-doxygen/html/CSC_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/CSC_8h_source.html +3 -3
  36. package/SVF-doxygen/html/ConditionalPT_8h_source.html +3 -3
  37. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +6 -6
  38. package/SVF-doxygen/html/ConsExeState_8h_source.html +6 -6
  39. package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
  40. package/SVF-doxygen/html/ConsG_8cpp_source.html +14 -14
  41. package/SVF-doxygen/html/ConsG_8h_source.html +4 -4
  42. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +4 -4
  43. package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
  44. package/SVF-doxygen/html/CoreBitVector_8h_source.html +1 -1
  45. package/SVF-doxygen/html/CppUtil_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/CppUtil_8h_source.html +1 -1
  47. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  48. package/SVF-doxygen/html/DCHG_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/DCHG_8h_source.html +2 -2
  50. package/SVF-doxygen/html/DDAClient_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/DDAClient_8h_source.html +3 -3
  52. package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
  53. package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
  54. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +2 -2
  55. package/SVF-doxygen/html/DPItem_8h_source.html +2 -2
  56. package/SVF-doxygen/html/ExeState_8cpp_source.html +1 -1
  57. package/SVF-doxygen/html/ExeState_8h_source.html +1 -1
  58. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/FSMPTA_8h_source.html +2 -2
  60. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +4 -4
  61. package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
  62. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/FlowSensitive_8h_source.html +2 -2
  65. package/SVF-doxygen/html/GeneralType_8h.html +8 -0
  66. package/SVF-doxygen/html/GeneralType_8h_source.html +110 -102
  67. package/SVF-doxygen/html/GenericGraph_8h_source.html +2 -2
  68. package/SVF-doxygen/html/GrammarBuilder_8h_source.html +1 -1
  69. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +1 -1
  70. package/SVF-doxygen/html/ICFGBuilder_8h_source.html +1 -1
  71. package/SVF-doxygen/html/ICFGEdge_8h_source.html +3 -3
  72. package/SVF-doxygen/html/ICFGNode_8h_source.html +1 -1
  73. package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +2 -2
  74. package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
  75. package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
  76. package/SVF-doxygen/html/ICFG_8h_source.html +2 -2
  77. package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
  78. package/SVF-doxygen/html/IRGraph_8h_source.html +2 -2
  79. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +2 -2
  80. package/SVF-doxygen/html/IntervalExeState_8h_source.html +4 -4
  81. package/SVF-doxygen/html/IntervalValue_8h_source.html +863 -802
  82. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  83. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +335 -316
  84. package/SVF-doxygen/html/LLVMModule_8h_source.html +11 -11
  85. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +2 -2
  86. package/SVF-doxygen/html/LLVMUtil_8h_source.html +1 -1
  87. package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
  88. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +2 -2
  89. package/SVF-doxygen/html/LockAnalysis_8h_source.html +3 -3
  90. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  91. package/SVF-doxygen/html/LockResultValidator_8h_source.html +2 -2
  92. package/SVF-doxygen/html/MHP_8cpp_source.html +3 -3
  93. package/SVF-doxygen/html/MHP_8h_source.html +3 -3
  94. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +4 -4
  95. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +1 -1
  96. package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
  97. package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +5 -5
  98. package/SVF-doxygen/html/MTAStat_8cpp_source.html +1 -1
  99. package/SVF-doxygen/html/MTAStat_8h_source.html +1 -1
  100. package/SVF-doxygen/html/MTA_8cpp_source.html +1 -1
  101. package/SVF-doxygen/html/MTA_8h_source.html +1 -1
  102. package/SVF-doxygen/html/MemPartition_8h_source.html +2 -2
  103. package/SVF-doxygen/html/MemRegion_8cpp_source.html +4 -4
  104. package/SVF-doxygen/html/MemRegion_8h_source.html +5 -5
  105. package/SVF-doxygen/html/MemSSA_8cpp_source.html +4 -4
  106. package/SVF-doxygen/html/MemSSA_8h_source.html +5 -5
  107. package/SVF-doxygen/html/MutablePointsToDS_8h_source.html +1 -1
  108. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
  109. package/SVF-doxygen/html/NodeIDAllocator_8h_source.html +2 -2
  110. package/SVF-doxygen/html/NumericLiteral_8h_source.html +465 -424
  111. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +3 -3
  112. package/SVF-doxygen/html/ObjTypeInference_8h_source.html +2 -2
  113. package/SVF-doxygen/html/Options_8cpp_source.html +10 -1
  114. package/SVF-doxygen/html/Options_8h_source.html +8 -4
  115. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +195 -137
  116. package/SVF-doxygen/html/PAGBuilderFromFile_8h_source.html +3 -3
  117. package/SVF-doxygen/html/PCG_8cpp_source.html +1 -1
  118. package/SVF-doxygen/html/PCG_8h_source.html +1 -1
  119. package/SVF-doxygen/html/PTACallGraph_8cpp_source.html +1 -1
  120. package/SVF-doxygen/html/PTACallGraph_8h_source.html +4 -4
  121. package/SVF-doxygen/html/PTAStat_8cpp_source.html +1 -1
  122. package/SVF-doxygen/html/PersistentPointsToCache_8h_source.html +2 -2
  123. package/SVF-doxygen/html/PersistentPointsToDS_8h_source.html +2 -2
  124. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  125. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +3 -3
  126. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
  127. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +5 -5
  128. package/SVF-doxygen/html/PointsTo_8cpp_source.html +3 -3
  129. package/SVF-doxygen/html/PointsTo_8h_source.html +3 -3
  130. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +1 -1
  131. package/SVF-doxygen/html/ProgSlice_8h_source.html +2 -2
  132. package/SVF-doxygen/html/RelExeState_8cpp_source.html +5 -5
  133. package/SVF-doxygen/html/RelExeState_8h_source.html +6 -6
  134. package/SVF-doxygen/html/RelationSolver_8cpp.html +2 -0
  135. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +386 -378
  136. package/SVF-doxygen/html/RelationSolver_8h_source.html +11 -11
  137. package/SVF-doxygen/html/SCC_8h_source.html +2 -2
  138. package/SVF-doxygen/html/SVFBugReport_8h_source.html +1 -1
  139. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +1937 -1934
  140. package/SVF-doxygen/html/SVFFileSystem_8h.html +1 -1
  141. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +59 -59
  142. package/SVF-doxygen/html/SVFGEdge_8h_source.html +2 -2
  143. package/SVF-doxygen/html/SVFGNode_8h_source.html +2 -2
  144. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +1 -1
  145. package/SVF-doxygen/html/SVFGOPT_8h_source.html +3 -3
  146. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +3 -3
  147. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
  148. package/SVF-doxygen/html/SVFGStat_8h_source.html +3 -3
  149. package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
  150. package/SVF-doxygen/html/SVFG_8h_source.html +2 -2
  151. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +60 -60
  152. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +9 -9
  153. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1101 -886
  154. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +173 -154
  155. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +35 -35
  156. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +17 -17
  157. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +172 -121
  158. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +5 -5
  159. package/SVF-doxygen/html/SVFIR_8cpp_source.html +24 -22
  160. package/SVF-doxygen/html/SVFIR_8h_source.html +55 -53
  161. package/SVF-doxygen/html/SVFLoop_8h_source.html +1 -1
  162. package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
  163. package/SVF-doxygen/html/SVFStat_8h_source.html +1 -1
  164. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +20 -20
  165. package/SVF-doxygen/html/SVFStatements_8h_source.html +979 -955
  166. package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
  167. package/SVF-doxygen/html/SVFType_8h_source.html +4 -4
  168. package/SVF-doxygen/html/SVFUtil_8h_source.html +2 -2
  169. package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
  170. package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
  171. package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
  172. package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
  173. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +10 -10
  174. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +8 -8
  175. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  176. package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +2 -2
  177. package/SVF-doxygen/html/SingleAbsValue_8h_source.html +6 -6
  178. package/SVF-doxygen/html/SparseBitVector_8h_source.html +3 -3
  179. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
  180. package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +2 -2
  181. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +2 -2
  182. package/SVF-doxygen/html/Steensgaard_8h_source.html +4 -4
  183. package/SVF-doxygen/html/SymState_8h_source.html +2 -2
  184. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +4 -4
  185. package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +1 -1
  186. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +3 -3
  187. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +4 -4
  188. package/SVF-doxygen/html/TCT_8cpp_source.html +3 -3
  189. package/SVF-doxygen/html/TCT_8h_source.html +4 -4
  190. package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +1 -1
  191. package/SVF-doxygen/html/ThreadAPI_8h_source.html +1 -1
  192. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
  193. package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +3 -3
  194. package/SVF-doxygen/html/VFGEdge_8h_source.html +1 -1
  195. package/SVF-doxygen/html/VFGNode_8h_source.html +12 -12
  196. package/SVF-doxygen/html/VFG_8cpp_source.html +18 -18
  197. package/SVF-doxygen/html/VFG_8h_source.html +17 -17
  198. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  199. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  200. package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +4 -4
  201. package/SVF-doxygen/html/WPAFSSolver_8h_source.html +1 -1
  202. package/SVF-doxygen/html/WPASolver_8h_source.html +2 -2
  203. package/SVF-doxygen/html/WTO_8h_source.html +2 -2
  204. package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
  205. package/SVF-doxygen/html/Z3Expr_8cpp_source.html +5 -5
  206. package/SVF-doxygen/html/Z3Expr_8h_source.html +303 -294
  207. package/SVF-doxygen/html/ae_8cpp_source.html +6 -6
  208. package/SVF-doxygen/html/classSVF_1_1AEStat.html +119 -119
  209. package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +1517 -1538
  210. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +1 -1
  211. package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
  212. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +1 -1
  213. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +3 -3
  214. package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +3 -3
  215. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
  216. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  217. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  218. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +68 -68
  219. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr-members.html +77 -72
  220. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +450 -294
  221. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +51 -51
  222. package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +4 -4
  223. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +7 -7
  224. package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +1 -1
  225. package/SVF-doxygen/html/classSVF_1_1CFGNormalizer.html +3 -3
  226. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +1 -1
  227. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +1 -1
  228. package/SVF-doxygen/html/classSVF_1_1CSC.html +2 -2
  229. package/SVF-doxygen/html/classSVF_1_1CallPE.html +35 -35
  230. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +97 -97
  231. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +1 -1
  232. package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +5 -5
  233. package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +13 -13
  234. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
  235. package/SVF-doxygen/html/classSVF_1_1CopyStmt-members.html +48 -33
  236. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +206 -65
  237. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +3 -3
  238. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +2 -2
  239. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
  240. package/SVF-doxygen/html/classSVF_1_1ExeState.html +1 -1
  241. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +3 -3
  242. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
  243. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +2 -2
  244. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
  245. package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +1 -1
  246. package/SVF-doxygen/html/classSVF_1_1GenericGraphReader.html +1 -1
  247. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +56 -56
  248. package/SVF-doxygen/html/classSVF_1_1GrammarBase.html +1 -1
  249. package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
  250. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +1 -1
  251. package/SVF-doxygen/html/classSVF_1_1ICFGWriter.html +11 -11
  252. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +2 -2
  253. package/SVF-doxygen/html/classSVF_1_1IntervalValue-members.html +40 -35
  254. package/SVF-doxygen/html/classSVF_1_1IntervalValue.html +512 -307
  255. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  256. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +331 -312
  257. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +19 -19
  258. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +2 -2
  259. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  260. package/SVF-doxygen/html/classSVF_1_1MHP.html +2 -2
  261. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +3 -3
  262. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +1 -1
  263. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +4 -4
  264. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  265. package/SVF-doxygen/html/classSVF_1_1MTAStat.html +1 -1
  266. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +4 -4
  267. package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
  268. package/SVF-doxygen/html/classSVF_1_1MutableDFPTData.html +1 -1
  269. package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -1
  270. package/SVF-doxygen/html/classSVF_1_1NumericLiteral-members.html +50 -43
  271. package/SVF-doxygen/html/classSVF_1_1NumericLiteral.html +574 -343
  272. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +3 -3
  273. package/SVF-doxygen/html/classSVF_1_1Options-members.html +129 -128
  274. package/SVF-doxygen/html/classSVF_1_1Options.html +26 -0
  275. package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +204 -135
  276. package/SVF-doxygen/html/classSVF_1_1PCG.html +1 -1
  277. package/SVF-doxygen/html/classSVF_1_1POCRSolver.html +1 -1
  278. package/SVF-doxygen/html/classSVF_1_1PTACallGraph.html +1 -1
  279. package/SVF-doxygen/html/classSVF_1_1PTAStat.html +1 -1
  280. package/SVF-doxygen/html/classSVF_1_1PersistentDFPTData.html +1 -1
  281. package/SVF-doxygen/html/classSVF_1_1PersistentDiffPTData.html +1 -1
  282. package/SVF-doxygen/html/classSVF_1_1PersistentPTData.html +1 -1
  283. package/SVF-doxygen/html/classSVF_1_1PersistentPointsToCache.html +1 -1
  284. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +46 -46
  285. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
  286. package/SVF-doxygen/html/classSVF_1_1PointsTo.html +1 -1
  287. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +1 -1
  288. package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
  289. package/SVF-doxygen/html/classSVF_1_1ReaderIDToObjMap.html +2 -2
  290. package/SVF-doxygen/html/classSVF_1_1ReaderPtrPool.html +2 -2
  291. package/SVF-doxygen/html/classSVF_1_1RelExeState.html +6 -6
  292. package/SVF-doxygen/html/classSVF_1_1RelationSolver-members.html +1 -1
  293. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +362 -358
  294. package/SVF-doxygen/html/classSVF_1_1RetPE.html +35 -35
  295. package/SVF-doxygen/html/classSVF_1_1SVFG.html +3 -3
  296. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +1 -1
  297. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
  298. package/SVF-doxygen/html/classSVF_1_1SVFIR-members.html +1 -1
  299. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +32 -25
  300. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +51 -51
  301. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +49 -40
  302. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1346 -909
  303. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder-members.html +62 -61
  304. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +211 -131
  305. package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +1122 -1121
  306. package/SVF-doxygen/html/classSVF_1_1SVFIRWriter.html +429 -427
  307. package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +1 -1
  308. package/SVF-doxygen/html/classSVF_1_1SVFModuleReader.html +1 -1
  309. package/SVF-doxygen/html/classSVF_1_1SVFModuleWriter.html +23 -23
  310. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  311. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +14 -14
  312. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  313. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +38 -38
  314. package/SVF-doxygen/html/classSVF_1_1SingleAbsValue-members.html +96 -91
  315. package/SVF-doxygen/html/classSVF_1_1SingleAbsValue.html +19 -5
  316. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +1 -1
  317. package/SVF-doxygen/html/classSVF_1_1StInfo.html +1 -1
  318. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +2 -2
  319. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +17 -17
  320. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  321. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +3 -3
  322. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfoReader.html +1 -1
  323. package/SVF-doxygen/html/classSVF_1_1TCT.html +4 -4
  324. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +22 -22
  325. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +21 -21
  326. package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +1 -1
  327. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
  328. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +44 -44
  329. package/SVF-doxygen/html/classSVF_1_1VFG.html +17 -17
  330. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
  331. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  332. package/SVF-doxygen/html/classSVF_1_1WPAFSSolver.html +2 -2
  333. package/SVF-doxygen/html/classSVF_1_1WPAMinimumSolver.html +2 -2
  334. package/SVF-doxygen/html/classSVF_1_1WPASCCSolver.html +2 -2
  335. package/SVF-doxygen/html/classSVF_1_1WPASolver.html +1 -1
  336. package/SVF-doxygen/html/classSVF_1_1Z3Expr-members.html +2 -2
  337. package/SVF-doxygen/html/classSVF_1_1Z3Expr.html +227 -221
  338. package/SVF-doxygen/html/classSymblicAbstractionTest.html +6 -6
  339. package/SVF-doxygen/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
  340. package/SVF-doxygen/html/functions_a.html +11 -8
  341. package/SVF-doxygen/html/functions_b.html +8 -5
  342. package/SVF-doxygen/html/functions_c.html +23 -14
  343. package/SVF-doxygen/html/functions_e.html +1 -1
  344. package/SVF-doxygen/html/functions_enum.html +3 -0
  345. package/SVF-doxygen/html/functions_eval_b.html +3 -0
  346. package/SVF-doxygen/html/functions_eval_c.html +3 -0
  347. package/SVF-doxygen/html/functions_eval_f.html +9 -0
  348. package/SVF-doxygen/html/functions_eval_i.html +3 -0
  349. package/SVF-doxygen/html/functions_eval_p.html +3 -0
  350. package/SVF-doxygen/html/functions_eval_s.html +6 -0
  351. package/SVF-doxygen/html/functions_eval_t.html +3 -0
  352. package/SVF-doxygen/html/functions_eval_u.html +3 -0
  353. package/SVF-doxygen/html/functions_eval_z.html +79 -0
  354. package/SVF-doxygen/html/functions_f.html +21 -12
  355. package/SVF-doxygen/html/functions_func.html +2 -2
  356. package/SVF-doxygen/html/functions_func_b.html +3 -3
  357. package/SVF-doxygen/html/functions_func_g.html +47 -12
  358. package/SVF-doxygen/html/functions_func_i.html +19 -9
  359. package/SVF-doxygen/html/functions_func_n.html +1 -1
  360. package/SVF-doxygen/html/functions_func_p.html +1 -1
  361. package/SVF-doxygen/html/functions_func_z.html +1 -1
  362. package/SVF-doxygen/html/functions_g.html +54 -19
  363. package/SVF-doxygen/html/functions_i.html +18 -5
  364. package/SVF-doxygen/html/functions_l.html +3 -3
  365. package/SVF-doxygen/html/functions_o.html +15 -15
  366. package/SVF-doxygen/html/functions_p.html +28 -29
  367. package/SVF-doxygen/html/functions_r.html +1 -1
  368. package/SVF-doxygen/html/functions_s.html +24 -16
  369. package/SVF-doxygen/html/functions_t.html +7 -4
  370. package/SVF-doxygen/html/functions_u.html +6 -3
  371. package/SVF-doxygen/html/functions_v.html +4 -6
  372. package/SVF-doxygen/html/functions_vars_a.html +3 -0
  373. package/SVF-doxygen/html/functions_vars_c.html +3 -0
  374. package/SVF-doxygen/html/functions_w.html +13 -7
  375. package/SVF-doxygen/html/functions_z.html +4 -1
  376. package/SVF-doxygen/html/menudata.js +2 -1
  377. package/SVF-doxygen/html/namespaceSVF.html +689 -617
  378. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +1 -1
  379. package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +1 -1
  380. package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +1 -1
  381. package/SVF-doxygen/html/namespacemembers_s.html +6 -0
  382. package/SVF-doxygen/html/namespacemembers_type_s.html +6 -0
  383. package/SVF-doxygen/html/namespacemembers_type_u.html +6 -0
  384. package/SVF-doxygen/html/namespacemembers_u.html +6 -0
  385. package/SVF-doxygen/html/search/all_1.js +135 -134
  386. package/SVF-doxygen/html/search/all_10.js +326 -325
  387. package/SVF-doxygen/html/search/all_11.js +226 -226
  388. package/SVF-doxygen/html/search/all_12.js +574 -570
  389. package/SVF-doxygen/html/search/all_13.js +208 -207
  390. package/SVF-doxygen/html/search/all_14.js +73 -70
  391. package/SVF-doxygen/html/search/all_15.js +176 -176
  392. package/SVF-doxygen/html/search/all_16.js +77 -77
  393. package/SVF-doxygen/html/search/all_17.js +1 -1
  394. package/SVF-doxygen/html/search/all_18.js +1 -1
  395. package/SVF-doxygen/html/search/all_19.js +27 -26
  396. package/SVF-doxygen/html/search/all_1a.js +179 -179
  397. package/SVF-doxygen/html/search/all_2.js +182 -181
  398. package/SVF-doxygen/html/search/all_3.js +642 -640
  399. package/SVF-doxygen/html/search/all_4.js +236 -236
  400. package/SVF-doxygen/html/search/all_5.js +126 -126
  401. package/SVF-doxygen/html/search/all_6.js +235 -232
  402. package/SVF-doxygen/html/search/all_7.js +1056 -1047
  403. package/SVF-doxygen/html/search/all_8.js +215 -215
  404. package/SVF-doxygen/html/search/all_9.js +632 -629
  405. package/SVF-doxygen/html/search/all_a.js +46 -46
  406. package/SVF-doxygen/html/search/all_b.js +26 -26
  407. package/SVF-doxygen/html/search/all_c.js +115 -115
  408. package/SVF-doxygen/html/search/all_d.js +204 -204
  409. package/SVF-doxygen/html/search/all_e.js +209 -209
  410. package/SVF-doxygen/html/search/all_f.js +122 -122
  411. package/SVF-doxygen/html/search/classes_0.js +28 -28
  412. package/SVF-doxygen/html/search/classes_1.js +11 -11
  413. package/SVF-doxygen/html/search/classes_10.js +74 -74
  414. package/SVF-doxygen/html/search/classes_11.js +14 -14
  415. package/SVF-doxygen/html/search/classes_12.js +2 -2
  416. package/SVF-doxygen/html/search/classes_13.js +10 -10
  417. package/SVF-doxygen/html/search/classes_14.js +19 -19
  418. package/SVF-doxygen/html/search/classes_15.js +1 -1
  419. package/SVF-doxygen/html/search/classes_2.js +73 -73
  420. package/SVF-doxygen/html/search/classes_3.js +35 -35
  421. package/SVF-doxygen/html/search/classes_4.js +8 -8
  422. package/SVF-doxygen/html/search/classes_5.js +28 -28
  423. package/SVF-doxygen/html/search/classes_6.js +98 -98
  424. package/SVF-doxygen/html/search/classes_7.js +38 -38
  425. package/SVF-doxygen/html/search/classes_8.js +59 -59
  426. package/SVF-doxygen/html/search/classes_9.js +1 -1
  427. package/SVF-doxygen/html/search/classes_a.js +12 -12
  428. package/SVF-doxygen/html/search/classes_b.js +29 -29
  429. package/SVF-doxygen/html/search/classes_c.js +6 -6
  430. package/SVF-doxygen/html/search/classes_d.js +19 -19
  431. package/SVF-doxygen/html/search/classes_e.js +36 -36
  432. package/SVF-doxygen/html/search/classes_f.js +25 -25
  433. package/SVF-doxygen/html/search/defines_0.js +3 -3
  434. package/SVF-doxygen/html/search/defines_1.js +3 -3
  435. package/SVF-doxygen/html/search/defines_10.js +2 -2
  436. package/SVF-doxygen/html/search/defines_2.js +30 -30
  437. package/SVF-doxygen/html/search/defines_3.js +20 -20
  438. package/SVF-doxygen/html/search/defines_4.js +3 -3
  439. package/SVF-doxygen/html/search/defines_5.js +4 -4
  440. package/SVF-doxygen/html/search/defines_6.js +2 -2
  441. package/SVF-doxygen/html/search/defines_7.js +5 -5
  442. package/SVF-doxygen/html/search/defines_8.js +11 -11
  443. package/SVF-doxygen/html/search/defines_9.js +9 -9
  444. package/SVF-doxygen/html/search/defines_a.js +2 -2
  445. package/SVF-doxygen/html/search/defines_b.js +1 -1
  446. package/SVF-doxygen/html/search/defines_c.js +4 -4
  447. package/SVF-doxygen/html/search/defines_d.js +2 -2
  448. package/SVF-doxygen/html/search/defines_e.js +8 -8
  449. package/SVF-doxygen/html/search/defines_f.js +4 -4
  450. package/SVF-doxygen/html/search/enums_0.js +4 -4
  451. package/SVF-doxygen/html/search/enums_1.js +2 -2
  452. package/SVF-doxygen/html/search/enums_10.js +1 -1
  453. package/SVF-doxygen/html/search/enums_11.js +1 -1
  454. package/SVF-doxygen/html/search/enums_2.js +9 -8
  455. package/SVF-doxygen/html/search/enums_3.js +1 -1
  456. package/SVF-doxygen/html/search/enums_4.js +4 -4
  457. package/SVF-doxygen/html/search/enums_5.js +1 -1
  458. package/SVF-doxygen/html/search/enums_6.js +2 -2
  459. package/SVF-doxygen/html/search/enums_7.js +2 -2
  460. package/SVF-doxygen/html/search/enums_8.js +4 -4
  461. package/SVF-doxygen/html/search/enums_9.js +1 -1
  462. package/SVF-doxygen/html/search/enums_a.js +1 -1
  463. package/SVF-doxygen/html/search/enums_b.js +7 -7
  464. package/SVF-doxygen/html/search/enums_c.js +1 -1
  465. package/SVF-doxygen/html/search/enums_d.js +4 -4
  466. package/SVF-doxygen/html/search/enums_e.js +2 -2
  467. package/SVF-doxygen/html/search/enums_f.js +4 -4
  468. package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
  469. package/SVF-doxygen/html/search/enumvalues_1.js +16 -15
  470. package/SVF-doxygen/html/search/enumvalues_10.js +36 -35
  471. package/SVF-doxygen/html/search/enumvalues_11.js +5 -4
  472. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  473. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  474. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  475. package/SVF-doxygen/html/search/enumvalues_15.js +4 -3
  476. package/SVF-doxygen/html/search/enumvalues_2.js +37 -36
  477. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  478. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  479. package/SVF-doxygen/html/search/enumvalues_5.js +50 -47
  480. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  481. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  482. package/SVF-doxygen/html/search/enumvalues_8.js +24 -23
  483. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  484. package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
  485. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  486. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  487. package/SVF-doxygen/html/search/enumvalues_d.js +19 -18
  488. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  489. package/SVF-doxygen/html/search/enumvalues_f.js +49 -47
  490. package/SVF-doxygen/html/search/files_0.js +16 -16
  491. package/SVF-doxygen/html/search/files_1.js +9 -9
  492. package/SVF-doxygen/html/search/files_10.js +8 -8
  493. package/SVF-doxygen/html/search/files_11.js +8 -8
  494. package/SVF-doxygen/html/search/files_12.js +2 -2
  495. package/SVF-doxygen/html/search/files_2.js +53 -53
  496. package/SVF-doxygen/html/search/files_3.js +14 -14
  497. package/SVF-doxygen/html/search/files_4.js +5 -5
  498. package/SVF-doxygen/html/search/files_5.js +13 -13
  499. package/SVF-doxygen/html/search/files_6.js +10 -10
  500. package/SVF-doxygen/html/search/files_7.js +17 -17
  501. package/SVF-doxygen/html/search/files_8.js +13 -13
  502. package/SVF-doxygen/html/search/files_9.js +18 -18
  503. package/SVF-doxygen/html/search/files_a.js +3 -3
  504. package/SVF-doxygen/html/search/files_b.js +4 -4
  505. package/SVF-doxygen/html/search/files_c.js +20 -20
  506. package/SVF-doxygen/html/search/files_d.js +4 -4
  507. package/SVF-doxygen/html/search/files_e.js +62 -62
  508. package/SVF-doxygen/html/search/files_f.js +8 -8
  509. package/SVF-doxygen/html/search/functions_0.js +13 -13
  510. package/SVF-doxygen/html/search/functions_1.js +368 -368
  511. package/SVF-doxygen/html/search/functions_10.js +140 -140
  512. package/SVF-doxygen/html/search/functions_11.js +140 -140
  513. package/SVF-doxygen/html/search/functions_12.js +299 -299
  514. package/SVF-doxygen/html/search/functions_13.js +73 -73
  515. package/SVF-doxygen/html/search/functions_14.js +41 -41
  516. package/SVF-doxygen/html/search/functions_15.js +72 -72
  517. package/SVF-doxygen/html/search/functions_16.js +38 -38
  518. package/SVF-doxygen/html/search/functions_17.js +3 -3
  519. package/SVF-doxygen/html/search/functions_18.js +179 -179
  520. package/SVF-doxygen/html/search/functions_2.js +94 -94
  521. package/SVF-doxygen/html/search/functions_3.js +261 -261
  522. package/SVF-doxygen/html/search/functions_4.js +85 -85
  523. package/SVF-doxygen/html/search/functions_5.js +57 -57
  524. package/SVF-doxygen/html/search/functions_6.js +65 -65
  525. package/SVF-doxygen/html/search/functions_7.js +872 -863
  526. package/SVF-doxygen/html/search/functions_8.js +162 -162
  527. package/SVF-doxygen/html/search/functions_9.js +440 -438
  528. package/SVF-doxygen/html/search/functions_a.js +30 -30
  529. package/SVF-doxygen/html/search/functions_b.js +2 -2
  530. package/SVF-doxygen/html/search/functions_c.js +25 -25
  531. package/SVF-doxygen/html/search/functions_d.js +82 -82
  532. package/SVF-doxygen/html/search/functions_e.js +36 -36
  533. package/SVF-doxygen/html/search/functions_f.js +58 -58
  534. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  535. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  536. package/SVF-doxygen/html/search/related_0.js +4 -4
  537. package/SVF-doxygen/html/search/related_1.js +2 -2
  538. package/SVF-doxygen/html/search/related_2.js +2 -2
  539. package/SVF-doxygen/html/search/related_3.js +2 -2
  540. package/SVF-doxygen/html/search/related_4.js +2 -2
  541. package/SVF-doxygen/html/search/related_5.js +1 -1
  542. package/SVF-doxygen/html/search/related_6.js +2 -2
  543. package/SVF-doxygen/html/search/related_7.js +5 -5
  544. package/SVF-doxygen/html/search/related_8.js +2 -2
  545. package/SVF-doxygen/html/search/related_9.js +4 -4
  546. package/SVF-doxygen/html/search/related_a.js +19 -19
  547. package/SVF-doxygen/html/search/related_b.js +4 -4
  548. package/SVF-doxygen/html/search/related_c.js +2 -2
  549. package/SVF-doxygen/html/search/related_d.js +12 -12
  550. package/SVF-doxygen/html/search/related_e.js +2 -2
  551. package/SVF-doxygen/html/search/related_f.js +2 -2
  552. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  553. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  554. package/SVF-doxygen/html/search/typedefs_10.js +65 -63
  555. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  556. package/SVF-doxygen/html/search/typedefs_12.js +13 -11
  557. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  558. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  559. package/SVF-doxygen/html/search/typedefs_2.js +125 -125
  560. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  561. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  562. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  563. package/SVF-doxygen/html/search/typedefs_6.js +54 -54
  564. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  565. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  566. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  567. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  568. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  569. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  570. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  571. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  572. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  573. package/SVF-doxygen/html/search/variables_0.js +177 -177
  574. package/SVF-doxygen/html/search/variables_1.js +77 -76
  575. package/SVF-doxygen/html/search/variables_10.js +98 -98
  576. package/SVF-doxygen/html/search/variables_11.js +46 -46
  577. package/SVF-doxygen/html/search/variables_12.js +93 -93
  578. package/SVF-doxygen/html/search/variables_13.js +76 -76
  579. package/SVF-doxygen/html/search/variables_14.js +14 -14
  580. package/SVF-doxygen/html/search/variables_15.js +49 -49
  581. package/SVF-doxygen/html/search/variables_16.js +11 -11
  582. package/SVF-doxygen/html/search/variables_17.js +1 -1
  583. package/SVF-doxygen/html/search/variables_18.js +17 -17
  584. package/SVF-doxygen/html/search/variables_2.js +40 -40
  585. package/SVF-doxygen/html/search/variables_3.js +143 -142
  586. package/SVF-doxygen/html/search/variables_4.js +51 -51
  587. package/SVF-doxygen/html/search/variables_5.js +39 -39
  588. package/SVF-doxygen/html/search/variables_6.js +66 -66
  589. package/SVF-doxygen/html/search/variables_7.js +34 -34
  590. package/SVF-doxygen/html/search/variables_8.js +8 -8
  591. package/SVF-doxygen/html/search/variables_9.js +79 -79
  592. package/SVF-doxygen/html/search/variables_a.js +4 -4
  593. package/SVF-doxygen/html/search/variables_b.js +10 -10
  594. package/SVF-doxygen/html/search/variables_c.js +45 -45
  595. package/SVF-doxygen/html/search/variables_d.js +57 -57
  596. package/SVF-doxygen/html/search/variables_e.js +123 -123
  597. package/SVF-doxygen/html/search/variables_f.js +31 -31
  598. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  599. package/SVF-doxygen/html/structSVF_1_1Hash.html +6 -6
  600. package/SVF-doxygen/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +12 -12
  601. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +1 -1
  602. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +6 -6
  603. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
  604. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
  605. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  606. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NumericLiteral_01_4.html +5 -5
  607. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SingleAbsValue_01_4.html +1 -1
  608. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +1 -1
  609. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  610. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
  611. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +6 -6
  612. package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +1 -1
  613. package/SVF-doxygen/html/svf-ex_8cpp.html +21 -21
  614. package/SVF-doxygen/html/svf-ex_8cpp_source.html +21 -21
  615. package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
  616. package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +3 -3
  617. package/package.json +1 -1
  618. package/svf/include/AE/Core/BoundedZ3Expr.h +33 -20
  619. package/svf/include/AE/Core/IntervalValue.h +57 -5
  620. package/svf/include/AE/Core/NumericLiteral.h +31 -1
  621. package/svf/include/AE/Core/RelationSolver.h +1 -1
  622. package/svf/include/AE/Svfexe/SVFIR2ItvExeState.h +10 -0
  623. package/svf/include/SVFIR/SVFIR.h +2 -1
  624. package/svf/include/SVFIR/SVFStatements.h +12 -2
  625. package/svf/include/Util/GeneralType.h +4 -0
  626. package/svf/include/Util/Options.h +3 -0
  627. package/svf/include/Util/Z3Expr.h +9 -2
  628. package/svf/lib/AE/Core/RelationSolver.cpp +11 -6
  629. package/svf/lib/AE/Svfexe/AbstractExecution.cpp +13 -34
  630. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +6 -6
  631. package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +217 -23
  632. package/svf/lib/SVFIR/PAGBuilderFromFile.cpp +62 -3
  633. package/svf/lib/SVFIR/SVFFileSystem.cpp +4 -1
  634. package/svf/lib/SVFIR/SVFIR.cpp +3 -3
  635. package/svf/lib/Util/Options.cpp +8 -0
  636. package/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +39 -3
  637. package/svf-llvm/lib/LLVMModule.cpp +21 -2
  638. package/svf-llvm/lib/SVFIRBuilder.cpp +7 -7
  639. package/svf-llvm/lib/SVFIRExtAPI.cpp +3 -3
@@ -71,6 +71,7 @@ $(function() {
71
71
  <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
72
72
  <a href="#pub-static-attribs">Static Public Attributes</a> &#124;
73
73
  <a href="#pro-methods">Protected Member Functions</a> &#124;
74
+ <a href="#pri-methods">Private Member Functions</a> &#124;
74
75
  <a href="#pri-attribs">Private Attributes</a> &#124;
75
76
  <a href="classSVF_1_1SVFIR2ItvExeState-members.html">List of all members</a> </div>
76
77
  <div class="headertitle">
@@ -107,6 +108,22 @@ Public Member Functions</h2></td></tr>
107
108
  <tr class="memitem:afbb9ff1f2c47d2afda117bf63a80a1a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">getRangeLimitFromType</a> (const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="el" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</td></tr>
108
109
  <tr class="memdesc:afbb9ff1f2c47d2afda117bf63a80a1a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the value range of Integer <a class="el" href="namespaceSVF.html" title="for isBitcode">SVF</a> Type, e.g. unsigned i8 Type-&gt;[0, 255], signed i8 Type-&gt;[-128, 127]. <a href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">More...</a><br /></td></tr>
109
110
  <tr class="separator:afbb9ff1f2c47d2afda117bf63a80a1a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
111
+ <tr class="memitem:a9cd033e4586788de716f41875ab2b87f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a9cd033e4586788de716f41875ab2b87f">getZExtValue</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *var)</td></tr>
112
+ <tr class="separator:a9cd033e4586788de716f41875ab2b87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
+ <tr class="memitem:a5d65dbc9a43181494a32d41a03065685"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a5d65dbc9a43181494a32d41a03065685">getSExtValue</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *var)</td></tr>
114
+ <tr class="separator:a5d65dbc9a43181494a32d41a03065685"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+ <tr class="memitem:ad53e6d2fc9d1410df236584bb66c585a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#ad53e6d2fc9d1410df236584bb66c585a">getFPToSIntValue</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *var)</td></tr>
116
+ <tr class="separator:ad53e6d2fc9d1410df236584bb66c585a"><td class="memSeparator" colspan="2">&#160;</td></tr>
117
+ <tr class="memitem:a25165fdbe2b56b34ee8ab094bbe89494"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a25165fdbe2b56b34ee8ab094bbe89494">getFPToUIntValue</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *var)</td></tr>
118
+ <tr class="separator:a25165fdbe2b56b34ee8ab094bbe89494"><td class="memSeparator" colspan="2">&#160;</td></tr>
119
+ <tr class="memitem:ad3b0ac993ccfb0846f62aeb5eaf62b30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#ad3b0ac993ccfb0846f62aeb5eaf62b30">getSIntToFPValue</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *var)</td></tr>
120
+ <tr class="separator:ad3b0ac993ccfb0846f62aeb5eaf62b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
121
+ <tr class="memitem:aaeef5c66931c38f2ea2002b53b255530"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#aaeef5c66931c38f2ea2002b53b255530">getUIntToFPValue</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *var)</td></tr>
122
+ <tr class="separator:aaeef5c66931c38f2ea2002b53b255530"><td class="memSeparator" colspan="2">&#160;</td></tr>
123
+ <tr class="memitem:a15dbee007f3afb718a202f50fa87177f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a15dbee007f3afb718a202f50fa87177f">getTruncValue</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *var, const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *dstType)</td></tr>
124
+ <tr class="separator:a15dbee007f3afb718a202f50fa87177f"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
+ <tr class="memitem:ad633ce5462cf878b4bc9e6e5ab079354"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#ad633ce5462cf878b4bc9e6e5ab079354">getFPTruncValue</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *var, const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *dstType)</td></tr>
126
+ <tr class="separator:ad633ce5462cf878b4bc9e6e5ab079354"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
127
  <tr class="memitem:a335922caf105ee72cd9d66a451ae3d4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a335922caf105ee72cd9d66a451ae3d4e">getByteOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
111
128
  <tr class="separator:a335922caf105ee72cd9d66a451ae3d4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
112
129
  <tr class="memitem:a6e4e3eeca9d25fb5eab496faeb6264c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">getItvOfFlattenedElemIndex</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
@@ -199,6 +216,11 @@ Protected Member Functions</h2></td></tr>
199
216
  <tr class="memitem:af00e05b7e479cf79c2bd71dea212799d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#af00e05b7e479cf79c2bd71dea212799d">translatePhiRel</a> (const <a class="el" href="classSVF_1_1PhiStmt.html">PhiStmt</a> *phi, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *srcNode, const std::vector&lt; const <a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * &gt; &amp;path)</td></tr>
200
217
  <tr class="separator:af00e05b7e479cf79c2bd71dea212799d"><td class="memSeparator" colspan="2">&#160;</td></tr>
201
218
  </table><table class="memberdecls">
219
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
220
+ Private Member Functions</h2></td></tr>
221
+ <tr class="memitem:a1fba1d6d8b8d4de37e644ee229a0e5c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a1fba1d6d8b8d4de37e644ee229a0e5c5">getZExtValue</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *var, const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *)</td></tr>
222
+ <tr class="separator:a1fba1d6d8b8d4de37e644ee229a0e5c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
223
+ </table><table class="memberdecls">
202
224
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
203
225
  Private Attributes</h2></td></tr>
204
226
  <tr class="memitem:a4359c73e131a44f899c694fad25b7e1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a></td></tr>
@@ -277,25 +299,25 @@ Private Attributes</h2></td></tr>
277
299
  </table>
278
300
  </div><div class="memdoc">
279
301
 
280
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00113">113</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
281
- <div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;{</div>
282
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>)</div>
283
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
284
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
285
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
286
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>)</div>
287
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
288
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
289
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
290
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: es.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
291
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
292
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
293
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
294
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: es.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
295
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div>
296
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
297
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
298
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;}</div>
302
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00275">275</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
303
+ <div class="fragment"><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;{</div>
304
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: es.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>)</div>
305
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div>
306
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
307
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; }</div>
308
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: es.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>)</div>
309
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; {</div>
310
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
311
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div>
312
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: es.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
313
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div>
314
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
315
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div>
316
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: es.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
317
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div>
318
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>[<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first] = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second;</div>
319
+ <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; }</div>
320
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;}</div>
299
321
  </div><!-- fragment -->
300
322
  </div>
301
323
  </div>
@@ -323,13 +345,13 @@ Private Attributes</h2></td></tr>
323
345
  </table>
324
346
  </div><div class="memdoc">
325
347
 
326
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00107">107</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
327
- <div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
328
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(<span class="keywordtype">id</span>))</div>
329
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(<span class="keywordtype">id</span>);</div>
330
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">else</span></div>
331
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a1579525f7cf7779aba58c4bdde2be4b0">globalNulladdrs</a>;</div>
332
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
348
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00116">116</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
349
+ <div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
350
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(<span class="keywordtype">id</span>))</div>
351
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(<span class="keywordtype">id</span>);</div>
352
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">else</span></div>
353
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a1579525f7cf7779aba58c4bdde2be4b0">globalNulladdrs</a>;</div>
354
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
333
355
  </div><!-- fragment -->
334
356
  </div>
335
357
  </div>
@@ -362,67 +384,67 @@ Private Attributes</h2></td></tr>
362
384
  for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4bytes * %var1</h2>
363
385
  <p>Therefore the final byteoffset is [8+4*var1.lb(), 8+4*var1.ub()] </p>
364
386
 
365
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00275">275</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
366
- <div class="fragment"><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;{</div>
367
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">isConstantOffset</a>())</div>
368
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a28a7ca818584abdc2d345b41d592c5dc">accumulateConstantByteOffset</a>());</div>
369
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0); <span class="comment">// Initialize the result interval &#39;res&#39; to 0.</span></div>
370
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="comment">// Loop through the offsetVarAndGepTypePairVec in reverse order.</span></div>
371
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
372
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; {</div>
373
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* idxOperandVar =</div>
374
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].first;</div>
375
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* idxOperandType =</div>
376
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].second;</div>
377
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="comment">// calculating Array/Ptr by elemByteSize * indexOperand</span></div>
378
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFArrayType&gt;(idxOperandType) || SVFUtil::isa&lt;SVFPointerType&gt;(idxOperandType))</div>
379
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div>
380
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> elemByteSize = 1;</div>
381
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>* arrOperandType = SVFUtil::dyn_cast&lt;SVFArrayType&gt;(idxOperandType))</div>
382
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; elemByteSize = arrOperandType-&gt;getTypeOfElement()-&gt;getByteSize();</div>
383
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFPointerType&gt;(idxOperandType))</div>
384
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; elemByteSize = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>();</div>
385
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">else</span></div>
386
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;idxOperandType must be ArrType or PtrType&quot;</span>);</div>
387
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(idxOperandVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()))</div>
388
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
389
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> lb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / elemByteSize &gt;= op-&gt;getSExtValue() ?op-&gt;getSExtValue() * elemByteSize</div>
390
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; : <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
391
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, lb);</div>
392
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
393
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">else</span></div>
394
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
395
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(idxOperandVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>());</div>
396
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
397
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
398
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
399
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">else</span></div>
400
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
401
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="comment">// if lb or ub is negative number, set 0.</span></div>
402
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="comment">// if lb or ub is positive number, guarantee lb/ub * elemByteSize &lt;= MaxFieldLimit</span></div>
403
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; 0) ? 0 :</div>
404
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; (<span class="keywordtype">double</span>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() /</div>
405
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; elemByteSize &gt;= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() ? elemByteSize * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
406
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> lb = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; 0) ? 0 :</div>
407
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; ((<span class="keywordtype">double</span>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() /</div>
408
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; elemByteSize &gt;= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>()) ? elemByteSize * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() : <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
409
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, ub);</div>
410
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
411
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
412
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; }</div>
413
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="comment">// Process struct subtype by calculating the byte offset from beginning to the field of struct</span></div>
414
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>* structOperandType = SVFUtil::dyn_cast&lt;SVFStructType&gt;(idxOperandType))</div>
415
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; {</div>
416
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a1f279344b4061838d7b3498631bc907c">getStructFieldOffset</a>(</div>
417
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; idxOperandVar, structOperandType));</div>
418
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div>
419
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">else</span></div>
420
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div>
421
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;gep type pair only support arr/ptr/struct&quot;</span>);</div>
422
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; }</div>
423
- <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; }</div>
424
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> res; <span class="comment">// Return the resulting byte offset as an IntervalValue.</span></div>
425
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;}</div>
387
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00437">437</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
388
+ <div class="fragment"><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;{</div>
389
+ <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">isConstantOffset</a>())</div>
390
+ <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a28a7ca818584abdc2d345b41d592c5dc">accumulateConstantByteOffset</a>());</div>
391
+ <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0); <span class="comment">// Initialize the result interval &#39;res&#39; to 0.</span></div>
392
+ <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="comment">// Loop through the offsetVarAndGepTypePairVec in reverse order.</span></div>
393
+ <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
394
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div>
395
+ <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* idxOperandVar =</div>
396
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].first;</div>
397
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* idxOperandType =</div>
398
+ <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].second;</div>
399
+ <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="comment">// calculating Array/Ptr by elemByteSize * indexOperand</span></div>
400
+ <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFArrayType&gt;(idxOperandType) || SVFUtil::isa&lt;SVFPointerType&gt;(idxOperandType))</div>
401
+ <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; {</div>
402
+ <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> elemByteSize = 1;</div>
403
+ <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>* arrOperandType = SVFUtil::dyn_cast&lt;SVFArrayType&gt;(idxOperandType))</div>
404
+ <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; elemByteSize = arrOperandType-&gt;getTypeOfElement()-&gt;getByteSize();</div>
405
+ <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFPointerType&gt;(idxOperandType))</div>
406
+ <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; elemByteSize = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>();</div>
407
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">else</span></div>
408
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;idxOperandType must be ArrType or PtrType&quot;</span>);</div>
409
+ <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(idxOperandVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()))</div>
410
+ <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
411
+ <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> lb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / elemByteSize &gt;= op-&gt;getSExtValue() ?op-&gt;getSExtValue() * elemByteSize</div>
412
+ <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; : <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
413
+ <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, lb);</div>
414
+ <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div>
415
+ <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">else</span></div>
416
+ <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; {</div>
417
+ <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(idxOperandVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>());</div>
418
+ <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
419
+ <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
420
+ <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
421
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">else</span></div>
422
+ <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; {</div>
423
+ <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="comment">// if lb or ub is negative number, set 0.</span></div>
424
+ <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="comment">// if lb or ub is positive number, guarantee lb/ub * elemByteSize &lt;= MaxFieldLimit</span></div>
425
+ <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> ub = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>() &lt; 0) ? 0 :</div>
426
+ <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; (<span class="keywordtype">double</span>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() /</div>
427
+ <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; elemByteSize &gt;= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>() ? elemByteSize * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
428
+ <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> lb = (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>() &lt; 0) ? 0 :</div>
429
+ <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; ((<span class="keywordtype">double</span>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() /</div>
430
+ <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; elemByteSize &gt;= idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>()) ? elemByteSize * idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>() : <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
431
+ <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lb, ub);</div>
432
+ <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; }</div>
433
+ <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div>
434
+ <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; }</div>
435
+ <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="comment">// Process struct subtype by calculating the byte offset from beginning to the field of struct</span></div>
436
+ <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>* structOperandType = SVFUtil::dyn_cast&lt;SVFStructType&gt;(idxOperandType))</div>
437
+ <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; {</div>
438
+ <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a1f279344b4061838d7b3498631bc907c">getStructFieldOffset</a>(</div>
439
+ <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; idxOperandVar, structOperandType));</div>
440
+ <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; }</div>
441
+ <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">else</span></div>
442
+ <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div>
443
+ <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;gep type pair only support arr/ptr/struct&quot;</span>);</div>
444
+ <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div>
445
+ <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div>
446
+ <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">return</span> res; <span class="comment">// Return the resulting byte offset as an IntervalValue.</span></div>
447
+ <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;}</div>
426
448
  </div><!-- fragment -->
427
449
  </div>
428
450
  </div>
@@ -449,10 +471,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
449
471
  </table>
450
472
  </div><div class="memdoc">
451
473
 
452
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00093">93</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
453
- <div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div>
454
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>();</div>
455
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div>
474
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00102">102</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
475
+ <div class="fragment"><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
476
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">Z3Expr::getContext</a>();</div>
477
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
456
478
  </div><!-- fragment -->
457
479
  </div>
458
480
  </div>
@@ -486,6 +508,112 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
486
508
  </div><!-- fragment -->
487
509
  </div>
488
510
  </div>
511
+ <a id="ad53e6d2fc9d1410df236584bb66c585a"></a>
512
+ <h2 class="memtitle"><span class="permalink"><a href="#ad53e6d2fc9d1410df236584bb66c585a">&#9670;&nbsp;</a></span>getFPToSIntValue()</h2>
513
+
514
+ <div class="memitem">
515
+ <div class="memproto">
516
+ <table class="memname">
517
+ <tr>
518
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getFPToSIntValue </td>
519
+ <td>(</td>
520
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *&#160;</td>
521
+ <td class="paramname"><em>var</em></td><td>)</td>
522
+ <td></td>
523
+ </tr>
524
+ </table>
525
+ </div><div class="memdoc">
526
+
527
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00162">162</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
528
+ <div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;{</div>
529
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].is_real())</div>
530
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div>
531
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">// get the float value of ub and lb</span></div>
532
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordtype">double</span> float_lb = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].lb().getRealNumeral();</div>
533
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">double</span> float_ub = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].ub().getRealNumeral();</div>
534
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="comment">// get the int value of ub and lb</span></div>
535
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> int_lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(float_lb);</div>
536
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> int_ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(float_ub);</div>
537
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(int_lb, int_ub);</div>
538
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div>
539
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">else</span></div>
540
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
541
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a5d65dbc9a43181494a32d41a03065685">getSExtValue</a>(var);</div>
542
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
543
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;}</div>
544
+ </div><!-- fragment -->
545
+ </div>
546
+ </div>
547
+ <a id="a25165fdbe2b56b34ee8ab094bbe89494"></a>
548
+ <h2 class="memtitle"><span class="permalink"><a href="#a25165fdbe2b56b34ee8ab094bbe89494">&#9670;&nbsp;</a></span>getFPToUIntValue()</h2>
549
+
550
+ <div class="memitem">
551
+ <div class="memproto">
552
+ <table class="memname">
553
+ <tr>
554
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getFPToUIntValue </td>
555
+ <td>(</td>
556
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *&#160;</td>
557
+ <td class="paramname"><em>var</em></td><td>)</td>
558
+ <td></td>
559
+ </tr>
560
+ </table>
561
+ </div><div class="memdoc">
562
+
563
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00180">180</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
564
+ <div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div>
565
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].is_real())</div>
566
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div>
567
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="comment">// get the float value of ub and lb</span></div>
568
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">double</span> float_lb = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].lb().getRealNumeral();</div>
569
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordtype">double</span> float_ub = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].ub().getRealNumeral();</div>
570
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="comment">// get the int value of ub and lb</span></div>
571
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> int_lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a><span class="keyword">&gt;</span>(float_lb);</div>
572
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> int_ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a><span class="keyword">&gt;</span>(float_ub);</div>
573
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(int_lb, int_ub);</div>
574
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div>
575
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">else</span></div>
576
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; {</div>
577
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a9cd033e4586788de716f41875ab2b87f">getZExtValue</a>(var);</div>
578
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
579
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div>
580
+ </div><!-- fragment -->
581
+ </div>
582
+ </div>
583
+ <a id="ad633ce5462cf878b4bc9e6e5ab079354"></a>
584
+ <h2 class="memtitle"><span class="permalink"><a href="#ad633ce5462cf878b4bc9e6e5ab079354">&#9670;&nbsp;</a></span>getFPTruncValue()</h2>
585
+
586
+ <div class="memitem">
587
+ <div class="memproto">
588
+ <table class="memname">
589
+ <tr>
590
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getFPTruncValue </td>
591
+ <td>(</td>
592
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *&#160;</td>
593
+ <td class="paramname"><em>var</em>, </td>
594
+ </tr>
595
+ <tr>
596
+ <td class="paramkey"></td>
597
+ <td></td>
598
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *&#160;</td>
599
+ <td class="paramname"><em>dstType</em>&#160;</td>
600
+ </tr>
601
+ <tr>
602
+ <td></td>
603
+ <td>)</td>
604
+ <td></td><td></td>
605
+ </tr>
606
+ </table>
607
+ </div><div class="memdoc">
608
+
609
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00269">269</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
610
+ <div class="fragment"><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;{</div>
611
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="comment">// TODO: now we do not really handle fptrunc</span></div>
612
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()];</div>
613
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;}</div>
614
+ </div><!-- fragment -->
615
+ </div>
616
+ </div>
489
617
  <a id="af8d06156bcbb61beb305ed8096319966"></a>
490
618
  <h2 class="memtitle"><span class="permalink"><a href="#af8d06156bcbb61beb305ed8096319966">&#9670;&nbsp;</a></span>getGepObjAddress()</h2>
491
619
 
@@ -514,26 +642,26 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
514
642
 
515
643
  <p>Return the field address given a pointer points to a struct object and an offset. </p>
516
644
 
517
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00232">232</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
518
- <div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;{</div>
519
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(pointer).empty());</div>
520
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(pointer);</div>
521
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> ret;</div>
522
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
523
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div>
524
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; int64_t baseObj = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
525
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">if</span> (baseObj == 0)</div>
526
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
527
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; ret.insert(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(0));</div>
528
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">continue</span>;</div>
529
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div>
530
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; assert(SVFUtil::isa&lt;ObjVar&gt;(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(baseObj)) &amp;&amp; <span class="stringliteral">&quot;Fail to get the base object address!&quot;</span>);</div>
531
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gepObj = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">getGepObjVar</a>(baseObj, <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
532
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(gepObj);</div>
533
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; ret.insert(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(gepObj));</div>
534
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
535
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> ret;</div>
536
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;}</div>
645
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00394">394</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
646
+ <div class="fragment"><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;{</div>
647
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(pointer).empty());</div>
648
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(pointer);</div>
649
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> ret;</div>
650
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
651
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; {</div>
652
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> baseObj = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
653
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">if</span> (baseObj == 0)</div>
654
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; {</div>
655
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; ret.insert(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(0));</div>
656
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">continue</span>;</div>
657
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; }</div>
658
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; assert(SVFUtil::isa&lt;ObjVar&gt;(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(baseObj)) &amp;&amp; <span class="stringliteral">&quot;Fail to get the base object address!&quot;</span>);</div>
659
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gepObj = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">getGepObjVar</a>(baseObj, <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
660
+ <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(gepObj);</div>
661
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; ret.insert(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(gepObj));</div>
662
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div>
663
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">return</span> ret;</div>
664
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;}</div>
537
665
  </div><!-- fragment -->
538
666
  </div>
539
667
  </div>
@@ -563,10 +691,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
563
691
 
564
692
  <p>Return the internal index if idx is an address otherwise return the value of idx. </p>
565
693
 
566
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00166">166</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
567
- <div class="fragment"><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
568
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">ExeState::getInternalID</a>(idx);</div>
569
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</div>
694
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00175">175</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
695
+ <div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div>
696
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">ExeState::getInternalID</a>(idx);</div>
697
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
570
698
  </div><!-- fragment -->
571
699
  </div>
572
700
  </div>
@@ -596,74 +724,74 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
596
724
  </dl>
597
725
  <dl class="section return"><dt>Returns</dt><dd>A pair of APOffset values representing the offset range. </dd></dl>
598
726
 
599
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00345">345</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
600
- <div class="fragment"><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;{</div>
601
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">isConstantOffset</a>())</div>
602
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a1dd264b9f3b43d04aa1396443ad6ad33">accumulateConstantOffset</a>());</div>
603
- <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0);</div>
604
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
605
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; {</div>
606
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html#a4f482ca73cc6e7b8d946651e2b2ea2ae">AccessPath::IdxOperandPair</a> IdxVarAndType =</div>
607
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i];</div>
608
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value =</div>
609
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].first-&gt;getValue();</div>
610
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = IdxVarAndType.second;</div>
611
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="comment">// idxLb/Ub is the flattened offset generated by the current OffsetVarAndGepTypePair</span></div>
612
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> idxLb;</div>
613
- <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> idxUb;</div>
614
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="comment">// get lb and ub of the index value</span></div>
615
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* constInt = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value))</div>
616
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; idxLb = idxUb = constInt-&gt;getSExtValue();</div>
617
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">else</span></div>
618
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; {</div>
619
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxItv = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value)];</div>
620
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">if</span> (idxItv.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
621
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; idxLb = idxUb = 0;</div>
622
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">else</span></div>
623
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; {</div>
624
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; idxLb = idxItv.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
625
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; idxUb = idxItv.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>();</div>
626
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; }</div>
627
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div>
628
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="comment">// for pointer type, flattened index = elemNum * idx</span></div>
629
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
630
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; {</div>
631
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> elemNum = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a>());</div>
632
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; idxLb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / elemNum &lt; idxLb? <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(): idxLb * elemNum;</div>
633
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; idxUb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / elemNum &lt; idxUb? <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(): idxUb * elemNum;</div>
634
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div>
635
- <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="comment">// for array or struct, get flattened index from SymbolTable Info</span></div>
636
- <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">else</span></div>
637
- <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; {</div>
638
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a429c3000ee2ac45119b8c241aa06762c">Options::ModelArrays</a>())</div>
639
- <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
640
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keyword">const</span> std::vector&lt;u32_t&gt;&amp; so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()</div>
641
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; -&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
642
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; -&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
643
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> (so.empty() || idxUb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size() || idxLb &lt; 0)</div>
644
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div>
645
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; idxLb = idxUb = 0;</div>
646
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div>
647
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">else</span></div>
648
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div>
649
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; idxLb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
650
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, idxLb);</div>
651
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; idxUb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
652
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, idxUb);</div>
653
- <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; }</div>
654
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
655
- <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">else</span></div>
656
- <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; idxLb = idxUb = 0;</div>
657
- <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }</div>
658
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(idxLb, idxUb);</div>
659
- <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }</div>
660
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; res.meet_with(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()));</div>
661
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">if</span> (res.isBottom())</div>
662
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; {</div>
663
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; res = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
664
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; }</div>
665
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> res;</div>
666
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;}</div>
727
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00507">507</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
728
+ <div class="fragment"><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;{</div>
729
+ <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">isConstantOffset</a>())</div>
730
+ <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a1dd264b9f3b43d04aa1396443ad6ad33">accumulateConstantOffset</a>());</div>
731
+ <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> res(0);</div>
732
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
733
+ <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; {</div>
734
+ <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html#a4f482ca73cc6e7b8d946651e2b2ea2ae">AccessPath::IdxOperandPair</a> IdxVarAndType =</div>
735
+ <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i];</div>
736
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value =</div>
737
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">getOffsetVarAndGepTypePairVec</a>()[i].first-&gt;getValue();</div>
738
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = IdxVarAndType.second;</div>
739
+ <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="comment">// idxLb/Ub is the flattened offset generated by the current OffsetVarAndGepTypePair</span></div>
740
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> idxLb;</div>
741
+ <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> idxUb;</div>
742
+ <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="comment">// get lb and ub of the index value</span></div>
743
+ <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* constInt = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value))</div>
744
+ <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; idxLb = idxUb = constInt-&gt;getSExtValue();</div>
745
+ <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">else</span></div>
746
+ <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; {</div>
747
+ <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxItv = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value)];</div>
748
+ <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">if</span> (idxItv.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
749
+ <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; idxLb = idxUb = 0;</div>
750
+ <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">else</span></div>
751
+ <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; {</div>
752
+ <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; idxLb = idxItv.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
753
+ <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; idxUb = idxItv.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>();</div>
754
+ <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; }</div>
755
+ <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; }</div>
756
+ <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="comment">// for pointer type, flattened index = elemNum * idx</span></div>
757
+ <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
758
+ <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; {</div>
759
+ <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> elemNum = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a>());</div>
760
+ <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; idxLb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / elemNum &lt; idxLb? <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(): idxLb * elemNum;</div>
761
+ <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; idxUb = (double)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() / elemNum &lt; idxUb? <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(): idxUb * elemNum;</div>
762
+ <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; }</div>
763
+ <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="comment">// for array or struct, get flattened index from SymbolTable Info</span></div>
764
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">else</span></div>
765
+ <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; {</div>
766
+ <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a429c3000ee2ac45119b8c241aa06762c">Options::ModelArrays</a>())</div>
767
+ <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; {</div>
768
+ <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keyword">const</span> std::vector&lt;u32_t&gt;&amp; so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()</div>
769
+ <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; -&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
770
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; -&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
771
+ <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">if</span> (so.empty() || idxUb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size() || idxLb &lt; 0)</div>
772
+ <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div>
773
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; idxLb = idxUb = 0;</div>
774
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div>
775
+ <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">else</span></div>
776
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; {</div>
777
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; idxLb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
778
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, idxLb);</div>
779
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; idxUb = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
780
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, idxUb);</div>
781
+ <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div>
782
+ <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; }</div>
783
+ <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">else</span></div>
784
+ <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; idxLb = idxUb = 0;</div>
785
+ <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; }</div>
786
+ <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; res = res + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(idxLb, idxUb);</div>
787
+ <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div>
788
+ <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; res.meet_with(<a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)0, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()));</div>
789
+ <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">if</span> (res.isBottom())</div>
790
+ <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; {</div>
791
+ <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; res = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
792
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; }</div>
793
+ <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">return</span> res;</div>
794
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;}</div>
667
795
  </div><!-- fragment -->
668
796
  </div>
669
797
  </div>
@@ -717,13 +845,13 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
717
845
  <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
718
846
  <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (intType-&gt;isSigned())</div>
719
847
  <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div>
720
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;int16_t&gt;::max());</div>
721
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;int16_t&gt;::min());</div>
848
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;s16_t&gt;::max());</div>
849
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;s16_t&gt;::min());</div>
722
850
  <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
723
851
  <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">else</span></div>
724
852
  <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div>
725
- <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;uint16_t&gt;::max());</div>
726
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;uint16_t&gt;::min());</div>
853
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;u16_t&gt;::max());</div>
854
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a><span class="keyword">&gt;</span>(std::numeric_limits&lt;u16_t&gt;::min());</div>
727
855
  <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div>
728
856
  <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
729
857
  <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits == 8)</div>
@@ -787,6 +915,164 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
787
915
  </div><!-- fragment -->
788
916
  </div>
789
917
  </div>
918
+ <a id="a5d65dbc9a43181494a32d41a03065685"></a>
919
+ <h2 class="memtitle"><span class="permalink"><a href="#a5d65dbc9a43181494a32d41a03065685">&#9670;&nbsp;</a></span>getSExtValue()</h2>
920
+
921
+ <div class="memitem">
922
+ <div class="memproto">
923
+ <table class="memname">
924
+ <tr>
925
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getSExtValue </td>
926
+ <td>(</td>
927
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *&#160;</td>
928
+ <td class="paramname"><em>var</em></td><td>)</td>
929
+ <td></td>
930
+ </tr>
931
+ </table>
932
+ </div><div class="memdoc">
933
+
934
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00157">157</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
935
+ <div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;{</div>
936
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()];</div>
937
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;}</div>
938
+ </div><!-- fragment -->
939
+ </div>
940
+ </div>
941
+ <a id="ad3b0ac993ccfb0846f62aeb5eaf62b30"></a>
942
+ <h2 class="memtitle"><span class="permalink"><a href="#ad3b0ac993ccfb0846f62aeb5eaf62b30">&#9670;&nbsp;</a></span>getSIntToFPValue()</h2>
943
+
944
+ <div class="memitem">
945
+ <div class="memproto">
946
+ <table class="memname">
947
+ <tr>
948
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getSIntToFPValue </td>
949
+ <td>(</td>
950
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *&#160;</td>
951
+ <td class="paramname"><em>var</em></td><td>)</td>
952
+ <td></td>
953
+ </tr>
954
+ </table>
955
+ </div><div class="memdoc">
956
+
957
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00198">198</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
958
+ <div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;{</div>
959
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="comment">// get the sint value of ub and lb</span></div>
960
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> sint_lb = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].lb().getIntNumeral();</div>
961
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> sint_ub = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].ub().getIntNumeral();</div>
962
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="comment">// get the float value of ub and lb</span></div>
963
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordtype">double</span> float_lb = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(sint_lb);</div>
964
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordtype">double</span> float_ub = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(sint_ub);</div>
965
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(float_lb, float_ub);</div>
966
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;}</div>
967
+ </div><!-- fragment -->
968
+ </div>
969
+ </div>
970
+ <a id="a15dbee007f3afb718a202f50fa87177f"></a>
971
+ <h2 class="memtitle"><span class="permalink"><a href="#a15dbee007f3afb718a202f50fa87177f">&#9670;&nbsp;</a></span>getTruncValue()</h2>
972
+
973
+ <div class="memitem">
974
+ <div class="memproto">
975
+ <table class="memname">
976
+ <tr>
977
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getTruncValue </td>
978
+ <td>(</td>
979
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *&#160;</td>
980
+ <td class="paramname"><em>var</em>, </td>
981
+ </tr>
982
+ <tr>
983
+ <td class="paramkey"></td>
984
+ <td></td>
985
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *&#160;</td>
986
+ <td class="paramname"><em>dstType</em>&#160;</td>
987
+ </tr>
988
+ <tr>
989
+ <td></td>
990
+ <td>)</td>
991
+ <td></td><td></td>
992
+ </tr>
993
+ </table>
994
+ </div><div class="memdoc">
995
+
996
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00220">220</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
997
+ <div class="fragment"><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;{</div>
998
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="comment">// get the value of ub and lb</span></div>
999
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> int_lb = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].lb().getIntNumeral();</div>
1000
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> int_ub = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].ub().getIntNumeral();</div>
1001
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="comment">// get dst type</span></div>
1002
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> dst_bits = dstType-&gt;<a class="code" href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>() * 8;</div>
1003
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span> (dst_bits == 8)</div>
1004
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
1005
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="comment">// get the signed value of ub and lb</span></div>
1006
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; int8_t s8_lb = <span class="keyword">static_cast&lt;</span>int8_t<span class="keyword">&gt;</span>(int_lb);</div>
1007
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; int8_t s8_ub = <span class="keyword">static_cast&lt;</span>int8_t<span class="keyword">&gt;</span>(int_ub);</div>
1008
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">if</span> (s8_lb &gt; s8_ub)</div>
1009
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div>
1010
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="comment">// return range of s8</span></div>
1011
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1012
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
1013
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(s8_lb, s8_ub);</div>
1014
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
1015
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dst_bits == 16)</div>
1016
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div>
1017
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="comment">// get the signed value of ub and lb</span></div>
1018
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="namespaceSVF.html#a6ce4cf67f8622443c888737d7366a3e9">s16_t</a> s16_lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#a6ce4cf67f8622443c888737d7366a3e9">s16_t</a><span class="keyword">&gt;</span>(int_lb);</div>
1019
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="namespaceSVF.html#a6ce4cf67f8622443c888737d7366a3e9">s16_t</a> s16_ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#a6ce4cf67f8622443c888737d7366a3e9">s16_t</a><span class="keyword">&gt;</span>(int_ub);</div>
1020
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">if</span> (s16_lb &gt; s16_ub)</div>
1021
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div>
1022
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="comment">// return range of s16</span></div>
1023
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1024
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div>
1025
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(s16_lb, s16_ub);</div>
1026
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
1027
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dst_bits == 32)</div>
1028
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div>
1029
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">// get the signed value of ub and lb</span></div>
1030
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> s32_lb = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a><span class="keyword">&gt;</span>(int_lb);</div>
1031
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> s32_ub = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a><span class="keyword">&gt;</span>(int_ub);</div>
1032
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span> (s32_lb &gt; s32_ub)</div>
1033
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
1034
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="comment">// return range of s32</span></div>
1035
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1036
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
1037
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(s32_lb, s32_ub);</div>
1038
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div>
1039
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">else</span></div>
1040
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; {</div>
1041
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;cannot support dst int type other than u8/16/32&quot;</span>);</div>
1042
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div>
1043
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;}</div>
1044
+ </div><!-- fragment -->
1045
+ </div>
1046
+ </div>
1047
+ <a id="aaeef5c66931c38f2ea2002b53b255530"></a>
1048
+ <h2 class="memtitle"><span class="permalink"><a href="#aaeef5c66931c38f2ea2002b53b255530">&#9670;&nbsp;</a></span>getUIntToFPValue()</h2>
1049
+
1050
+ <div class="memitem">
1051
+ <div class="memproto">
1052
+ <table class="memname">
1053
+ <tr>
1054
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getUIntToFPValue </td>
1055
+ <td>(</td>
1056
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *&#160;</td>
1057
+ <td class="paramname"><em>var</em></td><td>)</td>
1058
+ <td></td>
1059
+ </tr>
1060
+ </table>
1061
+ </div><div class="memdoc">
1062
+
1063
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00209">209</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1064
+ <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div>
1065
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="comment">// get the uint value of ub and lb</span></div>
1066
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> uint_lb = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].lb().getIntNumeral();</div>
1067
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> uint_ub = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].ub().getIntNumeral();</div>
1068
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="comment">// get the float value of ub and lb</span></div>
1069
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordtype">double</span> float_lb = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(uint_lb);</div>
1070
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordtype">double</span> float_ub = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(uint_ub);</div>
1071
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(float_lb, float_ub);</div>
1072
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;}</div>
1073
+ </div><!-- fragment -->
1074
+ </div>
1075
+ </div>
790
1076
  <a id="a0c4be1dd8e7a2877c0cc76c404f6945a"></a>
791
1077
  <h2 class="memtitle"><span class="permalink"><a href="#a0c4be1dd8e7a2877c0cc76c404f6945a">&#9670;&nbsp;</a></span>getVirtualMemAddress()</h2>
792
1078
 
@@ -813,11 +1099,110 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
813
1099
 
814
1100
  <p>The physical address starts with 0x7f...... + idx. </p>
815
1101
 
816
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00172">172</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
817
- <div class="fragment"><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
818
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">ExeState::getVirtualMemAddress</a>(idx);</div>
819
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
1102
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00181">181</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1103
+ <div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
1104
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">ExeState::getVirtualMemAddress</a>(idx);</div>
1105
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div>
820
1106
  </div><!-- fragment -->
1107
+ </div>
1108
+ </div>
1109
+ <a id="a9cd033e4586788de716f41875ab2b87f"></a>
1110
+ <h2 class="memtitle"><span class="permalink"><a href="#a9cd033e4586788de716f41875ab2b87f">&#9670;&nbsp;</a></span>getZExtValue() <span class="overload">[1/2]</span></h2>
1111
+
1112
+ <div class="memitem">
1113
+ <div class="memproto">
1114
+ <table class="memname">
1115
+ <tr>
1116
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVFIR2ItvExeState::getZExtValue </td>
1117
+ <td>(</td>
1118
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *&#160;</td>
1119
+ <td class="paramname"><em>var</em></td><td>)</td>
1120
+ <td></td>
1121
+ </tr>
1122
+ </table>
1123
+ </div><div class="memdoc">
1124
+
1125
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00112">112</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1126
+ <div class="fragment"><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;{</div>
1127
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = var-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>();</div>
1128
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFIntegerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
1129
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
1130
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> bits = <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getByteSize() * 8;</div>
1131
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].is_numeral())</div>
1132
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; {</div>
1133
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span> (bits == 8)</div>
1134
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
1135
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; int8_t signed_i8_value = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].getIntNumeral();</div>
1136
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> unsigned_value = <span class="keyword">static_cast&lt;</span>uint8_t<span class="keyword">&gt;</span>(signed_i8_value);</div>
1137
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(unsigned_value, unsigned_value);</div>
1138
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
1139
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits == 16)</div>
1140
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div>
1141
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF.html#a6ce4cf67f8622443c888737d7366a3e9">s16_t</a> signed_i16_value = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].getIntNumeral();</div>
1142
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> unsigned_value = <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceSVF.html#a7c3a917e8b1d3253982e0a1a37b74d93">u16_t</a><span class="keyword">&gt;</span>(signed_i16_value);</div>
1143
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(unsigned_value, unsigned_value);</div>
1144
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
1145
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits == 32)</div>
1146
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; {</div>
1147
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> signed_i32_value = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].getIntNumeral();</div>
1148
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> unsigned_value = <span class="keyword">static_cast&lt;</span><a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a><span class="keyword">&gt;</span>(signed_i32_value);</div>
1149
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(unsigned_value, unsigned_value);</div>
1150
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div>
1151
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (bits == 64)</div>
1152
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
1153
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> signed_i64_value = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[var-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()].getIntNumeral();</div>
1154
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>((<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)signed_i64_value, (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)signed_i64_value);</div>
1155
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// we only support i64 at most</span></div>
1156
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div>
1157
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">else</span></div>
1158
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div>
1159
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;cannot support int type other than u8/16/32/64&quot;</span>);</div>
1160
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div>
1161
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div>
1162
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">else</span></div>
1163
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
1164
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>(); <span class="comment">// TODO: may have better solution</span></div>
1165
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div>
1166
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
1167
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;cannot support non-integer type&quot;</span>);</div>
1168
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;}</div>
1169
+ </div><!-- fragment -->
1170
+ </div>
1171
+ </div>
1172
+ <a id="a1fba1d6d8b8d4de37e644ee229a0e5c5"></a>
1173
+ <h2 class="memtitle"><span class="permalink"><a href="#a1fba1d6d8b8d4de37e644ee229a0e5c5">&#9670;&nbsp;</a></span>getZExtValue() <span class="overload">[2/2]</span></h2>
1174
+
1175
+ <div class="memitem">
1176
+ <div class="memproto">
1177
+ <table class="mlabels">
1178
+ <tr>
1179
+ <td class="mlabels-left">
1180
+ <table class="memname">
1181
+ <tr>
1182
+ <td class="memname"><a class="el" href="classSVF_1_1IntervalValue.html">IntervalValue</a> SVF::SVFIR2ItvExeState::getZExtValue </td>
1183
+ <td>(</td>
1184
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *&#160;</td>
1185
+ <td class="paramname"><em>var</em>, </td>
1186
+ </tr>
1187
+ <tr>
1188
+ <td class="paramkey"></td>
1189
+ <td></td>
1190
+ <td class="paramtype">const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *&#160;</td>
1191
+ <td class="paramname">&#160;</td>
1192
+ </tr>
1193
+ <tr>
1194
+ <td></td>
1195
+ <td>)</td>
1196
+ <td></td><td></td>
1197
+ </tr>
1198
+ </table>
1199
+ </td>
1200
+ <td class="mlabels-right">
1201
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
1202
+ </tr>
1203
+ </table>
1204
+ </div><div class="memdoc">
1205
+
821
1206
  </div>
822
1207
  </div>
823
1208
  <a id="a646fa58f61db6abd98d0a04af1fab88d"></a>
@@ -856,36 +1241,36 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
856
1241
  </dl>
857
1242
  <p>constant data</p>
858
1243
 
859
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00420">420</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
860
- <div class="fragment"><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;{</div>
861
- <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; </div>
862
- <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
863
- <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; {</div>
864
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</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>
865
- <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</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>
866
- <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; {</div>
867
- <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *consInt = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
868
- <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; {</div>
869
- <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordtype">double</span> numeral = (double)consInt-&gt;getSExtValue();</div>
870
- <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(numeral, numeral);</div>
871
- <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; }</div>
872
- <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>* consFP = SVFUtil::dyn_cast&lt;SVFConstantFP&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
873
- <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(consFP-&gt;getFPValue(), consFP-&gt;getFPValue());</div>
874
- <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFConstantNullPtr&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
875
- <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
876
- <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFGlobalValue&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
877
- <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
878
- <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (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>
879
- <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
880
- <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">else</span></div>
881
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
882
- <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div>
883
- <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">else</span></div>
884
- <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
885
- <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; }</div>
886
- <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">else</span></div>
887
- <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
888
- <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;}</div>
1244
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00582">582</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1245
+ <div class="fragment"><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160;{</div>
1246
+ <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; </div>
1247
+ <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
1248
+ <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; {</div>
1249
+ <div class="line"><a name="l00587"></a><span class="lineno"> 587</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>
1250
+ <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</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>
1251
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; {</div>
1252
+ <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *consInt = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
1253
+ <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; {</div>
1254
+ <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> numeral = consInt-&gt;getSExtValue();</div>
1255
+ <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(numeral, numeral);</div>
1256
+ <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; }</div>
1257
+ <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>* consFP = SVFUtil::dyn_cast&lt;SVFConstantFP&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
1258
+ <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(consFP-&gt;getFPValue(), consFP-&gt;getFPValue());</div>
1259
+ <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFConstantNullPtr&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
1260
+ <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1261
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFGlobalValue&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
1262
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
1263
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (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>
1264
+ <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1265
+ <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">else</span></div>
1266
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1267
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; }</div>
1268
+ <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">else</span></div>
1269
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
1270
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; }</div>
1271
+ <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">else</span></div>
1272
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
1273
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160;}</div>
889
1274
  </div><!-- fragment -->
890
1275
  </div>
891
1276
  </div>
@@ -907,22 +1292,22 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
907
1292
 
908
1293
  <p>Init <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>. </p>
909
1294
 
910
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00452">452</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
911
- <div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;{</div>
912
- <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(varId) || <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(varId)) <span class="keywordflow">return</span>;</div>
913
- <div class="line"><a name="l00455"></a><span class="lineno"> 455</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>
914
- <div class="line"><a name="l00456"></a><span class="lineno"> 456</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>
915
- <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
916
- <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <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>
917
- <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; {</div>
918
- <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">initObjVar</a>(objVar, varId);</div>
919
- <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span>;</div>
920
- <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
921
- <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">else</span></div>
922
- <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; {</div>
923
- <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not an obj var?&quot;</span>);</div>
924
- <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div>
925
- <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;}</div>
1295
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00614">614</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1296
+ <div class="fragment"><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;{</div>
1297
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(varId) || <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(varId)) <span class="keywordflow">return</span>;</div>
1298
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</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>
1299
+ <div class="line"><a name="l00618"></a><span class="lineno"> 618</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>
1300
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
1301
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <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>
1302
+ <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; {</div>
1303
+ <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">initObjVar</a>(objVar, varId);</div>
1304
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">return</span>;</div>
1305
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; }</div>
1306
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">else</span></div>
1307
+ <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; {</div>
1308
+ <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not an obj var?&quot;</span>);</div>
1309
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; }</div>
1310
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;}</div>
926
1311
  </div><!-- fragment -->
927
1312
  </div>
928
1313
  </div>
@@ -952,10 +1337,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
952
1337
 
953
1338
  <p>whether the memory address stores memory addresses </p>
954
1339
 
955
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00136">136</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
956
- <div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; {</div>
957
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">inLocToAddrsTable</a>(<span class="keywordtype">id</span>);</div>
958
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div>
1340
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00145">145</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1341
+ <div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div>
1342
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">inLocToAddrsTable</a>(<span class="keywordtype">id</span>);</div>
1343
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div>
959
1344
  </div><!-- fragment -->
960
1345
  </div>
961
1346
  </div>
@@ -985,10 +1370,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
985
1370
 
986
1371
  <p>whether the memory address stores a interval value </p>
987
1372
 
988
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00130">130</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
989
- <div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; {</div>
990
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a50aee49f7f34e05f7e2cb28ae55099f8">inLocToValTable</a>(<span class="keywordtype">id</span>);</div>
991
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; }</div>
1373
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00139">139</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1374
+ <div class="fragment"><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
1375
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a50aee49f7f34e05f7e2cb28ae55099f8">inLocToValTable</a>(<span class="keywordtype">id</span>);</div>
1376
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
992
1377
  </div><!-- fragment -->
993
1378
  </div>
994
1379
  </div>
@@ -1018,10 +1403,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1018
1403
 
1019
1404
  <p>whether the variable is in varToAddrs table </p>
1020
1405
 
1021
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00123">123</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1022
- <div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
1023
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(<span class="keywordtype">id</span>);</div>
1024
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
1406
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00132">132</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1407
+ <div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; {</div>
1408
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(<span class="keywordtype">id</span>);</div>
1409
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
1025
1410
  </div><!-- fragment -->
1026
1411
  </div>
1027
1412
  </div>
@@ -1051,10 +1436,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1051
1436
 
1052
1437
  <p>whether the variable is in varToVal table </p>
1053
1438
 
1054
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00117">117</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1055
- <div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
1056
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aab316a63c25483eefc38bed0a86a0e7e">inVarToValTable</a>(<span class="keywordtype">id</span>);</div>
1057
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
1439
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00126">126</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1440
+ <div class="fragment"><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div>
1441
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aab316a63c25483eefc38bed0a86a0e7e">inVarToValTable</a>(<span class="keywordtype">id</span>);</div>
1442
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
1058
1443
  </div><!-- fragment -->
1059
1444
  </div>
1060
1445
  </div>
@@ -1084,10 +1469,10 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1084
1469
 
1085
1470
  <p>Check bit value of val start with 0x7F000000, filter by 0xFF000000. </p>
1086
1471
 
1087
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00178">178</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1088
- <div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; {</div>
1089
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">ExeState::isVirtualMemAddress</a>(val);</div>
1090
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div>
1472
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00187">187</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
1473
+ <div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div>
1474
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">ExeState::isVirtualMemAddress</a>(val);</div>
1475
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div>
1091
1476
  </div><!-- fragment -->
1092
1477
  </div>
1093
1478
  </div>
@@ -1106,32 +1491,32 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1106
1491
  </table>
1107
1492
  </div><div class="memdoc">
1108
1493
 
1109
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00133">133</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1110
- <div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div>
1111
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>)</div>
1112
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
1113
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.insert(it);</div>
1114
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
1115
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>)</div>
1116
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
1117
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.insert(it);</div>
1118
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div>
1119
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;_varToVAddr: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
1120
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div>
1121
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.insert(_varToVAddr);</div>
1122
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
1123
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;_locToVAddr: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
1124
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div>
1125
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.insert(_locToVAddr);</div>
1126
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div>
1127
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
1128
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.clear();</div>
1129
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.erase(<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;getBlkPtr());</div>
1130
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3b417ee79560fd00f4cf80906044c198">getBlkPtr</a>()] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1131
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.clear();</div>
1132
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.clear();</div>
1133
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.clear();</div>
1134
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</div>
1494
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00295">295</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1495
+ <div class="fragment"><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;{</div>
1496
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>)</div>
1497
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
1498
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.insert(it);</div>
1499
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div>
1500
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>)</div>
1501
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
1502
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.insert(it);</div>
1503
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
1504
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;_varToVAddr: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
1505
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div>
1506
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.insert(_varToVAddr);</div>
1507
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div>
1508
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;_locToVAddr: <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
1509
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
1510
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.insert(_locToVAddr);</div>
1511
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div>
1512
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; </div>
1513
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.clear();</div>
1514
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>.erase(<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;getBlkPtr());</div>
1515
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">_varToItvVal</a>[<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3b417ee79560fd00f4cf80906044c198">getBlkPtr</a>()] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1516
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">_locToItvVal</a>.clear();</div>
1517
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.clear();</div>
1518
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.clear();</div>
1519
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;}</div>
1135
1520
  </div><!-- fragment -->
1136
1521
  </div>
1137
1522
  </div>
@@ -1161,39 +1546,39 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1161
1546
  </table>
1162
1547
  </div><div class="memdoc">
1163
1548
 
1164
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00198">198</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1165
- <div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;{</div>
1166
- <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;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
1167
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div>
1168
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(rhsItem.first);</div>
1169
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
1170
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
1171
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: lhsIter-&gt;second)</div>
1172
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div>
1173
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">if</span> (!rhsItem.second.contains(addr))</div>
1174
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
1175
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; lhsIter-&gt;second = rhsItem.second;</div>
1176
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">break</span>;</div>
1177
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
1178
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div>
1179
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div>
1180
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div>
1181
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
1182
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
1183
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(rhsItem.first);</div>
1184
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
1185
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div>
1186
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: lhsIter-&gt;second)</div>
1187
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div>
1188
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">if</span> (!rhsItem.second.contains(addr))</div>
1189
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
1190
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; lhsIter-&gt;second = rhsItem.second;</div>
1191
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">break</span>;</div>
1192
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
1193
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div>
1194
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; }</div>
1195
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div>
1196
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;}</div>
1549
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00360">360</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1550
+ <div class="fragment"><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;{</div>
1551
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
1552
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
1553
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(rhsItem.first);</div>
1554
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
1555
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; {</div>
1556
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: lhsIter-&gt;second)</div>
1557
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div>
1558
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">if</span> (!rhsItem.second.contains(addr))</div>
1559
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div>
1560
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; lhsIter-&gt;second = rhsItem.second;</div>
1561
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">break</span>;</div>
1562
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div>
1563
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
1564
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div>
1565
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div>
1566
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
1567
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; {</div>
1568
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(rhsItem.first);</div>
1569
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
1570
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; {</div>
1571
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: lhsIter-&gt;second)</div>
1572
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; {</div>
1573
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">if</span> (!rhsItem.second.contains(addr))</div>
1574
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
1575
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; lhsIter-&gt;second = rhsItem.second;</div>
1576
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">break</span>;</div>
1577
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; }</div>
1578
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }</div>
1579
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; }</div>
1580
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div>
1581
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;}</div>
1197
1582
  </div><!-- fragment -->
1198
1583
  </div>
1199
1584
  </div>
@@ -1275,30 +1660,30 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1275
1660
  </table>
1276
1661
  </div><div class="memdoc">
1277
1662
 
1278
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00470">470</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1279
- <div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;{</div>
1280
- <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1281
- <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1282
- <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div>
1283
- <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="comment">// if addr RHS is integerType(i8 i32 etc), value should be limited.</span></div>
1284
- <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">if</span> (addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">getRHSVar</a>()-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a4bc7962d519c1c0380b5a6a144c91c51">getKind</a>() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a>)</div>
1285
- <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; {</div>
1286
- <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()].meet_with(</div>
1287
- <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">getRangeLimitFromType</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">getRHSVar</a>()-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>()));</div>
1288
- <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; }</div>
1289
- <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()] = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()];</div>
1290
- <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; </div>
1291
- <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div>
1292
- <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1293
- <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; {</div>
1294
- <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()) = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(</div>
1295
- <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1296
- <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }</div>
1297
- <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">else</span></div>
1298
- <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; {</div>
1299
- <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not number or virtual addrs?&quot;</span>);</div>
1300
- <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; }</div>
1301
- <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;}</div>
1663
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00632">632</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1664
+ <div class="fragment"><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;{</div>
1665
+ <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1666
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1667
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div>
1668
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="comment">// if addr RHS is integerType(i8 i32 etc), value should be limited.</span></div>
1669
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">if</span> (addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">getRHSVar</a>()-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a4bc7962d519c1c0380b5a6a144c91c51">getKind</a>() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a>)</div>
1670
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; {</div>
1671
+ <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()].meet_with(</div>
1672
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">getRangeLimitFromType</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">getRHSVar</a>()-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>()));</div>
1673
+ <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; }</div>
1674
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()] = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()];</div>
1675
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; </div>
1676
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; }</div>
1677
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1678
+ <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; {</div>
1679
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()) = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(</div>
1680
+ <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1681
+ <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; }</div>
1682
+ <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">else</span></div>
1683
+ <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; {</div>
1684
+ <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not number or virtual addrs?&quot;</span>);</div>
1685
+ <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; }</div>
1686
+ <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;}</div>
1302
1687
  </div><!-- fragment -->
1303
1688
  </div>
1304
1689
  </div>
@@ -1318,67 +1703,67 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1318
1703
  </table>
1319
1704
  </div><div class="memdoc">
1320
1705
 
1321
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00496">496</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1322
- <div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;{</div>
1323
- <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> op0 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1324
- <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> op1 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1325
- <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> res = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1326
- <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op0)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1327
- <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op1)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1328
- <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op1))</div>
1329
- <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; {</div>
1330
- <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1331
- <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1332
- <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">switch</span> (binary-&gt;<a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
1333
- <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div>
1334
- <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
1335
- <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
1336
- <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; resVal = (lhs + rhs);</div>
1337
- <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">break</span>;</div>
1338
- <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
1339
- <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
1340
- <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; resVal = (lhs - rhs);</div>
1341
- <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">break</span>;</div>
1342
- <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
1343
- <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
1344
- <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; resVal = (lhs * rhs);</div>
1345
- <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">break</span>;</div>
1346
- <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
1347
- <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
1348
- <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
1349
- <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; resVal = (lhs / rhs);</div>
1350
- <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">break</span>;</div>
1351
- <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
1352
- <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
1353
- <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
1354
- <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; resVal = (lhs % rhs);</div>
1355
- <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">break</span>;</div>
1356
- <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
1357
- <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; resVal = (lhs ^ rhs);</div>
1358
- <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">break</span>;</div>
1359
- <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
1360
- <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; resVal = (lhs &amp; rhs);</div>
1361
- <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">break</span>;</div>
1362
- <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
1363
- <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; resVal = (lhs | rhs);</div>
1364
- <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">break</span>;</div>
1365
- <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
1366
- <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1367
- <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">break</span>;</div>
1368
- <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
1369
- <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; resVal = (lhs &lt;&lt; rhs);</div>
1370
- <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">break</span>;</div>
1371
- <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
1372
- <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1373
- <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">break</span>;</div>
1374
- <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">default</span>:</div>
1375
- <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; {</div>
1376
- <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined binary: &quot;</span>);</div>
1377
- <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; }</div>
1378
- <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; }</div>
1379
- <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1380
- <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; }</div>
1381
- <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;}</div>
1706
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00658">658</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1707
+ <div class="fragment"><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;{</div>
1708
+ <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> op0 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1709
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> op1 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1710
+ <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> res = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1711
+ <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op0)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1712
+ <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op1)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1713
+ <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op1))</div>
1714
+ <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; {</div>
1715
+ <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1716
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1717
+ <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">switch</span> (binary-&gt;<a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
1718
+ <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; {</div>
1719
+ <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
1720
+ <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
1721
+ <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; resVal = (lhs + rhs);</div>
1722
+ <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">break</span>;</div>
1723
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
1724
+ <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
1725
+ <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; resVal = (lhs - rhs);</div>
1726
+ <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">break</span>;</div>
1727
+ <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
1728
+ <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
1729
+ <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; resVal = (lhs * rhs);</div>
1730
+ <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">break</span>;</div>
1731
+ <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
1732
+ <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
1733
+ <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
1734
+ <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; resVal = (lhs / rhs);</div>
1735
+ <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">break</span>;</div>
1736
+ <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
1737
+ <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
1738
+ <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
1739
+ <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; resVal = (lhs % rhs);</div>
1740
+ <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">break</span>;</div>
1741
+ <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
1742
+ <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; resVal = (lhs ^ rhs);</div>
1743
+ <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">break</span>;</div>
1744
+ <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
1745
+ <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; resVal = (lhs &amp; rhs);</div>
1746
+ <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">break</span>;</div>
1747
+ <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
1748
+ <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; resVal = (lhs | rhs);</div>
1749
+ <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">break</span>;</div>
1750
+ <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
1751
+ <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1752
+ <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">break</span>;</div>
1753
+ <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
1754
+ <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; resVal = (lhs &lt;&lt; rhs);</div>
1755
+ <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">break</span>;</div>
1756
+ <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
1757
+ <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1758
+ <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">break</span>;</div>
1759
+ <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">default</span>:</div>
1760
+ <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; {</div>
1761
+ <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined binary: &quot;</span>);</div>
1762
+ <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; }</div>
1763
+ <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; }</div>
1764
+ <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1765
+ <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div>
1766
+ <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;}</div>
1382
1767
  </div><!-- fragment -->
1383
1768
  </div>
1384
1769
  </div>
@@ -1474,20 +1859,20 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1474
1859
  </table>
1475
1860
  </div><div class="memdoc">
1476
1861
 
1477
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00931">931</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1478
- <div class="fragment"><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;{</div>
1479
- <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1480
- <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1481
- <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
1482
- <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; {</div>
1483
- <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1484
- <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; }</div>
1485
- <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1486
- <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; {</div>
1487
- <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
1488
- <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
1489
- <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; }</div>
1490
- <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;}</div>
1862
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l01125">1125</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1863
+ <div class="fragment"><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;{</div>
1864
+ <div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1865
+ <div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1866
+ <div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
1867
+ <div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; {</div>
1868
+ <div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1869
+ <div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; }</div>
1870
+ <div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1871
+ <div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160; {</div>
1872
+ <div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
1873
+ <div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
1874
+ <div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; }</div>
1875
+ <div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;}</div>
1491
1876
  </div><!-- fragment -->
1492
1877
  </div>
1493
1878
  </div>
@@ -1540,189 +1925,189 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1540
1925
  </table>
1541
1926
  </div><div class="memdoc">
1542
1927
 
1543
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00558">558</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1544
- <div class="fragment"><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;{</div>
1545
- <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> op0 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1546
- <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> op1 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1547
- <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> res = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1548
- <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op1))</div>
1549
- <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; {</div>
1550
- <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1551
- <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1552
- <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1553
- <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1554
- <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div>
1555
- <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1556
- <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1557
- <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1558
- <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; resVal = (lhs == rhs);</div>
1559
- <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">break</span>;</div>
1560
- <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1561
- <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1562
- <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1563
- <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; resVal = (lhs != rhs);</div>
1564
- <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keywordflow">break</span>;</div>
1565
- <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1566
- <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1567
- <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1568
- <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1569
- <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; resVal = (lhs &gt; rhs);</div>
1570
- <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">break</span>;</div>
1571
- <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1572
- <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1573
- <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1574
- <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1575
- <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; resVal = (lhs &gt;= rhs);</div>
1576
- <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">break</span>;</div>
1577
- <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1578
- <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1579
- <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1580
- <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1581
- <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; resVal = (lhs &lt; rhs);</div>
1582
- <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">break</span>;</div>
1583
- <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1584
- <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1585
- <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1586
- <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1587
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; resVal = (lhs &lt;= rhs);</div>
1588
- <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">break</span>;</div>
1589
- <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1590
- <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1591
- <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">break</span>;</div>
1592
- <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1593
- <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1594
- <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">break</span>;</div>
1595
- <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">default</span>:</div>
1596
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; {</div>
1597
- <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1598
- <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; }</div>
1599
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; }</div>
1600
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1601
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; }</div>
1602
- <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op1))</div>
1603
- <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; {</div>
1604
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1605
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(op0), &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(op1);</div>
1606
- <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; assert(!lhs.empty() &amp;&amp; !rhs.empty() &amp;&amp; <span class="stringliteral">&quot;empty address?&quot;</span>);</div>
1607
- <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1608
- <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1609
- <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; {</div>
1610
- <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1611
- <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1612
- <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1613
- <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; {</div>
1614
- <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1615
- <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; {</div>
1616
- <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.equals(rhs));</div>
1617
- <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; }</div>
1618
- <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">else</span></div>
1619
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; {</div>
1620
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1621
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div>
1622
- <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1623
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; }</div>
1624
- <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">else</span></div>
1625
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; {</div>
1626
- <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
1627
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; }</div>
1628
- <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div>
1629
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">break</span>;</div>
1630
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; }</div>
1631
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1632
- <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1633
- <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1634
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div>
1635
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1636
- <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; {</div>
1637
- <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
1638
- <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; }</div>
1639
- <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordflow">else</span></div>
1640
- <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; {</div>
1641
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1642
- <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; {</div>
1643
- <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1644
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; }</div>
1645
- <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordflow">else</span></div>
1646
- <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; {</div>
1647
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
1648
- <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; }</div>
1649
- <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; }</div>
1650
- <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">break</span>;</div>
1651
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; }</div>
1652
- <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1653
- <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1654
- <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1655
- <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1656
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; {</div>
1657
- <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1658
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; {</div>
1659
- <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt; *rhs.begin());</div>
1660
- <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; }</div>
1661
- <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">else</span></div>
1662
- <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; {</div>
1663
- <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1664
- <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; }</div>
1665
- <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">break</span>;</div>
1666
- <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; }</div>
1667
- <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1668
- <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1669
- <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1670
- <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1671
- <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; {</div>
1672
- <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1673
- <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; {</div>
1674
- <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt;= *rhs.begin());</div>
1675
- <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div>
1676
- <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">else</span></div>
1677
- <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div>
1678
- <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1679
- <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; }</div>
1680
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">break</span>;</div>
1681
- <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; }</div>
1682
- <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1683
- <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1684
- <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1685
- <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1686
- <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div>
1687
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1688
- <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; {</div>
1689
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt; *rhs.begin());</div>
1690
- <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; }</div>
1691
- <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keywordflow">else</span></div>
1692
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; {</div>
1693
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1694
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; }</div>
1695
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">break</span>;</div>
1696
- <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; }</div>
1697
- <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1698
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1699
- <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1700
- <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1701
- <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; {</div>
1702
- <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1703
- <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; {</div>
1704
- <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt;= *rhs.begin());</div>
1705
- <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; }</div>
1706
- <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keywordflow">else</span></div>
1707
- <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; {</div>
1708
- <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1709
- <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; }</div>
1710
- <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">break</span>;</div>
1711
- <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; }</div>
1712
- <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1713
- <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1714
- <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">break</span>;</div>
1715
- <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1716
- <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1717
- <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">break</span>;</div>
1718
- <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">default</span>:</div>
1719
- <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; {</div>
1720
- <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1721
- <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; }</div>
1722
- <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; }</div>
1723
- <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1724
- <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; }</div>
1725
- <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;}</div>
1928
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00720">720</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1929
+ <div class="fragment"><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;{</div>
1930
+ <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> op0 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1931
+ <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> op1 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1932
+ <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> res = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1933
+ <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(op1))</div>
1934
+ <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; {</div>
1935
+ <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1936
+ <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1937
+ <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1938
+ <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1939
+ <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; {</div>
1940
+ <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1941
+ <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1942
+ <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1943
+ <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; resVal = (lhs == rhs);</div>
1944
+ <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordflow">break</span>;</div>
1945
+ <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1946
+ <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1947
+ <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1948
+ <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; resVal = (lhs != rhs);</div>
1949
+ <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">break</span>;</div>
1950
+ <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1951
+ <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1952
+ <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1953
+ <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1954
+ <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; resVal = (lhs &gt; rhs);</div>
1955
+ <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">break</span>;</div>
1956
+ <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1957
+ <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1958
+ <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1959
+ <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1960
+ <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; resVal = (lhs &gt;= rhs);</div>
1961
+ <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">break</span>;</div>
1962
+ <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1963
+ <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1964
+ <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1965
+ <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1966
+ <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; resVal = (lhs &lt; rhs);</div>
1967
+ <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">break</span>;</div>
1968
+ <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1969
+ <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1970
+ <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1971
+ <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1972
+ <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; resVal = (lhs &lt;= rhs);</div>
1973
+ <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">break</span>;</div>
1974
+ <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1975
+ <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1976
+ <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">break</span>;</div>
1977
+ <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1978
+ <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1979
+ <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">break</span>;</div>
1980
+ <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordflow">default</span>:</div>
1981
+ <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; {</div>
1982
+ <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1983
+ <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; }</div>
1984
+ <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; }</div>
1985
+ <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1986
+ <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; }</div>
1987
+ <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op1))</div>
1988
+ <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; {</div>
1989
+ <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1990
+ <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(op0), &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(op1);</div>
1991
+ <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; assert(!lhs.empty() &amp;&amp; !rhs.empty() &amp;&amp; <span class="stringliteral">&quot;empty address?&quot;</span>);</div>
1992
+ <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1993
+ <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1994
+ <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; {</div>
1995
+ <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1996
+ <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1997
+ <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1998
+ <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; {</div>
1999
+ <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
2000
+ <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div>
2001
+ <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.equals(rhs));</div>
2002
+ <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; }</div>
2003
+ <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">else</span></div>
2004
+ <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; {</div>
2005
+ <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
2006
+ <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; {</div>
2007
+ <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
2008
+ <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; }</div>
2009
+ <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">else</span></div>
2010
+ <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; {</div>
2011
+ <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
2012
+ <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; }</div>
2013
+ <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; }</div>
2014
+ <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keywordflow">break</span>;</div>
2015
+ <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; }</div>
2016
+ <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
2017
+ <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
2018
+ <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
2019
+ <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; {</div>
2020
+ <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
2021
+ <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; {</div>
2022
+ <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
2023
+ <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; }</div>
2024
+ <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">else</span></div>
2025
+ <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; {</div>
2026
+ <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
2027
+ <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; {</div>
2028
+ <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
2029
+ <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; }</div>
2030
+ <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordflow">else</span></div>
2031
+ <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; {</div>
2032
+ <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
2033
+ <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; }</div>
2034
+ <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; }</div>
2035
+ <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">break</span>;</div>
2036
+ <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; }</div>
2037
+ <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
2038
+ <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
2039
+ <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
2040
+ <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
2041
+ <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; {</div>
2042
+ <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
2043
+ <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; {</div>
2044
+ <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt; *rhs.begin());</div>
2045
+ <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; }</div>
2046
+ <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="keywordflow">else</span></div>
2047
+ <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; {</div>
2048
+ <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
2049
+ <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; }</div>
2050
+ <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="keywordflow">break</span>;</div>
2051
+ <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; }</div>
2052
+ <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
2053
+ <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
2054
+ <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
2055
+ <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
2056
+ <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; {</div>
2057
+ <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
2058
+ <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; {</div>
2059
+ <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt;= *rhs.begin());</div>
2060
+ <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; }</div>
2061
+ <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <span class="keywordflow">else</span></div>
2062
+ <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; {</div>
2063
+ <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
2064
+ <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; }</div>
2065
+ <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <span class="keywordflow">break</span>;</div>
2066
+ <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; }</div>
2067
+ <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
2068
+ <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
2069
+ <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
2070
+ <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
2071
+ <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; {</div>
2072
+ <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
2073
+ <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; {</div>
2074
+ <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt; *rhs.begin());</div>
2075
+ <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; }</div>
2076
+ <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keywordflow">else</span></div>
2077
+ <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; {</div>
2078
+ <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
2079
+ <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; }</div>
2080
+ <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="keywordflow">break</span>;</div>
2081
+ <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; }</div>
2082
+ <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
2083
+ <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
2084
+ <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
2085
+ <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
2086
+ <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; {</div>
2087
+ <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
2088
+ <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; {</div>
2089
+ <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt;= *rhs.begin());</div>
2090
+ <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; }</div>
2091
+ <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">else</span></div>
2092
+ <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; {</div>
2093
+ <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
2094
+ <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; }</div>
2095
+ <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <span class="keywordflow">break</span>;</div>
2096
+ <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; }</div>
2097
+ <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
2098
+ <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
2099
+ <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keywordflow">break</span>;</div>
2100
+ <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
2101
+ <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
2102
+ <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordflow">break</span>;</div>
2103
+ <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keywordflow">default</span>:</div>
2104
+ <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; {</div>
2105
+ <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
2106
+ <div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; }</div>
2107
+ <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; }</div>
2108
+ <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
2109
+ <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; }</div>
2110
+ <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160;}</div>
1726
2111
  </div><!-- fragment -->
1727
2112
  </div>
1728
2113
  </div>
@@ -1819,35 +2204,67 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1819
2204
  </table>
1820
2205
  </div><div class="memdoc">
1821
2206
 
1822
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00813">813</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1823
- <div class="fragment"><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160;{</div>
1824
- <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVarID();</div>
1825
- <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVarID();</div>
1826
- <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;isBlkPtr(lhs))</div>
1827
- <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; {</div>
1828
- <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1829
- <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; }</div>
1830
- <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordflow">else</span></div>
1831
- <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; {</div>
1832
- <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
1833
- <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; {</div>
1834
- <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1835
- <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="comment">// if copy LHS is integerType(i8 i32 etc), value should be limited.</span></div>
1836
- <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="comment">// this branch can handle bitcast from higher bits integer to</span></div>
1837
- <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="comment">// lower bits integer. e.g. bitcast i32 to i8</span></div>
1838
- <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVar()-&gt;getType()-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a>)</div>
1839
- <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; {</div>
1840
- <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs].meet_with(</div>
1841
- <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">getRangeLimitFromType</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVar()-&gt;getType()));</div>
1842
- <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; }</div>
1843
- <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; }</div>
1844
- <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1845
- <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; {</div>
1846
- <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
1847
- <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
1848
- <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; }</div>
1849
- <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; }</div>
1850
- <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160;}</div>
2207
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00975">975</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2208
+ <div class="fragment"><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;{</div>
2209
+ <div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVarID();</div>
2210
+ <div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVarID();</div>
2211
+ <div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;isBlkPtr(lhs))</div>
2212
+ <div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; {</div>
2213
+ <div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
2214
+ <div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; }</div>
2215
+ <div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keywordflow">else</span></div>
2216
+ <div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; {</div>
2217
+ <div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
2218
+ <div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; {</div>
2219
+ <div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getCopyKind() == <a class="code" href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a3fbb25d7761cca1dd44e06e41e5570c9">CopyStmt::COPYVAL</a>)</div>
2220
+ <div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; {</div>
2221
+ <div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
2222
+ <div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; }</div>
2223
+ <div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getCopyKind() == <a class="code" href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a16c9ba88473e39f9a105b74b016af046">CopyStmt::ZEXT</a>)</div>
2224
+ <div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; {</div>
2225
+ <div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a9cd033e4586788de716f41875ab2b87f">getZExtValue</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVar());</div>
2226
+ <div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; }</div>
2227
+ <div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getCopyKind() == <a class="code" href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1ab55ad5d331f6e4a69f8e2f0d95e5d3a1">CopyStmt::SEXT</a>)</div>
2228
+ <div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; {</div>
2229
+ <div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a5d65dbc9a43181494a32d41a03065685">getSExtValue</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVar());</div>
2230
+ <div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; }</div>
2231
+ <div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getCopyKind() == <a class="code" href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a975798ea3aeb2a77cc8858c712611afe">CopyStmt::FPTOSI</a>)</div>
2232
+ <div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; {</div>
2233
+ <div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ad53e6d2fc9d1410df236584bb66c585a">getFPToSIntValue</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVar());</div>
2234
+ <div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; }</div>
2235
+ <div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getCopyKind() == <a class="code" href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a80a8638b1b7a7057fb4cd577e1949f6c">CopyStmt::FPTOUI</a>)</div>
2236
+ <div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; {</div>
2237
+ <div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a25165fdbe2b56b34ee8ab094bbe89494">getFPToUIntValue</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVar());</div>
2238
+ <div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; }</div>
2239
+ <div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getCopyKind() == <a class="code" href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a78bc561098a07651f94e72bffa895e16">CopyStmt::SITOFP</a>)</div>
2240
+ <div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; {</div>
2241
+ <div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ad3b0ac993ccfb0846f62aeb5eaf62b30">getSIntToFPValue</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVar());</div>
2242
+ <div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; }</div>
2243
+ <div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getCopyKind() == <a class="code" href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a821cd6daeaee15b117b41a272f743ff1">CopyStmt::UITOFP</a>)</div>
2244
+ <div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; {</div>
2245
+ <div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aaeef5c66931c38f2ea2002b53b255530">getUIntToFPValue</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVar());</div>
2246
+ <div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; }</div>
2247
+ <div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getCopyKind() == <a class="code" href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1ab2b2f7dffed3d446a147fc7a27e66dd8">CopyStmt::TRUNC</a>)</div>
2248
+ <div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; {</div>
2249
+ <div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a15dbee007f3afb718a202f50fa87177f">getTruncValue</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVar(), <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVar()-&gt;getType());</div>
2250
+ <div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; }</div>
2251
+ <div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getCopyKind() == <a class="code" href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1ab364378cef751d1bca631f3bfacd0658">CopyStmt::FPTRUNC</a>)</div>
2252
+ <div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; {</div>
2253
+ <div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ad633ce5462cf878b4bc9e6e5ab079354">getFPTruncValue</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVar(), <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVar()-&gt;getType());</div>
2254
+ <div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; }</div>
2255
+ <div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="keywordflow">else</span></div>
2256
+ <div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; {</div>
2257
+ <div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined copy kind&quot;</span>);</div>
2258
+ <div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; abort();</div>
2259
+ <div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; }</div>
2260
+ <div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; }</div>
2261
+ <div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2262
+ <div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; {</div>
2263
+ <div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
2264
+ <div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
2265
+ <div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; }</div>
2266
+ <div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; }</div>
2267
+ <div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;}</div>
1851
2268
  </div><!-- fragment -->
1852
2269
  </div>
1853
2270
  </div>
@@ -1900,31 +2317,31 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1900
2317
  </table>
1901
2318
  </div><div class="memdoc">
1902
2319
 
1903
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00843">843</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1904
- <div class="fragment"><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;{</div>
1905
- <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> rhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1906
- <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> lhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1907
- <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs)) <span class="keywordflow">return</span>;</div>
1908
- <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
1909
- <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;rhsVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
1910
- <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="keywordflow">if</span> (rhsVal.empty()) <span class="keywordflow">return</span>;</div>
1911
- <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> offsetPair = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">getItvOfFlattenedElemIndex</a>(gep);</div>
1912
- <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">isVirtualMemAddress</a>(*rhsVal.begin()))</div>
1913
- <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <span class="keywordflow">return</span>;</div>
1914
- <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">else</span></div>
1915
- <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; {</div>
1916
- <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> gepAddrs;</div>
1917
- <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> lb = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
1918
- <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
1919
- <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> ub = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>() &lt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
1920
- <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
1921
- <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> i = lb; i &lt;= ub; i++)</div>
1922
- <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; gepAddrs.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a>(rhs, i));</div>
1923
- <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
1924
- <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = gepAddrs;</div>
1925
- <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="keywordflow">return</span>;</div>
1926
- <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; }</div>
1927
- <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;}</div>
2320
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l01037">1037</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2321
+ <div class="fragment"><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;{</div>
2322
+ <div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> rhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2323
+ <div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> lhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2324
+ <div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs)) <span class="keywordflow">return</span>;</div>
2325
+ <div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
2326
+ <div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;rhsVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
2327
+ <div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="keywordflow">if</span> (rhsVal.empty()) <span class="keywordflow">return</span>;</div>
2328
+ <div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> offsetPair = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">getItvOfFlattenedElemIndex</a>(gep);</div>
2329
+ <div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">isVirtualMemAddress</a>(*rhsVal.begin()))</div>
2330
+ <div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="keywordflow">return</span>;</div>
2331
+ <div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keywordflow">else</span></div>
2332
+ <div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; {</div>
2333
+ <div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> gepAddrs;</div>
2334
+ <div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> lb = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>() &lt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
2335
+ <div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
2336
+ <div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> ub = offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>() &lt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>()?</div>
2337
+ <div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; offsetPair.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">getIntNumeral</a>(): <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
2338
+ <div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> i = lb; i &lt;= ub; i++)</div>
2339
+ <div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; gepAddrs.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a>(rhs, i));</div>
2340
+ <div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
2341
+ <div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = gepAddrs;</div>
2342
+ <div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <span class="keywordflow">return</span>;</div>
2343
+ <div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; }</div>
2344
+ <div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;}</div>
1928
2345
  </div><!-- fragment -->
1929
2346
  </div>
1930
2347
  </div>
@@ -1944,47 +2361,47 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
1944
2361
  </table>
1945
2362
  </div><div class="memdoc">
1946
2363
 
1947
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00742">742</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1948
- <div class="fragment"><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;{</div>
1949
- <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> rhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1950
- <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> lhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1951
- <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1952
- <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; {</div>
1953
- <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
1954
- <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; assert(!addrs.empty());</div>
1955
- <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
1956
- <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
1957
- <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keywordtype">bool</span> isVal = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
1958
- <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
1959
- <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; {</div>
1960
- <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
1961
- <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a808fdc8ff7637d1c9515e71815548983">inLocToValTable</a>(objId))</div>
1962
- <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; {</div>
1963
- <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a960ec3359dfcb5e89fb66120c868ac5e">load</a>(addr));</div>
1964
- <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; isVal = <span class="keyword">true</span>;</div>
1965
- <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; }</div>
1966
- <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a>(objId))</div>
1967
- <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; {</div>
1968
- <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">loadAddrs</a>(addr));</div>
1969
- <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; isAddr = <span class="keyword">true</span>;</div>
1970
- <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; }</div>
1971
- <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; }</div>
1972
- <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keywordflow">if</span> (isVal)</div>
1973
- <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; {</div>
1974
- <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="comment">// lhs var is an integer</span></div>
1975
- <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = rhsItv;</div>
1976
- <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; }</div>
1977
- <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
1978
- <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; {</div>
1979
- <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="comment">// lhs var is an address</span></div>
1980
- <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = rhsAddr;</div>
1981
- <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; }</div>
1982
- <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">else</span></div>
1983
- <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; {</div>
1984
- <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="comment">// rhs not initialized, e.g., absence of a store before load</span></div>
1985
- <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div>
1986
- <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; }</div>
1987
- <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;}</div>
2364
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00904">904</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2365
+ <div class="fragment"><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;{</div>
2366
+ <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> rhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2367
+ <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> lhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2368
+ <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2369
+ <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; {</div>
2370
+ <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
2371
+ <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; assert(!addrs.empty());</div>
2372
+ <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2373
+ <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
2374
+ <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; <span class="keywordtype">bool</span> isVal = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
2375
+ <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2376
+ <div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; {</div>
2377
+ <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2378
+ <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a808fdc8ff7637d1c9515e71815548983">inLocToValTable</a>(objId))</div>
2379
+ <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; {</div>
2380
+ <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a960ec3359dfcb5e89fb66120c868ac5e">load</a>(addr));</div>
2381
+ <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; isVal = <span class="keyword">true</span>;</div>
2382
+ <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; }</div>
2383
+ <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a>(objId))</div>
2384
+ <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; {</div>
2385
+ <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">loadAddrs</a>(addr));</div>
2386
+ <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; isAddr = <span class="keyword">true</span>;</div>
2387
+ <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div>
2388
+ <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div>
2389
+ <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">if</span> (isVal)</div>
2390
+ <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; {</div>
2391
+ <div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="comment">// lhs var is an integer</span></div>
2392
+ <div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = rhsItv;</div>
2393
+ <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; }</div>
2394
+ <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
2395
+ <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; {</div>
2396
+ <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="comment">// lhs var is an address</span></div>
2397
+ <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = rhsAddr;</div>
2398
+ <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; }</div>
2399
+ <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keywordflow">else</span></div>
2400
+ <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; {</div>
2401
+ <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="comment">// rhs not initialized, e.g., absence of a store before load</span></div>
2402
+ <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; }</div>
2403
+ <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; }</div>
2404
+ <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;}</div>
1988
2405
  </div><!-- fragment -->
1989
2406
  </div>
1990
2407
  </div>
@@ -2037,38 +2454,38 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2037
2454
  </table>
2038
2455
  </div><div class="memdoc">
2039
2456
 
2040
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00897">897</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2041
- <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;{</div>
2042
- <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> res = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2043
- <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2044
- <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
2045
- <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keywordtype">bool</span> isVal = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
2046
- <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> i = 0; i &lt; phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
2047
- <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; {</div>
2048
- <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> curId = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(i);</div>
2049
- <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(curId))</div>
2050
- <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; {</div>
2051
- <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[curId]);</div>
2052
- <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; isVal = <span class="keyword">true</span>;</div>
2053
- <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; }</div>
2054
- <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(curId))</div>
2055
- <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; {</div>
2056
- <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(curId).empty());</div>
2057
- <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(curId));</div>
2058
- <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; isAddr = <span class="keyword">true</span>;</div>
2059
- <div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; }</div>
2060
- <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; }</div>
2061
- <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <span class="keywordflow">if</span> (isVal)</div>
2062
- <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; {</div>
2063
- <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="comment">// res var is an integer</span></div>
2064
- <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = rhsItv;</div>
2065
- <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; }</div>
2066
- <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
2067
- <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; {</div>
2068
- <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="comment">// res var is an address</span></div>
2069
- <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(res) = rhsAddr;</div>
2070
- <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div>
2071
- <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;}</div>
2457
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l01091">1091</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2458
+ <div class="fragment"><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;{</div>
2459
+ <div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> res = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2460
+ <div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> rhsItv = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2461
+ <div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; <a class="code" href="classSVF_1_1AddressValue.html">AddressValue</a> rhsAddr;</div>
2462
+ <div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; <span class="keywordtype">bool</span> isVal = <span class="keyword">false</span>, isAddr = <span class="keyword">false</span>;</div>
2463
+ <div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> i = 0; i &lt; phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
2464
+ <div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; {</div>
2465
+ <div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> curId = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(i);</div>
2466
+ <div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(curId))</div>
2467
+ <div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; {</div>
2468
+ <div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; rhsItv.<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[curId]);</div>
2469
+ <div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; isVal = <span class="keyword">true</span>;</div>
2470
+ <div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; }</div>
2471
+ <div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(curId))</div>
2472
+ <div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; {</div>
2473
+ <div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(curId).empty());</div>
2474
+ <div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; rhsAddr.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(curId));</div>
2475
+ <div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; isAddr = <span class="keyword">true</span>;</div>
2476
+ <div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; }</div>
2477
+ <div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; }</div>
2478
+ <div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; <span class="keywordflow">if</span> (isVal)</div>
2479
+ <div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160; {</div>
2480
+ <div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160; <span class="comment">// res var is an integer</span></div>
2481
+ <div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = rhsItv;</div>
2482
+ <div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; }</div>
2483
+ <div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isAddr)</div>
2484
+ <div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; {</div>
2485
+ <div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; <span class="comment">// res var is an address</span></div>
2486
+ <div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(res) = rhsAddr;</div>
2487
+ <div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; }</div>
2488
+ <div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;}</div>
2072
2489
  </div><!-- fragment -->
2073
2490
  </div>
2074
2491
  </div>
@@ -2157,20 +2574,20 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2157
2574
  </table>
2158
2575
  </div><div class="memdoc">
2159
2576
 
2160
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00946">946</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2161
- <div class="fragment"><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;{</div>
2162
- <div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2163
- <div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2164
- <div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
2165
- <div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; {</div>
2166
- <div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
2167
- <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; }</div>
2168
- <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2169
- <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div>
2170
- <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
2171
- <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
2172
- <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; }</div>
2173
- <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;}</div>
2577
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l01140">1140</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2578
+ <div class="fragment"><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;{</div>
2579
+ <div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2580
+ <div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2581
+ <div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
2582
+ <div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; {</div>
2583
+ <div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
2584
+ <div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; }</div>
2585
+ <div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2586
+ <div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; {</div>
2587
+ <div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
2588
+ <div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs);</div>
2589
+ <div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; }</div>
2590
+ <div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;}</div>
2174
2591
  </div><!-- fragment -->
2175
2592
  </div>
2176
2593
  </div>
@@ -2223,33 +2640,33 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2223
2640
  </table>
2224
2641
  </div><div class="memdoc">
2225
2642
 
2226
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00869">869</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2227
- <div class="fragment"><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;{</div>
2228
- <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> res = select-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2229
- <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> tval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">getTrueValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2230
- <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> fval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">getFalseValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2231
- <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> cond = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">getCondition</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2232
- <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(cond))</div>
2233
- <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; {</div>
2234
- <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2235
- <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; {</div>
2236
- <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[fval] : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[tval];</div>
2237
- <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; }</div>
2238
- <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keywordflow">else</span></div>
2239
- <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; {</div>
2240
- <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond];</div>
2241
- <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; }</div>
2242
- <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; }</div>
2243
- <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(cond))</div>
2244
- <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; {</div>
2245
- <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2246
- <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; {</div>
2247
- <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(fval).empty());</div>
2248
- <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(tval).empty());</div>
2249
- <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(res) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(fval) : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(tval);</div>
2250
- <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; }</div>
2251
- <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; }</div>
2252
- <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;}</div>
2643
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l01063">1063</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2644
+ <div class="fragment"><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;{</div>
2645
+ <div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> res = select-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2646
+ <div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> tval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">getTrueValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2647
+ <div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> fval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">getFalseValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2648
+ <div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> cond = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">getCondition</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2649
+ <div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(cond))</div>
2650
+ <div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; {</div>
2651
+ <div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2652
+ <div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; {</div>
2653
+ <div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[fval] : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[tval];</div>
2654
+ <div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; }</div>
2655
+ <div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; <span class="keywordflow">else</span></div>
2656
+ <div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; {</div>
2657
+ <div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond];</div>
2658
+ <div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; }</div>
2659
+ <div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; }</div>
2660
+ <div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(cond))</div>
2661
+ <div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; {</div>
2662
+ <div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2663
+ <div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; {</div>
2664
+ <div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(fval).empty());</div>
2665
+ <div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(tval).empty());</div>
2666
+ <div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">getAddrs</a>(res) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(fval) : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(tval);</div>
2667
+ <div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; }</div>
2668
+ <div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; }</div>
2669
+ <div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;}</div>
2253
2670
  </div><!-- fragment -->
2254
2671
  </div>
2255
2672
  </div>
@@ -2311,34 +2728,34 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2311
2728
  </table>
2312
2729
  </div><div class="memdoc">
2313
2730
 
2314
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00784">784</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2315
- <div class="fragment"><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;{</div>
2316
- <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> rhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2317
- <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> lhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2318
- <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2319
- <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; {</div>
2320
- <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
2321
- <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; {</div>
2322
- <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs).empty());</div>
2323
- <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs);</div>
2324
- <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2325
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; {</div>
2326
- <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">store</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs]);</div>
2327
- <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; }</div>
2328
- <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; }</div>
2329
- <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2330
- <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; {</div>
2331
- <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs).empty());</div>
2332
- <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs);</div>
2333
- <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2334
- <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; {</div>
2335
- <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
2336
- <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a99f4437a7e350fec131d48f52082d672">storeAddrs</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs));</div>
2337
- <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; }</div>
2338
- <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; </div>
2339
- <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; }</div>
2340
- <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; }</div>
2341
- <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;}</div>
2731
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00946">946</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2732
+ <div class="fragment"><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;{</div>
2733
+ <div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> rhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2734
+ <div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> lhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2735
+ <div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2736
+ <div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; {</div>
2737
+ <div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">inVarToValTable</a>(rhs))</div>
2738
+ <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; {</div>
2739
+ <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs).empty());</div>
2740
+ <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs);</div>
2741
+ <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2742
+ <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; {</div>
2743
+ <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">store</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs]);</div>
2744
+ <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; }</div>
2745
+ <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; }</div>
2746
+ <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2747
+ <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; {</div>
2748
+ <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs).empty());</div>
2749
+ <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">Addrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(lhs);</div>
2750
+ <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2751
+ <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; {</div>
2752
+ <div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs).empty());</div>
2753
+ <div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#a99f4437a7e350fec131d48f52082d672">storeAddrs</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(rhs));</div>
2754
+ <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; }</div>
2755
+ <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; </div>
2756
+ <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; }</div>
2757
+ <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; }</div>
2758
+ <div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160;}</div>
2342
2759
  </div><!-- fragment -->
2343
2760
  </div>
2344
2761
  </div>
@@ -2403,43 +2820,43 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2403
2820
  </table>
2404
2821
  </div><div class="memdoc">
2405
2822
 
2406
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00160">160</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2407
- <div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div>
2408
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
2409
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div>
2410
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(rhsItem.first);</div>
2411
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
2412
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div>
2413
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: rhsItem.second)</div>
2414
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div>
2415
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span> (!lhsIter-&gt;second.contains(addr))</div>
2416
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; {</div>
2417
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2418
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div>
2419
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2420
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
2421
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
2422
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
2423
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
2424
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
2425
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
2426
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div>
2427
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(rhsItem.first);</div>
2428
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
2429
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div>
2430
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: rhsItem.second)</div>
2431
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; {</div>
2432
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">if</span> (!lhsIter-&gt;second.contains(addr))</div>
2433
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div>
2434
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2435
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; {</div>
2436
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2437
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div>
2438
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
2439
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
2440
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
2441
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
2442
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div>
2823
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00322">322</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2824
+ <div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;{</div>
2825
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>)</div>
2826
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; {</div>
2827
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.find(rhsItem.first);</div>
2828
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">_varToAddrs</a>.end())</div>
2829
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; {</div>
2830
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: rhsItem.second)</div>
2831
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div>
2832
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">if</span> (!lhsIter-&gt;second.contains(addr))</div>
2833
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; {</div>
2834
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2835
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div>
2836
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2837
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div>
2838
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div>
2839
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div>
2840
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; }</div>
2841
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; }</div>
2842
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;rhsItem: rhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>)</div>
2843
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div>
2844
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keyword">auto</span> lhsIter = lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.find(rhsItem.first);</div>
2845
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">if</span> (lhsIter != lhs.<a class="code" href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">_locToAddrs</a>.end())</div>
2846
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {</div>
2847
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: rhsItem.second)</div>
2848
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div>
2849
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">if</span> (!lhsIter-&gt;second.contains(addr))</div>
2850
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div>
2851
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2852
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; {</div>
2853
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2854
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div>
2855
+ <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div>
2856
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div>
2857
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div>
2858
+ <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; }</div>
2859
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;}</div>
2443
2860
  </div><!-- fragment -->
2444
2861
  </div>
2445
2862
  </div>
@@ -2464,7 +2881,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2464
2881
  </table>
2465
2882
  </div><div class="memdoc">
2466
2883
 
2467
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00208">208</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2884
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00217">217</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2468
2885
 
2469
2886
  </div>
2470
2887
  </div>
@@ -2488,7 +2905,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2488
2905
  </table>
2489
2906
  </div><div class="memdoc">
2490
2907
 
2491
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00205">205</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2908
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00214">214</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2492
2909
 
2493
2910
  </div>
2494
2911
  </div>
@@ -2512,7 +2929,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2512
2929
  </table>
2513
2930
  </div><div class="memdoc">
2514
2931
 
2515
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00206">206</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2932
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00215">215</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2516
2933
 
2517
2934
  </div>
2518
2935
  </div>
@@ -2536,7 +2953,7 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2536
2953
  </table>
2537
2954
  </div><div class="memdoc">
2538
2955
 
2539
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00204">204</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2956
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8h_source.html#l00213">213</a> of file <a class="el" href="SVFIR2ItvExeState_8h_source.html">SVFIR2ItvExeState.h</a>.</p>
2540
2957
 
2541
2958
  </div>
2542
2959
  </div>
@@ -2573,163 +2990,183 @@ for 3rd pair &lt;%var1, [2xi32]&gt;, it is %var1'th element in array [2xi32] = 4
2573
2990
  </ul>
2574
2991
  </div><!-- contents -->
2575
2992
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a1f279344b4061838d7b3498631bc907c"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a1f279344b4061838d7b3498631bc907c">SVF::AccessPath::getStructFieldOffset</a></div><div class="ttdeci">u32_t getStructFieldOffset(const SVFVar *idxOperandVar, const SVFStructType *idxOperandType) const</div><div class="ttdoc">Return byte offset from the beginning of the structure to the field where it is located for struct ty...</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00164">AccessPath.cpp:164</a></div></div>
2576
- <div class="ttc" id="anamespaceSVF_html_a5c4820681ef340339ddded756eb82ae1"><div class="ttname"><a href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">SVF::APOffset</a></div><div class="ttdeci">s64_t APOffset</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00056">GeneralType.h:56</a></div></div>
2577
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">SVF::CmpStmt::FCMP_UNE</a></div><div class="ttdeci">@ FCMP_UNE</div><div class="ttdoc">1 1 1 0 True if unordered or not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00916">SVFStatements.h:916</a></div></div>
2578
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a808fdc8ff7637d1c9515e71815548983"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a808fdc8ff7637d1c9515e71815548983">SVF::SVFIR2ItvExeState::inLocToValTable</a></div><div class="ttdeci">bool inLocToValTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores a interval value</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00130">SVFIR2ItvExeState.h:130</a></div></div>
2993
+ <div class="ttc" id="anamespaceSVF_html_a5c4820681ef340339ddded756eb82ae1"><div class="ttname"><a href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">SVF::APOffset</a></div><div class="ttdeci">s64_t APOffset</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00060">GeneralType.h:60</a></div></div>
2994
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">SVF::CmpStmt::FCMP_UNE</a></div><div class="ttdeci">@ FCMP_UNE</div><div class="ttdoc">1 1 1 0 True if unordered or not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00926">SVFStatements.h:926</a></div></div>
2995
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a808fdc8ff7637d1c9515e71815548983"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a808fdc8ff7637d1c9515e71815548983">SVF::SVFIR2ItvExeState::inLocToValTable</a></div><div class="ttdeci">bool inLocToValTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores a interval value</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00139">SVFIR2ItvExeState.h:139</a></div></div>
2579
2996
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a4bc7962d519c1c0380b5a6a144c91c51"><div class="ttname"><a href="classSVF_1_1SVFType.html#a4bc7962d519c1c0380b5a6a144c91c51">SVF::SVFType::getKind</a></div><div class="ttdeci">GNodeK getKind() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00213">SVFType.h:213</a></div></div>
2580
2997
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a95b8031f1e15d49c7d68628be1d05aae"><div class="ttname"><a href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">SVF::SVFType::getByteSize</a></div><div class="ttdeci">u32_t getByteSize() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00244">SVFType.h:244</a></div></div>
2581
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae48cc31474d2c1cbc581b8f7ed433a14"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">SVF::SVFIR2ItvExeState::isVirtualMemAddress</a></div><div class="ttdeci">static 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="SVFIR2ItvExeState_8h_source.html#l00178">SVFIR2ItvExeState.h:178</a></div></div>
2582
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">SVF::BinaryOPStmt::FRem</a></div><div class="ttdeci">@ FRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00997">SVFStatements.h:997</a></div></div>
2583
- <div class="ttc" id="aclassSVF_1_1GepStmt_html_a28a7ca818584abdc2d345b41d592c5dc"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a28a7ca818584abdc2d345b41d592c5dc">SVF::GepStmt::accumulateConstantByteOffset</a></div><div class="ttdeci">APOffset accumulateConstantByteOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00522">SVFStatements.h:522</a></div></div>
2998
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae48cc31474d2c1cbc581b8f7ed433a14"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">SVF::SVFIR2ItvExeState::isVirtualMemAddress</a></div><div class="ttdeci">static 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="SVFIR2ItvExeState_8h_source.html#l00187">SVFIR2ItvExeState.h:187</a></div></div>
2999
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">SVF::BinaryOPStmt::FRem</a></div><div class="ttdeci">@ FRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01007">SVFStatements.h:1007</a></div></div>
3000
+ <div class="ttc" id="aclassSVF_1_1GepStmt_html_a28a7ca818584abdc2d345b41d592c5dc"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a28a7ca818584abdc2d345b41d592c5dc">SVF::GepStmt::accumulateConstantByteOffset</a></div><div class="ttdeci">APOffset accumulateConstantByteOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00532">SVFStatements.h:532</a></div></div>
2584
3001
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afbb9ff1f2c47d2afda117bf63a80a1a7"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">SVF::SVFIR2ItvExeState::getRangeLimitFromType</a></div><div class="ttdeci">IntervalValue getRangeLimitFromType(const SVFType *type)</div><div class="ttdoc">Return the value range of Integer SVF Type, e.g. unsigned i8 Type-&gt;[0, 255], signed i8 Type-&gt;[-128,...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00050">SVFIR2ItvExeState.cpp:50</a></div></div>
2585
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">SVF::BinaryOPStmt::FMul</a></div><div class="ttdeci">@ FMul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00991">SVFStatements.h:991</a></div></div>
2586
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">SVF::BinaryOPStmt::URem</a></div><div class="ttdeci">@ URem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00995">SVFStatements.h:995</a></div></div>
3002
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">SVF::BinaryOPStmt::FMul</a></div><div class="ttdeci">@ FMul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01001">SVFStatements.h:1001</a></div></div>
3003
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">SVF::BinaryOPStmt::URem</a></div><div class="ttdeci">@ URem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01005">SVFStatements.h:1005</a></div></div>
2587
3004
  <div class="ttc" id="aclassSVF_1_1RelExeState_html_a3a2d5de4c61fab8b277308a186795a13"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3a2d5de4c61fab8b277308a186795a13">SVF::RelExeState::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="RelExeState_8cpp_source.html#l00170">RelExeState.cpp:170</a></div></div>
2588
3005
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a960ec3359dfcb5e89fb66120c868ac5e"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a960ec3359dfcb5e89fb66120c868ac5e">SVF::IntervalExeState::load</a></div><div class="ttdeci">IntervalValue &amp; load(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00549">IntervalExeState.h:549</a></div></div>
2589
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">SVF::CmpStmt::FCMP_OLT</a></div><div class="ttdeci">@ FCMP_OLT</div><div class="ttdoc">0 1 0 0 True if ordered and less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00906">SVFStatements.h:906</a></div></div>
3006
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">SVF::CmpStmt::FCMP_OLT</a></div><div class="ttdeci">@ FCMP_OLT</div><div class="ttdoc">0 1 0 0 True if ordered and less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00916">SVFStatements.h:916</a></div></div>
2590
3007
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a056e0db56033ac4dc041e6d82d614dbd"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a056e0db56033ac4dc041e6d82d614dbd">SVF::IntervalExeState::getAddrs</a></div><div class="ttdeci">Addrs &amp; getAddrs(u32_t id) override</div><div class="ttdoc">get memory addresses of variable</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00454">IntervalExeState.h:454</a></div></div>
2591
3008
  <div class="ttc" id="aCommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
2592
3009
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a7b4921dea37246f0f08dffa7db384a61"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">SVF::AccessPath::gepSrcPointeeType</a></div><div class="ttdeci">const SVFType * gepSrcPointeeType() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00112">AccessPath.h:112</a></div></div>
2593
- <div class="ttc" id="aclassSVF_1_1SelectStmt_html_af64d7855e352a0afb5d2e98a8622a4ad"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">SVF::SelectStmt::getFalseValue</a></div><div class="ttdeci">const SVFVar * getFalseValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00875">SVFStatements.h:875</a></div></div>
3010
+ <div class="ttc" id="anamespaceSVF_html_a7c3a917e8b1d3253982e0a1a37b74d93"><div class="ttname"><a href="namespaceSVF.html#a7c3a917e8b1d3253982e0a1a37b74d93">SVF::u16_t</a></div><div class="ttdeci">unsigned short u16_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00052">GeneralType.h:52</a></div></div>
3011
+ <div class="ttc" id="aclassSVF_1_1SelectStmt_html_af64d7855e352a0afb5d2e98a8622a4ad"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">SVF::SelectStmt::getFalseValue</a></div><div class="ttdeci">const SVFVar * getFalseValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00885">SVFStatements.h:885</a></div></div>
2594
3012
  <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a5c6efcc023e90ef2e618586091958c59"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">SVF::MultiOpndStmt::getOpVarID</a></div><div class="ttdeci">NodeID getOpVarID(u32_t pos) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00284">SVFStatements.cpp:284</a></div></div>
2595
3013
  <div class="ttc" id="aclassSVF_1_1AddressValue_html_acad5216bdc02a234d57abfe9ae72a12a"><div class="ttname"><a href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">SVF::AddressValue::join_with</a></div><div class="ttdeci">bool join_with(const AddressValue &amp;other)</div><div class="ttdoc">Current AddressValue joins with another AddressValue.</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00141">AddressValue.h:141</a></div></div>
2596
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">SVF::CmpStmt::FCMP_FALSE</a></div><div class="ttdeci">@ FCMP_FALSE</div><div class="ttdoc">0 0 0 0 Always false (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00902">SVFStatements.h:902</a></div></div>
3014
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">SVF::CmpStmt::FCMP_FALSE</a></div><div class="ttdeci">@ FCMP_FALSE</div><div class="ttdoc">0 0 0 0 Always false (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00912">SVFStatements.h:912</a></div></div>
2597
3015
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a43514023a4f4d0c32f536f51443b0efc"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const SVFValue *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00137">IRGraph.h:137</a></div></div>
2598
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">SVF::CmpStmt::FCMP_OLE</a></div><div class="ttdeci">@ FCMP_OLE</div><div class="ttdoc">0 1 0 1 True if ordered and less than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00907">SVFStatements.h:907</a></div></div>
3016
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">SVF::CmpStmt::FCMP_OLE</a></div><div class="ttdeci">@ FCMP_OLE</div><div class="ttdoc">0 1 0 1 True if ordered and less than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00917">SVFStatements.h:917</a></div></div>
2599
3017
  <div class="ttc" id="aclassSVF_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>
2600
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral &amp; lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00218">IntervalValue.h:218</a></div></div>
2601
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">SVF::CmpStmt::ICMP_ULT</a></div><div class="ttdeci">@ ICMP_ULT</div><div class="ttdoc">unsigned less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00925">SVFStatements.h:925</a></div></div>
3018
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral &amp; lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00220">IntervalValue.h:220</a></div></div>
3019
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">SVF::CmpStmt::ICMP_ULT</a></div><div class="ttdeci">@ ICMP_ULT</div><div class="ttdoc">unsigned less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00935">SVFStatements.h:935</a></div></div>
2602
3020
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVF::SVFType::SVFIntegerTy</a></div><div class="ttdeci">@ SVFIntegerTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00169">SVFType.h:169</a></div></div>
2603
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8380eb5e2424c8c7bd290962f04a17ba"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">SVF::SVFIR2ItvExeState::inVarToValTable</a></div><div class="ttdeci">bool inVarToValTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToVal table</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00117">SVFIR2ItvExeState.h:117</a></div></div>
2604
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">SVF::BinaryOPStmt::Xor</a></div><div class="ttdeci">@ Xor</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01003">SVFStatements.h:1003</a></div></div>
3021
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8380eb5e2424c8c7bd290962f04a17ba"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8380eb5e2424c8c7bd290962f04a17ba">SVF::SVFIR2ItvExeState::inVarToValTable</a></div><div class="ttdeci">bool inVarToValTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToVal table</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00126">SVFIR2ItvExeState.h:126</a></div></div>
3022
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">SVF::BinaryOPStmt::Xor</a></div><div class="ttdeci">@ Xor</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01013">SVFStatements.h:1013</a></div></div>
2605
3023
  <div class="ttc" id="aclassSVF_1_1ExeState_html_abfaad70395d9f4416f297887c84f7df4"><div class="ttname"><a href="classSVF_1_1ExeState.html#abfaad70395d9f4416f297887c84f7df4">SVF::ExeState::isVirtualMemAddress</a></div><div class="ttdeci">static 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#l00278">ExeState.h:278</a></div></div>
2606
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">SVF::BinaryOPStmt::Sub</a></div><div class="ttdeci">@ Sub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00988">SVFStatements.h:988</a></div></div>
2607
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a4359c73e131a44f899c694fad25b7e1a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">SVF::SVFIR2ItvExeState::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00204">SVFIR2ItvExeState.h:204</a></div></div>
2608
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">SVF::CmpStmt::ICMP_UGE</a></div><div class="ttdeci">@ ICMP_UGE</div><div class="ttdoc">unsigned greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00924">SVFStatements.h:924</a></div></div>
3024
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ad633ce5462cf878b4bc9e6e5ab079354"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ad633ce5462cf878b4bc9e6e5ab079354">SVF::SVFIR2ItvExeState::getFPTruncValue</a></div><div class="ttdeci">IntervalValue getFPTruncValue(const SVFVar *var, const SVFType *dstType)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00269">SVFIR2ItvExeState.cpp:269</a></div></div>
3025
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">SVF::BinaryOPStmt::Sub</a></div><div class="ttdeci">@ Sub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00998">SVFStatements.h:998</a></div></div>
3026
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a4359c73e131a44f899c694fad25b7e1a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">SVF::SVFIR2ItvExeState::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00213">SVFIR2ItvExeState.h:213</a></div></div>
3027
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">SVF::CmpStmt::ICMP_UGE</a></div><div class="ttdeci">@ ICMP_UGE</div><div class="ttdoc">unsigned greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00934">SVFStatements.h:934</a></div></div>
2609
3028
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_aab316a63c25483eefc38bed0a86a0e7e"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#aab316a63c25483eefc38bed0a86a0e7e">SVF::IntervalExeState::inVarToValTable</a></div><div class="ttdeci">bool inVarToValTable(u32_t id) const override</div><div class="ttdoc">whether the variable is in varToVal table</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00483">IntervalExeState.h:483</a></div></div>
2610
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">SVF::BinaryOPStmt::Or</a></div><div class="ttdeci">@ Or</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01002">SVFStatements.h:1002</a></div></div>
2611
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">SVF::BinaryOPStmt::Shl</a></div><div class="ttdeci">@ Shl</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00998">SVFStatements.h:998</a></div></div>
3029
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html_ae041bbd93e3839193fd7ffe9611a4ca1ab55ad5d331f6e4a69f8e2f0d95e5d3a1"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1ab55ad5d331f6e4a69f8e2f0d95e5d3a1">SVF::CopyStmt::SEXT</a></div><div class="ttdeci">@ SEXT</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00374">SVFStatements.h:374</a></div></div>
3030
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">SVF::BinaryOPStmt::Or</a></div><div class="ttdeci">@ Or</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01012">SVFStatements.h:1012</a></div></div>
3031
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">SVF::BinaryOPStmt::Shl</a></div><div class="ttdeci">@ Shl</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01008">SVFStatements.h:1008</a></div></div>
2612
3032
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_acfdff582a0188678c10939165a40df30"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acfdff582a0188678c10939165a40df30">SVF::Z3Expr::getContext</a></div><div class="ttdeci">static z3::context &amp; getContext()</div><div class="ttdoc">Get z3 context, singleton design here to make sure we only have one context.</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00066">Z3Expr.cpp:66</a></div></div>
2613
3033
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * 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#l00094">SVFVariables.h:94</a></div></div>
2614
3034
  <div class="ttc" id="aclassSVF_1_1RelExeState_html_a8045abc5e96d0c7b373587c796180d3e"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a8045abc5e96d0c7b373587c796180d3e">SVF::RelExeState::toZ3Expr</a></div><div class="ttdeci">virtual Z3Expr toZ3Expr(u32_t varId) const</div><div class="ttdoc">Return Z3 expression lazily based on SVFVar ID.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8h_source.html#l00150">RelExeState.h:150</a></div></div>
2615
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">SVF::CmpStmt::FCMP_OEQ</a></div><div class="ttdeci">@ FCMP_OEQ</div><div class="ttdoc">0 0 0 1 True if ordered and equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00903">SVFStatements.h:903</a></div></div>
2616
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">SVF::BinaryOPStmt::UDiv</a></div><div class="ttdeci">@ UDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00992">SVFStatements.h:992</a></div></div>
2617
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">SVF::BinaryOPStmt::FDiv</a></div><div class="ttdeci">@ FDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00994">SVFStatements.h:994</a></div></div>
2618
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">SVF::CmpStmt::FCMP_OGT</a></div><div class="ttdeci">@ FCMP_OGT</div><div class="ttdoc">0 0 1 0 True if ordered and greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00904">SVFStatements.h:904</a></div></div>
3035
+ <div class="ttc" id="anamespaceSVF_html_a366625858f450a1ea5f985a3c83e0f14"><div class="ttname"><a href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">SVF::u64_t</a></div><div class="ttdeci">unsigned long long u64_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00048">GeneralType.h:48</a></div></div>
3036
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">SVF::CmpStmt::FCMP_OEQ</a></div><div class="ttdeci">@ FCMP_OEQ</div><div class="ttdoc">0 0 0 1 True if ordered and equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00913">SVFStatements.h:913</a></div></div>
3037
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">SVF::BinaryOPStmt::UDiv</a></div><div class="ttdeci">@ UDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01002">SVFStatements.h:1002</a></div></div>
3038
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">SVF::BinaryOPStmt::FDiv</a></div><div class="ttdeci">@ FDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01004">SVFStatements.h:1004</a></div></div>
3039
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">SVF::CmpStmt::FCMP_OGT</a></div><div class="ttdeci">@ FCMP_OGT</div><div class="ttdoc">0 0 1 0 True if ordered and greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00914">SVFStatements.h:914</a></div></div>
2619
3040
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_af8be90fc1b61103187908dce4ba68001"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
2620
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">SVF::CmpStmt::ICMP_SGT</a></div><div class="ttdeci">@ ICMP_SGT</div><div class="ttdoc">signed greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00927">SVFStatements.h:927</a></div></div>
3041
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">SVF::CmpStmt::ICMP_SGT</a></div><div class="ttdeci">@ ICMP_SGT</div><div class="ttdoc">signed greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00937">SVFStatements.h:937</a></div></div>
2621
3042
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a1a4ff4aaaf2573240a318e1b79328cd0"><div class="ttname"><a href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">SVF::MemObj::isConstDataOrConstGlobal</a></div><div class="ttdeci">bool isConstDataOrConstGlobal() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00501">SymbolTableInfo.cpp:501</a></div></div>
2622
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">SVF::BinaryOPStmt::AShr</a></div><div class="ttdeci">@ AShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01000">SVFStatements.h:1000</a></div></div>
3043
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">SVF::BinaryOPStmt::AShr</a></div><div class="ttdeci">@ AShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01010">SVFStatements.h:1010</a></div></div>
2623
3044
  <div class="ttc" id="aclassSVF_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#l00180">GenericGraph.h:180</a></div></div>
2624
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a48fec38aad1c2a9a140ee94e9fdd7e9b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">SVF::SVFIR2ItvExeState::getAddrs</a></div><div class="ttdeci">Addrs &amp; getAddrs(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00107">SVFIR2ItvExeState.h:107</a></div></div>
2625
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">SVF::BinaryOPStmt::LShr</a></div><div class="ttdeci">@ LShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00999">SVFStatements.h:999</a></div></div>
3045
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a48fec38aad1c2a9a140ee94e9fdd7e9b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">SVF::SVFIR2ItvExeState::getAddrs</a></div><div class="ttdeci">Addrs &amp; getAddrs(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00116">SVFIR2ItvExeState.h:116</a></div></div>
3046
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">SVF::BinaryOPStmt::LShr</a></div><div class="ttdeci">@ LShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01009">SVFStatements.h:1009</a></div></div>
3047
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html_ae041bbd93e3839193fd7ffe9611a4ca1ab364378cef751d1bca631f3bfacd0658"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1ab364378cef751d1bca631f3bfacd0658">SVF::CopyStmt::FPTRUNC</a></div><div class="ttdeci">@ FPTRUNC</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00374">SVFStatements.h:374</a></div></div>
2626
3048
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a3c98f0c5f07109f9da0a8a897aa51d18"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">SVF::AccessPath::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const SVFType *type) const</div><div class="ttdoc">Return element number of a type.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00063">AccessPath.cpp:63</a></div></div>
2627
3049
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_add3acad151d5af6c9a5f692f7a01e65b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">SVF::IntervalValue::top</a></div><div class="ttdeci">static IntervalValue top()</div><div class="ttdoc">Create the IntervalValue [-oo, +oo].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00083">IntervalValue.h:83</a></div></div>
2628
3050
  <div class="ttc" id="aclassSVF_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>
2629
3051
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a24df52313f8093bb651ae9da972cd663"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const SVFType *T, u32_t origId)</div><div class="ttdoc">Flattened element idx of an array or struct by considering stride.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00180">SymbolTableInfo.cpp:180</a></div></div>
2630
3052
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00298">SVFStatements.h:298</a></div></div>
2631
- <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a4181e5e15e10304ea524e5f8b2a3f576"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00118">NumericLiteral.h:118</a></div></div>
2632
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">SVF::CmpStmt::FCMP_ULE</a></div><div class="ttdeci">@ FCMP_ULE</div><div class="ttdoc">1 1 0 1 True if unordered, less than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00915">SVFStatements.h:915</a></div></div>
2633
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a66c426719f583653cb70189f01d6fda5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">SVF::SVFIR2ItvExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</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="SVFIR2ItvExeState_8h_source.html#l00166">SVFIR2ItvExeState.h:166</a></div></div>
3053
+ <div class="ttc" id="anamespaceSVF_html_a6ce4cf67f8622443c888737d7366a3e9"><div class="ttname"><a href="namespaceSVF.html#a6ce4cf67f8622443c888737d7366a3e9">SVF::s16_t</a></div><div class="ttdeci">signed short s16_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00053">GeneralType.h:53</a></div></div>
3054
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">SVF::CmpStmt::FCMP_ULE</a></div><div class="ttdeci">@ FCMP_ULE</div><div class="ttdoc">1 1 0 1 True if unordered, less than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00925">SVFStatements.h:925</a></div></div>
3055
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a66c426719f583653cb70189f01d6fda5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">SVF::SVFIR2ItvExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</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="SVFIR2ItvExeState_8h_source.html#l00175">SVFIR2ItvExeState.h:175</a></div></div>
2634
3056
  <div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
2635
- <div class="ttc" id="aclassSVF_1_1GepStmt_html_a348de09a7ccd04d1fa76fa6b250249ba"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">SVF::GepStmt::getOffsetVarAndGepTypePairVec</a></div><div class="ttdeci">const AccessPath::IdxOperandPairs getOffsetVarAndGepTypePairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00508">SVFStatements.h:508</a></div></div>
2636
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">SVF::CmpStmt::ICMP_SLT</a></div><div class="ttdeci">@ ICMP_SLT</div><div class="ttdoc">signed less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00929">SVFStatements.h:929</a></div></div>
3057
+ <div class="ttc" id="aclassSVF_1_1GepStmt_html_a348de09a7ccd04d1fa76fa6b250249ba"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a348de09a7ccd04d1fa76fa6b250249ba">SVF::GepStmt::getOffsetVarAndGepTypePairVec</a></div><div class="ttdeci">const AccessPath::IdxOperandPairs getOffsetVarAndGepTypePairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00518">SVFStatements.h:518</a></div></div>
3058
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">SVF::CmpStmt::ICMP_SLT</a></div><div class="ttdeci">@ ICMP_SLT</div><div class="ttdoc">signed less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00939">SVFStatements.h:939</a></div></div>
2637
3059
  <div class="ttc" id="aclassSVF_1_1SVFArrayType_html"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html">SVF::SVFArrayType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00377">SVFType.h:377</a></div></div>
2638
3060
  <div class="ttc" id="aclassSVF_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#l00114">SVFIR.h:114</a></div></div>
2639
3061
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a5dc699aa85fe879eb4b2c9109cf3030d"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">SVF::SymbolTableInfo::getTypeInfo</a></div><div class="ttdeci">const StInfo * getTypeInfo(const SVFType *T) const</div><div class="ttdoc">Get struct info.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00056">SymbolTableInfo.cpp:56</a></div></div>
2640
3062
  <div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
2641
3063
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a85f206bddccb2d644ef20f60ea17c9f3"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a85f206bddccb2d644ef20f60ea17c9f3">SVF::SVFIR2ItvExeState::Addrs</a></div><div class="ttdeci">ExeState::Addrs Addrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00047">SVFIR2ItvExeState.h:47</a></div></div>
2642
3064
  <div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00156">SVFType.h:156</a></div></div>
2643
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">SVF::CmpStmt::FCMP_ULT</a></div><div class="ttdeci">@ FCMP_ULT</div><div class="ttdoc">1 1 0 0 True if unordered or less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00914">SVFStatements.h:914</a></div></div>
2644
- <div class="ttc" id="aclassSVF_1_1GepStmt_html_a6c74f234a6b40bc5292bb14874c2e600"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">SVF::GepStmt::getAccessPath</a></div><div class="ttdeci">const AccessPath &amp; getAccessPath() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00504">SVFStatements.h:504</a></div></div>
3065
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">SVF::CmpStmt::FCMP_ULT</a></div><div class="ttdeci">@ FCMP_ULT</div><div class="ttdoc">1 1 0 0 True if unordered or less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00924">SVFStatements.h:924</a></div></div>
3066
+ <div class="ttc" id="aclassSVF_1_1GepStmt_html_a6c74f234a6b40bc5292bb14874c2e600"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">SVF::GepStmt::getAccessPath</a></div><div class="ttdeci">const AccessPath &amp; getAccessPath() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00514">SVFStatements.h:514</a></div></div>
2645
3067
  <div class="ttc" id="aclassSVF_1_1SVFStructType_html"><div class="ttname"><a href="classSVF_1_1SVFStructType.html">SVF::SVFStructType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00344">SVFType.h:344</a></div></div>
2646
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">SVF::BinaryOPStmt::FAdd</a></div><div class="ttdeci">@ FAdd</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00987">SVFStatements.h:987</a></div></div>
3068
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">SVF::BinaryOPStmt::FAdd</a></div><div class="ttdeci">@ FAdd</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00997">SVFStatements.h:997</a></div></div>
2647
3069
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a3b417ee79560fd00f4cf80906044c198"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3b417ee79560fd00f4cf80906044c198">SVF::IRGraph::getBlkPtr</a></div><div class="ttdeci">NodeID getBlkPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00169">IRGraph.h:169</a></div></div>
2648
- <div class="ttc" id="aclassSVF_1_1SelectStmt_html_ad4c3e9529176478bb726279a76050e8c"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">SVF::SelectStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00867">SVFStatements.h:867</a></div></div>
3070
+ <div class="ttc" id="aclassSVF_1_1SelectStmt_html_ad4c3e9529176478bb726279a76050e8c"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">SVF::SelectStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00877">SVFStatements.h:877</a></div></div>
2649
3071
  <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_acba74693030fca248521412c552e3dcc"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#acba74693030fca248521412c552e3dcc">SVF::IntervalESBase::_locToItvVal</a></div><div class="ttdeci">LocToValMap _locToItvVal</div><div class="ttdoc">Map a memory address to its stored interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00148">IntervalExeState.h:148</a></div></div>
2650
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">SVF::CmpStmt::ICMP_ULE</a></div><div class="ttdeci">@ ICMP_ULE</div><div class="ttdoc">unsigned less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00926">SVFStatements.h:926</a></div></div>
3072
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">SVF::CmpStmt::ICMP_ULE</a></div><div class="ttdeci">@ ICMP_ULE</div><div class="ttdoc">unsigned less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00936">SVFStatements.h:936</a></div></div>
2651
3073
  <div class="ttc" id="aclassSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00966">SVFValue.h:966</a></div></div>
2652
3074
  <div class="ttc" id="aclassSVF_1_1SVFConstantFP_html"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html">SVF::SVFConstantFP</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01000">SVFValue.h:1000</a></div></div>
2653
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">SVF::BinaryOPStmt::Mul</a></div><div class="ttdeci">@ Mul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00990">SVFStatements.h:990</a></div></div>
3075
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">SVF::BinaryOPStmt::Mul</a></div><div class="ttdeci">@ Mul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01000">SVFStatements.h:1000</a></div></div>
2654
3076
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a4f482ca73cc6e7b8d946651e2b2ea2ae"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a4f482ca73cc6e7b8d946651e2b2ea2ae">SVF::AccessPath::IdxOperandPair</a></div><div class="ttdeci">std::pair&lt; const SVFVar *, const SVFType * &gt; IdxOperandPair</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00064">AccessPath.h:64</a></div></div>
2655
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral &amp; ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00225">IntervalValue.h:225</a></div></div>
2656
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">SVF::CmpStmt::FCMP_UEQ</a></div><div class="ttdeci">@ FCMP_UEQ</div><div class="ttdoc">1 0 0 1 True if unordered or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00911">SVFStatements.h:911</a></div></div>
3077
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral &amp; ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00227">IntervalValue.h:227</a></div></div>
3078
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ad53e6d2fc9d1410df236584bb66c585a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ad53e6d2fc9d1410df236584bb66c585a">SVF::SVFIR2ItvExeState::getFPToSIntValue</a></div><div class="ttdeci">IntervalValue getFPToSIntValue(const SVFVar *var)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00162">SVFIR2ItvExeState.cpp:162</a></div></div>
3079
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">SVF::CmpStmt::FCMP_UEQ</a></div><div class="ttdeci">@ FCMP_UEQ</div><div class="ttdoc">1 0 0 1 True if unordered or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00921">SVFStatements.h:921</a></div></div>
2657
3080
  <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_ad2288306aed7301ccd30e55410c7b428"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#ad2288306aed7301ccd30e55410c7b428">SVF::IntervalESBase::_varToItvVal</a></div><div class="ttdeci">VarToValMap _varToItvVal</div><div class="ttdoc">Map a variable (symbol) to its interval value.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00147">IntervalExeState.h:147</a></div></div>
2658
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00921">SVFStatements.h:921</a></div></div>
2659
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">SVF::CmpStmt::FCMP_ONE</a></div><div class="ttdeci">@ FCMP_ONE</div><div class="ttdoc">0 1 1 0 True if ordered and operands are unequal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00908">SVFStatements.h:908</a></div></div>
2660
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">SVF::CmpStmt::FCMP_UGE</a></div><div class="ttdeci">@ FCMP_UGE</div><div class="ttdoc">1 0 1 1 True if unordered, greater than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00913">SVFStatements.h:913</a></div></div>
3081
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00931">SVFStatements.h:931</a></div></div>
3082
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">SVF::CmpStmt::FCMP_ONE</a></div><div class="ttdeci">@ FCMP_ONE</div><div class="ttdoc">0 1 1 0 True if ordered and operands are unequal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00918">SVFStatements.h:918</a></div></div>
3083
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">SVF::CmpStmt::FCMP_UGE</a></div><div class="ttdeci">@ FCMP_UGE</div><div class="ttdoc">1 0 1 1 True if unordered, greater than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00923">SVFStatements.h:923</a></div></div>
2661
3084
  <div class="ttc" id="aclassSVF_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>
2662
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a6e4e3eeca9d25fb5eab496faeb6264c3"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">SVF::SVFIR2ItvExeState::getItvOfFlattenedElemIndex</a></div><div class="ttdeci">IntervalValue getItvOfFlattenedElemIndex(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00345">SVFIR2ItvExeState.cpp:345</a></div></div>
3085
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a6e4e3eeca9d25fb5eab496faeb6264c3"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a6e4e3eeca9d25fb5eab496faeb6264c3">SVF::SVFIR2ItvExeState::getItvOfFlattenedElemIndex</a></div><div class="ttdeci">IntervalValue getItvOfFlattenedElemIndex(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00507">SVFIR2ItvExeState.cpp:507</a></div></div>
2663
3086
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a92b1b163493a74a31d30a261128edd05"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">SVF::IntervalExeState::globalES</a></div><div class="ttdeci">static IntervalExeState globalES</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00413">IntervalExeState.h:413</a></div></div>
3087
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html_ae041bbd93e3839193fd7ffe9611a4ca1ab2b2f7dffed3d446a147fc7a27e66dd8"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1ab2b2f7dffed3d446a147fc7a27e66dd8">SVF::CopyStmt::TRUNC</a></div><div class="ttdeci">@ TRUNC</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00374">SVFStatements.h:374</a></div></div>
3088
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aaeef5c66931c38f2ea2002b53b255530"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aaeef5c66931c38f2ea2002b53b255530">SVF::SVFIR2ItvExeState::getUIntToFPValue</a></div><div class="ttdeci">IntervalValue getUIntToFPValue(const SVFVar *var)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00209">SVFIR2ItvExeState.cpp:209</a></div></div>
2664
3089
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
2665
3090
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_af61110c081ca71f9348e8dfff5aa76e4"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#af61110c081ca71f9348e8dfff5aa76e4">SVF::IntervalExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00490">IntervalExeState.h:490</a></div></div>
2666
3091
  <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_adb26b186ee31bce7449a7b36faa24cc2"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">SVF::IntervalESBase::store</a></div><div class="ttdeci">void store(u32_t addr, const IntervalValue &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00258">IntervalExeState.h:258</a></div></div>
2667
3092
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</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="SymbolTableInfo_8cpp_source.html#l00080">SymbolTableInfo.cpp:80</a></div></div>
2668
- <div class="ttc" id="aclassSVF_1_1PhiStmt_html_a0b97394bc1946c0185d2c11fbc2181f4"><div class="ttname"><a href="classSVF_1_1PhiStmt.html#a0b97394bc1946c0185d2c11fbc2181f4">SVF::PhiStmt::getOpICFGNode</a></div><div class="ttdeci">const ICFGNode * getOpICFGNode(u32_t op_idx) const</div><div class="ttdoc">Return the corresponding ICFGNode of this operand.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00814">SVFStatements.h:814</a></div></div>
3093
+ <div class="ttc" id="aclassSVF_1_1PhiStmt_html_a0b97394bc1946c0185d2c11fbc2181f4"><div class="ttname"><a href="classSVF_1_1PhiStmt.html#a0b97394bc1946c0185d2c11fbc2181f4">SVF::PhiStmt::getOpICFGNode</a></div><div class="ttdeci">const ICFGNode * getOpICFGNode(u32_t op_idx) const</div><div class="ttdoc">Return the corresponding ICFGNode of this operand.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00824">SVFStatements.h:824</a></div></div>
2669
3094
  <div class="ttc" id="aclassSVF_1_1RelExeState_html_aa550a580be3278d19f759b3a644baea5"><div class="ttname"><a href="classSVF_1_1RelExeState.html#aa550a580be3278d19f759b3a644baea5">SVF::RelExeState::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="RelExeState_8cpp_source.html#l00183">RelExeState.cpp:183</a></div></div>
2670
3095
  <div class="ttc" id="aclassSVF_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#l00406">GenericGraph.h:406</a></div></div>
2671
3096
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_ad03d28d16754c9049dd4d0ad3b6c1e28"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">SVF::AssignStmt::getRHSVar</a></div><div class="ttdeci">SVFVar * getRHSVar() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00290">SVFStatements.h:290</a></div></div>
2672
3097
  <div class="ttc" id="aclassSVF_1_1ExeState_html_ad317f2ae2e599a131a6fd9f415f5d712"><div class="ttname"><a href="classSVF_1_1ExeState.html#ad317f2ae2e599a131a6fd9f415f5d712">SVF::ExeState::_varToAddrs</a></div><div class="ttdeci">VarToAddrs _varToAddrs</div><div class="ttdoc">Map a variable (symbol) to its memory addresses.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00096">ExeState.h:96</a></div></div>
2673
- <div class="ttc" id="aclassSVF_1_1GepStmt_html_ab6f37c073e4755c4b8bb3ed6365687f4"><div class="ttname"><a href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">SVF::GepStmt::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00513">SVFStatements.h:513</a></div></div>
3098
+ <div class="ttc" id="aclassSVF_1_1GepStmt_html_ab6f37c073e4755c4b8bb3ed6365687f4"><div class="ttname"><a href="classSVF_1_1GepStmt.html#ab6f37c073e4755c4b8bb3ed6365687f4">SVF::GepStmt::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00523">SVFStatements.h:523</a></div></div>
2674
3099
  <div class="ttc" id="anamespaceSVF_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="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
2675
3100
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a2f70e9c830b18f25c56b530722f106c4"><div class="ttname"><a href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">SVF::MemObj::getValue</a></div><div class="ttdeci">const SVFValue * 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#l00406">SymbolTableInfo.h:406</a></div></div>
2676
3101
  <div class="ttc" id="aclassSVF_1_1Options_html_a429c3000ee2ac45119b8c241aa06762c"><div class="ttname"><a href="classSVF_1_1Options.html#a429c3000ee2ac45119b8c241aa06762c">SVF::Options::ModelArrays</a></div><div class="ttdeci">static const Option&lt; bool &gt; ModelArrays</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00207">Options.h:207</a></div></div>
2677
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab8bd2de9d86489845f5a74727040b217"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab8bd2de9d86489845f5a74727040b217">SVF::SVFIR2ItvExeState::_relEs</a></div><div class="ttdeci">RelExeState _relEs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00206">SVFIR2ItvExeState.h:206</a></div></div>
3102
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab8bd2de9d86489845f5a74727040b217"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab8bd2de9d86489845f5a74727040b217">SVF::SVFIR2ItvExeState::_relEs</a></div><div class="ttdeci">RelExeState _relEs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00215">SVFIR2ItvExeState.h:215</a></div></div>
2678
3103
  <div class="ttc" id="aclassSVF_1_1ExeState_html_ab72f3bc855feeda75e11768ab03ad84e"><div class="ttname"><a href="classSVF_1_1ExeState.html#ab72f3bc855feeda75e11768ab03ad84e">SVF::ExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</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#l00284">ExeState.h:284</a></div></div>
2679
3104
  <div class="ttc" id="aclassSVF_1_1AddressValue_html_a40c67147606ab95dd3318d0fe821d8c0"><div class="ttname"><a href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">SVF::AddressValue::insert</a></div><div class="ttdeci">std::pair&lt; AddressValue::AddrSet::iterator, bool &gt; insert(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00125">AddressValue.h:125</a></div></div>
2680
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">SVF::BinaryOPStmt::FSub</a></div><div class="ttdeci">@ FSub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00989">SVFStatements.h:989</a></div></div>
3105
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">SVF::BinaryOPStmt::FSub</a></div><div class="ttdeci">@ FSub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00999">SVFStatements.h:999</a></div></div>
2681
3106
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa027be2f9243ce4cae799b265b019443"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">SVF::IntervalValue::bottom</a></div><div class="ttdeci">static IntervalValue bottom()</div><div class="ttdoc">Create the bottom IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00089">IntervalValue.h:89</a></div></div>
2682
- <div class="ttc" id="aclassSVF_1_1GepStmt_html_a1dd264b9f3b43d04aa1396443ad6ad33"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a1dd264b9f3b43d04aa1396443ad6ad33">SVF::GepStmt::accumulateConstantOffset</a></div><div class="ttdeci">APOffset accumulateConstantOffset() const</div><div class="ttdoc">Return accumulated constant offset (when accessing array or struct) if this offset is a constant.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00528">SVFStatements.h:528</a></div></div>
2683
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">SVF::CmpStmt::FCMP_OGE</a></div><div class="ttdeci">@ FCMP_OGE</div><div class="ttdoc">0 0 1 1 True if ordered and greater than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00905">SVFStatements.h:905</a></div></div>
3107
+ <div class="ttc" id="aclassSVF_1_1GepStmt_html_a1dd264b9f3b43d04aa1396443ad6ad33"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a1dd264b9f3b43d04aa1396443ad6ad33">SVF::GepStmt::accumulateConstantOffset</a></div><div class="ttdeci">APOffset accumulateConstantOffset() const</div><div class="ttdoc">Return accumulated constant offset (when accessing array or struct) if this offset is a constant.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00538">SVFStatements.h:538</a></div></div>
3108
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html_ae041bbd93e3839193fd7ffe9611a4ca1a821cd6daeaee15b117b41a272f743ff1"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a821cd6daeaee15b117b41a272f743ff1">SVF::CopyStmt::UITOFP</a></div><div class="ttdeci">@ UITOFP</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00375">SVFStatements.h:375</a></div></div>
3109
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">SVF::CmpStmt::FCMP_OGE</a></div><div class="ttdeci">@ FCMP_OGE</div><div class="ttdoc">0 0 1 1 True if ordered and greater than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00915">SVFStatements.h:915</a></div></div>
2684
3110
  <div class="ttc" id="acJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
2685
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">SVF::CmpStmt::FCMP_UGT</a></div><div class="ttdeci">@ FCMP_UGT</div><div class="ttdoc">1 0 1 0 True if unordered or greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00912">SVFStatements.h:912</a></div></div>
3111
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">SVF::CmpStmt::FCMP_UGT</a></div><div class="ttdeci">@ FCMP_UGT</div><div class="ttdoc">1 0 1 0 True if unordered or greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00922">SVFStatements.h:922</a></div></div>
2686
3112
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a1579525f7cf7779aba58c4bdde2be4b0"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a1579525f7cf7779aba58c4bdde2be4b0">SVF::SVFIR2ItvExeState::globalNulladdrs</a></div><div class="ttdeci">static Addrs globalNulladdrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00048">SVFIR2ItvExeState.h:48</a></div></div>
2687
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">SVF::BinaryOPStmt::SRem</a></div><div class="ttdeci">@ SRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00996">SVFStatements.h:996</a></div></div>
3113
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">SVF::BinaryOPStmt::SRem</a></div><div class="ttdeci">@ SRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01006">SVFStatements.h:1006</a></div></div>
3114
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html_ae041bbd93e3839193fd7ffe9611a4ca1a78bc561098a07651f94e72bffa895e16"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a78bc561098a07651f94e72bffa895e16">SVF::CopyStmt::SITOFP</a></div><div class="ttdeci">@ SITOFP</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00375">SVFStatements.h:375</a></div></div>
2688
3115
  <div class="ttc" id="aclassSVF_1_1SVFIntegerType_html"><div class="ttname"><a href="classSVF_1_1SVFIntegerType.html">SVF::SVFIntegerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00291">SVFType.h:291</a></div></div>
2689
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">SVF::CmpStmt::ICMP_NE</a></div><div class="ttdeci">@ ICMP_NE</div><div class="ttdoc">not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00922">SVFStatements.h:922</a></div></div>
3116
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a5d65dbc9a43181494a32d41a03065685"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a5d65dbc9a43181494a32d41a03065685">SVF::SVFIR2ItvExeState::getSExtValue</a></div><div class="ttdeci">IntervalValue getSExtValue(const SVFVar *var)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00157">SVFIR2ItvExeState.cpp:157</a></div></div>
3117
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">SVF::CmpStmt::ICMP_NE</a></div><div class="ttdeci">@ ICMP_NE</div><div class="ttdoc">not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00932">SVFStatements.h:932</a></div></div>
3118
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a9cd033e4586788de716f41875ab2b87f"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a9cd033e4586788de716f41875ab2b87f">SVF::SVFIR2ItvExeState::getZExtValue</a></div><div class="ttdeci">IntervalValue getZExtValue(const SVFVar *var)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00112">SVFIR2ItvExeState.cpp:112</a></div></div>
2690
3119
  <div class="ttc" id="aclassSVF_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#l00496">SymbolTableInfo.cpp:496</a></div></div>
2691
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_aa6a21fb1cfbc263bb38651176c495632"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">SVF::CmpStmt::getPredicate</a></div><div class="ttdeci">u32_t getPredicate() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00959">SVFStatements.h:959</a></div></div>
3120
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_aa6a21fb1cfbc263bb38651176c495632"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">SVF::CmpStmt::getPredicate</a></div><div class="ttdeci">u32_t getPredicate() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00969">SVFStatements.h:969</a></div></div>
2692
3121
  <div class="ttc" id="aclassSVF_1_1AddressValue_html"><div class="ttname"><a href="classSVF_1_1AddressValue.html">SVF::AddressValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00043">AddressValue.h:43</a></div></div>
2693
- <div class="ttc" id="aclassSVF_1_1SelectStmt_html_a537c03b08444da34c26b9e989bb0e568"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">SVF::SelectStmt::getTrueValue</a></div><div class="ttdeci">const SVFVar * getTrueValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00871">SVFStatements.h:871</a></div></div>
3122
+ <div class="ttc" id="aclassSVF_1_1SelectStmt_html_a537c03b08444da34c26b9e989bb0e568"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">SVF::SelectStmt::getTrueValue</a></div><div class="ttdeci">const SVFVar * getTrueValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00881">SVFStatements.h:881</a></div></div>
3123
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a15dbee007f3afb718a202f50fa87177f"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a15dbee007f3afb718a202f50fa87177f">SVF::SVFIR2ItvExeState::getTruncValue</a></div><div class="ttdeci">IntervalValue getTruncValue(const SVFVar *var, const SVFType *dstType)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00220">SVFIR2ItvExeState.cpp:220</a></div></div>
3124
+ <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a8e19113913c2aa236ab35d3bdd49541c"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a8e19113913c2aa236ab35d3bdd49541c">SVF::NumericLiteral::getIntNumeral</a></div><div class="ttdeci">s64_t getIntNumeral() const</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00148">NumericLiteral.h:148</a></div></div>
2694
3125
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_ae18425df0631aefca7dd4b799f6f524a"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">SVF::SVFIR::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(const MemObj *obj, const APOffset &amp;ap)</div><div class="ttdoc">Get a field SVFIR Object node according to base mem obj and offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00422">SVFIR.cpp:422</a></div></div>
2695
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00452">SVFIR2ItvExeState.cpp:452</a></div></div>
3126
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00614">SVFIR2ItvExeState.cpp:614</a></div></div>
2696
3127
  <div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
2697
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_ad0a7c5e87355d7a83176343322db448f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">SVF::BinaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01029">SVFStatements.h:1029</a></div></div>
2698
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab6b5ed878ce12016424c48c6252a764e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">SVF::SVFIR2ItvExeState::_es</a></div><div class="ttdeci">IntervalExeState _es</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00205">SVFIR2ItvExeState.h:205</a></div></div>
3128
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html_ae041bbd93e3839193fd7ffe9611a4ca1a975798ea3aeb2a77cc8858c712611afe"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a975798ea3aeb2a77cc8858c712611afe">SVF::CopyStmt::FPTOSI</a></div><div class="ttdeci">@ FPTOSI</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00375">SVFStatements.h:375</a></div></div>
3129
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_ad0a7c5e87355d7a83176343322db448f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">SVF::BinaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01039">SVFStatements.h:1039</a></div></div>
3130
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab6b5ed878ce12016424c48c6252a764e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">SVF::SVFIR2ItvExeState::_es</a></div><div class="ttdeci">IntervalExeState _es</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00214">SVFIR2ItvExeState.h:214</a></div></div>
3131
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ad3b0ac993ccfb0846f62aeb5eaf62b30"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ad3b0ac993ccfb0846f62aeb5eaf62b30">SVF::SVFIR2ItvExeState::getSIntToFPValue</a></div><div class="ttdeci">IntervalValue getSIntToFPValue(const SVFVar *var)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00198">SVFIR2ItvExeState.cpp:198</a></div></div>
2699
3132
  <div class="ttc" id="aclassSVF_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#l00353">SVFVariables.h:353</a></div></div>
2700
3133
  <div class="ttc" id="aclassSVF_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>
2701
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00420">SVFIR2ItvExeState.cpp:420</a></div></div>
3134
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00582">SVFIR2ItvExeState.cpp:582</a></div></div>
2702
3135
  <div class="ttc" id="acJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
2703
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">SVF::BinaryOPStmt::SDiv</a></div><div class="ttdeci">@ SDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00993">SVFStatements.h:993</a></div></div>
3136
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">SVF::BinaryOPStmt::SDiv</a></div><div class="ttdeci">@ SDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01003">SVFStatements.h:1003</a></div></div>
2704
3137
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00302">SVFStatements.h:302</a></div></div>
2705
- <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_af300571886b7aa2d84b0a70851c99bc3"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">SVF::MultiOpndStmt::getOpVarNum</a></div><div class="ttdeci">u32_t getOpVarNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00738">SVFStatements.h:738</a></div></div>
3138
+ <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_af300571886b7aa2d84b0a70851c99bc3"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">SVF::MultiOpndStmt::getOpVarNum</a></div><div class="ttdeci">u32_t getOpVarNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00748">SVFStatements.h:748</a></div></div>
2706
3139
  <div class="ttc" id="aclassSVF_1_1ExeState_html_a79866a547dc4805d3fefdfd528d2df2a"><div class="ttname"><a href="classSVF_1_1ExeState.html#a79866a547dc4805d3fefdfd528d2df2a">SVF::ExeState::_locToAddrs</a></div><div class="ttdeci">VarToAddrs _locToAddrs</div><div class="ttdoc">Map a memory address to its stored memory addresses.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00097">ExeState.h:97</a></div></div>
2707
3140
  <div class="ttc" id="aclassSVF_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>
2708
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af8d06156bcbb61beb305ed8096319966"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">SVF::SVFIR2ItvExeState::getGepObjAddress</a></div><div class="ttdeci">Addrs getGepObjAddress(u32_t pointer, APOffset offset)</div><div class="ttdoc">Return the field address given a pointer points to a struct object and an offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00232">SVFIR2ItvExeState.cpp:232</a></div></div>
2709
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">SVF::CmpStmt::ICMP_SLE</a></div><div class="ttdeci">@ ICMP_SLE</div><div class="ttdoc">signed less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00930">SVFStatements.h:930</a></div></div>
3141
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af8d06156bcbb61beb305ed8096319966"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af8d06156bcbb61beb305ed8096319966">SVF::SVFIR2ItvExeState::getGepObjAddress</a></div><div class="ttdeci">Addrs getGepObjAddress(u32_t pointer, APOffset offset)</div><div class="ttdoc">Return the field address given a pointer points to a struct object and an offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00394">SVFIR2ItvExeState.cpp:394</a></div></div>
3142
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">SVF::CmpStmt::ICMP_SLE</a></div><div class="ttdeci">@ ICMP_SLE</div><div class="ttdoc">signed less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00940">SVFStatements.h:940</a></div></div>
2710
3143
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad485a35730353c0e945bc84a034d9e45"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">SVF::IntervalExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00476">IntervalExeState.h:476</a></div></div>
2711
3144
  <div class="ttc" id="aclassSVF_1_1Options_html_aaab923c093730b1670a54f09340b1bd5"><div class="ttname"><a href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const Option&lt; u32_t &gt; MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object.</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00038">Options.h:38</a></div></div>
2712
3145
  <div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
2713
3146
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_ab6f95d3e7e099d75cfc9645ebc037047"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">SVF::SVFVar::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdoc">Return type of the value.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00107">SVFVariables.h:107</a></div></div>
2714
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">SVF::CmpStmt::ICMP_SGE</a></div><div class="ttdeci">@ ICMP_SGE</div><div class="ttdoc">signed greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00928">SVFStatements.h:928</a></div></div>
2715
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a174523c405d7a7d7dbbcbaa43c335665"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">SVF::SVFIR2ItvExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00136">SVFIR2ItvExeState.h:136</a></div></div>
3147
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">SVF::CmpStmt::ICMP_SGE</a></div><div class="ttdeci">@ ICMP_SGE</div><div class="ttdoc">signed greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00938">SVFStatements.h:938</a></div></div>
3148
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a174523c405d7a7d7dbbcbaa43c335665"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">SVF::SVFIR2ItvExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the memory address stores memory addresses</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00145">SVFIR2ItvExeState.h:145</a></div></div>
2716
3149
  <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a71a530eb9fa9f7e273e471b4a75a039e"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">SVF::MultiOpndStmt::getResID</a></div><div class="ttdeci">NodeID getResID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00289">SVFStatements.cpp:289</a></div></div>
2717
3150
  <div class="ttc" id="aclassSVF_1_1IntervalESBase_html_a903797577ba99ef57879774a3849bbfe"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#a903797577ba99ef57879774a3849bbfe">SVF::IntervalESBase::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdoc">get var2val map</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00189">IntervalExeState.h:189</a></div></div>
2718
3151
  <div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00049">GeneralType.h:49</a></div></div>
2719
3152
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad17ceaf8058043151ae0f23b3415458a"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad17ceaf8058043151ae0f23b3415458a">SVF::IntervalExeState::loadAddrs</a></div><div class="ttdeci">Addrs &amp; loadAddrs(u32_t addr) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00566">IntervalExeState.h:566</a></div></div>
2720
3153
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a50aee49f7f34e05f7e2cb28ae55099f8"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a50aee49f7f34e05f7e2cb28ae55099f8">SVF::IntervalExeState::inLocToValTable</a></div><div class="ttdeci">bool inLocToValTable(u32_t id) const override</div><div class="ttdoc">whether the memory address stores interval value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00497">IntervalExeState.h:497</a></div></div>
3154
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a25165fdbe2b56b34ee8ab094bbe89494"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a25165fdbe2b56b34ee8ab094bbe89494">SVF::SVFIR2ItvExeState::getFPToUIntValue</a></div><div class="ttdeci">IntervalValue getFPToUIntValue(const SVFVar *var)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00180">SVFIR2ItvExeState.cpp:180</a></div></div>
2721
3155
  <div class="ttc" id="aclassSVF_1_1ExeState_html_a99f4437a7e350fec131d48f52082d672"><div class="ttname"><a href="classSVF_1_1ExeState.html#a99f4437a7e350fec131d48f52082d672">SVF::ExeState::storeAddrs</a></div><div class="ttdeci">virtual void storeAddrs(u32_t addr, const Addrs &amp;vaddrs)</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00155">ExeState.h:155</a></div></div>
3156
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html_ae041bbd93e3839193fd7ffe9611a4ca1a16c9ba88473e39f9a105b74b016af046"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a16c9ba88473e39f9a105b74b016af046">SVF::CopyStmt::ZEXT</a></div><div class="ttdeci">@ ZEXT</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00374">SVFStatements.h:374</a></div></div>
2722
3157
  <div class="ttc" id="aclassSVF_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#l00380">SymbolTableInfo.h:380</a></div></div>
2723
3158
  <div class="ttc" id="aclassSVF_1_1ExeState_html_a2f01e583abcdeb236a11e85c7a8aafdc"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">SVF::ExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00272">ExeState.h:272</a></div></div>
2724
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">SVF::CmpStmt::ICMP_UGT</a></div><div class="ttdeci">@ ICMP_UGT</div><div class="ttdoc">unsigned greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00923">SVFStatements.h:923</a></div></div>
2725
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">SVF::BinaryOPStmt::And</a></div><div class="ttdeci">@ And</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01001">SVFStatements.h:1001</a></div></div>
2726
- <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3771eb932069dcad8212009efc411b99"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">SVF::IntervalValue::join_with</a></div><div class="ttdeci">void join_with(const IntervalValue &amp;other)</div><div class="ttdoc">Current IntervalValue joins with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00345">IntervalValue.h:345</a></div></div>
2727
- <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">SVF::CmpStmt::FCMP_TRUE</a></div><div class="ttdeci">@ FCMP_TRUE</div><div class="ttdoc">1 1 1 1 Always true (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00917">SVFStatements.h:917</a></div></div>
2728
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a0c4be1dd8e7a2877c0cc76c404f6945a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">SVF::SVFIR2ItvExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00172">SVFIR2ItvExeState.h:172</a></div></div>
3159
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">SVF::CmpStmt::ICMP_UGT</a></div><div class="ttdeci">@ ICMP_UGT</div><div class="ttdoc">unsigned greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00933">SVFStatements.h:933</a></div></div>
3160
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">SVF::BinaryOPStmt::And</a></div><div class="ttdeci">@ And</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01011">SVFStatements.h:1011</a></div></div>
3161
+ <div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3771eb932069dcad8212009efc411b99"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">SVF::IntervalValue::join_with</a></div><div class="ttdeci">void join_with(const IntervalValue &amp;other)</div><div class="ttdoc">Current IntervalValue joins with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00397">IntervalValue.h:397</a></div></div>
3162
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html_ae041bbd93e3839193fd7ffe9611a4ca1a3fbb25d7761cca1dd44e06e41e5570c9"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a3fbb25d7761cca1dd44e06e41e5570c9">SVF::CopyStmt::COPYVAL</a></div><div class="ttdeci">@ COPYVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00374">SVFStatements.h:374</a></div></div>
3163
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">SVF::CmpStmt::FCMP_TRUE</a></div><div class="ttdeci">@ FCMP_TRUE</div><div class="ttdoc">1 1 1 1 Always true (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00927">SVFStatements.h:927</a></div></div>
3164
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a0c4be1dd8e7a2877c0cc76c404f6945a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">SVF::SVFIR2ItvExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00181">SVFIR2ItvExeState.h:181</a></div></div>
2729
3165
  <div class="ttc" id="aclassSVF_1_1StInfo_html_a55e5fd85f232c1867c5c6a73646d53eb"><div class="ttname"><a href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">SVF::StInfo::getFlattenedElemIdxVec</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; &amp; getFlattenedElemIdxVec()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00098">SVFType.h:98</a></div></div>
2730
3166
  <div class="ttc" id="aclassSVF_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#l00491">SymbolTableInfo.cpp:491</a></div></div>
2731
- <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">SVF::BinaryOPStmt::Add</a></div><div class="ttdeci">@ Add</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00986">SVFStatements.h:986</a></div></div>
2732
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a999c358b80dd07591b0432eaa41c20c9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">SVF::SVFIR2ItvExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00123">SVFIR2ItvExeState.h:123</a></div></div>
3167
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html_ae041bbd93e3839193fd7ffe9611a4ca1a80a8638b1b7a7057fb4cd577e1949f6c"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ae041bbd93e3839193fd7ffe9611a4ca1a80a8638b1b7a7057fb4cd577e1949f6c">SVF::CopyStmt::FPTOUI</a></div><div class="ttdeci">@ FPTOUI</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00375">SVFStatements.h:375</a></div></div>
3168
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">SVF::BinaryOPStmt::Add</a></div><div class="ttdeci">@ Add</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00996">SVFStatements.h:996</a></div></div>
3169
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a999c358b80dd07591b0432eaa41c20c9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">SVF::SVFIR2ItvExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00132">SVFIR2ItvExeState.h:132</a></div></div>
2733
3170
  <!-- start footer part -->
2734
3171
  <hr class="footer"/><address class="footer"><small>
2735
3172
  Generated by &#160;<a href="http://www.doxygen.org/index.html">