svf-tools 1.0.795 → 1.0.796

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 (448) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +167 -161
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +51 -51
  3. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/Andersen_8cpp_source.html +6 -6
  7. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/CFLAlias_8h_source.html +3 -3
  9. package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +4 -4
  11. package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +5 -5
  13. package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
  14. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  15. package/SVF-doxygen/html/DDAClient_8cpp_source.html +5 -5
  16. package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
  18. package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +4 -4
  20. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/FlowDDA_8h_source.html +2 -2
  23. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +5 -5
  25. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +10 -10
  30. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +40 -27
  31. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +5 -5
  33. package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
  34. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/MHP_8cpp_source.html +6 -6
  36. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/MTA_8cpp_source.html +5 -5
  38. package/SVF-doxygen/html/MemRegion_8cpp_source.html +7 -7
  39. package/SVF-doxygen/html/MemRegion_8h_source.html +1 -1
  40. package/SVF-doxygen/html/MemSSA_8cpp_source.html +4 -4
  41. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/PCG_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +4 -4
  45. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +7 -7
  46. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +1 -1
  47. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +6 -6
  49. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +6 -6
  50. package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +2 -2
  52. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
  53. package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
  54. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +3 -3
  55. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +773 -777
  56. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +20 -20
  57. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +5 -5
  58. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
  61. package/SVF-doxygen/html/SVFStatements_8h_source.html +5 -5
  62. package/SVF-doxygen/html/SVFType_8cpp.html +2 -2
  63. package/SVF-doxygen/html/SVFType_8cpp_source.html +70 -61
  64. package/SVF-doxygen/html/SVFType_8h.html +23 -23
  65. package/SVF-doxygen/html/SVFType_8h_source.html +401 -378
  66. package/SVF-doxygen/html/SVFUtil_8h_source.html +1 -1
  67. package/SVF-doxygen/html/SVFValue_8cpp_source.html +4 -4
  68. package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
  69. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +2 -2
  70. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  72. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +3 -3
  73. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +5 -5
  74. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +4 -4
  75. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +7 -7
  76. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
  77. package/SVF-doxygen/html/TCT_8cpp_source.html +2 -2
  78. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +2 -2
  79. package/SVF-doxygen/html/VFG_8cpp_source.html +2 -2
  80. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  81. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  82. package/SVF-doxygen/html/WPAPass_8cpp_source.html +4 -4
  83. package/SVF-doxygen/html/WPAPass_8h_source.html +2 -2
  84. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +1 -1
  85. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +167 -161
  86. package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  87. package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  88. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  89. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +2 -2
  90. package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
  91. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +2 -2
  92. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
  93. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
  94. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  95. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  96. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
  97. package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  98. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
  99. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +7 -7
  100. package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -1
  101. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +4 -4
  102. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
  103. package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
  104. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
  105. package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
  106. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +3 -3
  107. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
  108. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
  109. package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
  110. package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
  111. package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
  112. package/SVF-doxygen/html/classSVF_1_1DDAClient.html +3 -3
  113. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +1 -1
  114. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
  115. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +4 -4
  116. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  117. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  118. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +5 -5
  119. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
  120. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  121. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
  122. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
  123. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  124. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +9 -10
  125. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  126. package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
  127. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +2 -2
  128. package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
  129. package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  130. package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  131. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
  132. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
  133. package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  134. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
  135. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +10 -10
  136. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +2 -2
  137. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
  138. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +5 -5
  139. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  140. package/SVF-doxygen/html/classSVF_1_1MHP.html +6 -6
  141. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +6 -6
  142. package/SVF-doxygen/html/classSVF_1_1MTA.html +5 -5
  143. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
  144. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  145. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +3 -3
  146. package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
  147. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +4 -4
  148. package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +1 -1
  149. package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
  150. package/SVF-doxygen/html/classSVF_1_1ObjTypeInfo.html +1 -1
  151. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
  152. package/SVF-doxygen/html/classSVF_1_1PCG.html +2 -2
  153. package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
  154. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
  155. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +7 -7
  156. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
  157. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
  158. package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
  159. package/SVF-doxygen/html/classSVF_1_1SVFArrayType-members.html +11 -7
  160. package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +65 -27
  161. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +1 -1
  162. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType-members.html +30 -27
  163. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +28 -22
  164. package/SVF-doxygen/html/classSVF_1_1SVFG.html +2 -2
  165. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -2
  166. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
  167. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
  168. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +2 -2
  169. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +2 -2
  170. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +749 -769
  171. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +6 -6
  172. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType-members.html +30 -27
  173. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +32 -26
  174. package/SVF-doxygen/html/classSVF_1_1SVFOtherType-members.html +32 -29
  175. package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +33 -27
  176. package/SVF-doxygen/html/classSVF_1_1SVFPointerType-members.html +30 -27
  177. package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +28 -22
  178. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  179. package/SVF-doxygen/html/classSVF_1_1SVFStructType-members.html +32 -29
  180. package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +33 -27
  181. package/SVF-doxygen/html/classSVF_1_1SVFType-members.html +27 -24
  182. package/SVF-doxygen/html/classSVF_1_1SVFType.html +120 -23
  183. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
  184. package/SVF-doxygen/html/classSVF_1_1SVFVar.html +1 -1
  185. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +3 -3
  186. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  187. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
  188. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +3 -3
  189. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +5 -5
  190. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
  191. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  192. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +5 -5
  193. package/SVF-doxygen/html/classSVF_1_1TCT.html +3 -3
  194. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
  195. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
  196. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +2 -2
  197. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
  198. package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  199. package/SVF-doxygen/html/classSVF_1_1VFG.html +2 -2
  200. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  201. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  202. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  203. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +3 -3
  204. package/SVF-doxygen/html/functions_a.html +1 -1
  205. package/SVF-doxygen/html/functions_c.html +1 -1
  206. package/SVF-doxygen/html/functions_func.html +1 -1
  207. package/SVF-doxygen/html/functions_func_c.html +1 -1
  208. package/SVF-doxygen/html/functions_func_g.html +24 -18
  209. package/SVF-doxygen/html/functions_func_i.html +17 -11
  210. package/SVF-doxygen/html/functions_g.html +25 -19
  211. package/SVF-doxygen/html/functions_i.html +16 -10
  212. package/SVF-doxygen/html/functions_p.html +19 -23
  213. package/SVF-doxygen/html/functions_r.html +5 -5
  214. package/SVF-doxygen/html/functions_s.html +14 -12
  215. package/SVF-doxygen/html/functions_t.html +7 -7
  216. package/SVF-doxygen/html/functions_v.html +3 -3
  217. package/SVF-doxygen/html/globals_func_t.html +3 -0
  218. package/SVF-doxygen/html/globals_t.html +3 -0
  219. package/SVF-doxygen/html/namespaceSVF.html +45 -36
  220. package/SVF-doxygen/html/namespacemembers.html +1 -1
  221. package/SVF-doxygen/html/namespacemembers_func.html +1 -1
  222. package/SVF-doxygen/html/search/all_0.js +1 -1
  223. package/SVF-doxygen/html/search/all_1.js +1 -1
  224. package/SVF-doxygen/html/search/all_10.js +324 -324
  225. package/SVF-doxygen/html/search/all_11.js +224 -224
  226. package/SVF-doxygen/html/search/all_12.js +541 -541
  227. package/SVF-doxygen/html/search/all_13.js +191 -190
  228. package/SVF-doxygen/html/search/all_14.js +67 -67
  229. package/SVF-doxygen/html/search/all_15.js +170 -170
  230. package/SVF-doxygen/html/search/all_16.js +63 -63
  231. package/SVF-doxygen/html/search/all_17.js +1 -1
  232. package/SVF-doxygen/html/search/all_18.js +1 -1
  233. package/SVF-doxygen/html/search/all_19.js +11 -11
  234. package/SVF-doxygen/html/search/all_1a.js +172 -172
  235. package/SVF-doxygen/html/search/all_3.js +1 -1
  236. package/SVF-doxygen/html/search/all_7.js +457 -455
  237. package/SVF-doxygen/html/search/all_8.js +194 -194
  238. package/SVF-doxygen/html/search/all_9.js +610 -608
  239. package/SVF-doxygen/html/search/all_a.js +46 -46
  240. package/SVF-doxygen/html/search/all_b.js +26 -26
  241. package/SVF-doxygen/html/search/all_c.js +116 -116
  242. package/SVF-doxygen/html/search/all_d.js +196 -196
  243. package/SVF-doxygen/html/search/all_e.js +207 -207
  244. package/SVF-doxygen/html/search/all_f.js +116 -116
  245. package/SVF-doxygen/html/search/classes_0.js +26 -26
  246. package/SVF-doxygen/html/search/classes_1.js +9 -9
  247. package/SVF-doxygen/html/search/classes_10.js +73 -73
  248. package/SVF-doxygen/html/search/classes_11.js +15 -15
  249. package/SVF-doxygen/html/search/classes_12.js +2 -2
  250. package/SVF-doxygen/html/search/classes_13.js +10 -10
  251. package/SVF-doxygen/html/search/classes_14.js +14 -14
  252. package/SVF-doxygen/html/search/classes_15.js +1 -1
  253. package/SVF-doxygen/html/search/classes_2.js +80 -80
  254. package/SVF-doxygen/html/search/classes_3.js +37 -37
  255. package/SVF-doxygen/html/search/classes_4.js +9 -9
  256. package/SVF-doxygen/html/search/classes_5.js +28 -28
  257. package/SVF-doxygen/html/search/classes_6.js +104 -104
  258. package/SVF-doxygen/html/search/classes_7.js +33 -33
  259. package/SVF-doxygen/html/search/classes_8.js +56 -56
  260. package/SVF-doxygen/html/search/classes_9.js +1 -1
  261. package/SVF-doxygen/html/search/classes_a.js +12 -12
  262. package/SVF-doxygen/html/search/classes_b.js +29 -29
  263. package/SVF-doxygen/html/search/classes_c.js +6 -6
  264. package/SVF-doxygen/html/search/classes_d.js +18 -18
  265. package/SVF-doxygen/html/search/classes_e.js +36 -36
  266. package/SVF-doxygen/html/search/classes_f.js +25 -25
  267. package/SVF-doxygen/html/search/defines_0.js +3 -3
  268. package/SVF-doxygen/html/search/defines_1.js +2 -2
  269. package/SVF-doxygen/html/search/defines_2.js +30 -30
  270. package/SVF-doxygen/html/search/defines_3.js +21 -21
  271. package/SVF-doxygen/html/search/defines_4.js +2 -2
  272. package/SVF-doxygen/html/search/defines_5.js +4 -4
  273. package/SVF-doxygen/html/search/defines_6.js +2 -2
  274. package/SVF-doxygen/html/search/defines_7.js +5 -5
  275. package/SVF-doxygen/html/search/defines_8.js +11 -11
  276. package/SVF-doxygen/html/search/defines_9.js +9 -9
  277. package/SVF-doxygen/html/search/defines_a.js +2 -2
  278. package/SVF-doxygen/html/search/defines_b.js +1 -1
  279. package/SVF-doxygen/html/search/defines_c.js +3 -3
  280. package/SVF-doxygen/html/search/defines_d.js +2 -2
  281. package/SVF-doxygen/html/search/defines_e.js +7 -7
  282. package/SVF-doxygen/html/search/defines_f.js +3 -3
  283. package/SVF-doxygen/html/search/enums_0.js +3 -3
  284. package/SVF-doxygen/html/search/enums_1.js +2 -2
  285. package/SVF-doxygen/html/search/enums_10.js +1 -1
  286. package/SVF-doxygen/html/search/enums_11.js +1 -1
  287. package/SVF-doxygen/html/search/enums_2.js +8 -8
  288. package/SVF-doxygen/html/search/enums_3.js +1 -1
  289. package/SVF-doxygen/html/search/enums_4.js +3 -3
  290. package/SVF-doxygen/html/search/enums_5.js +1 -1
  291. package/SVF-doxygen/html/search/enums_6.js +2 -2
  292. package/SVF-doxygen/html/search/enums_7.js +2 -2
  293. package/SVF-doxygen/html/search/enums_8.js +4 -4
  294. package/SVF-doxygen/html/search/enums_9.js +1 -1
  295. package/SVF-doxygen/html/search/enums_a.js +1 -1
  296. package/SVF-doxygen/html/search/enums_b.js +7 -7
  297. package/SVF-doxygen/html/search/enums_c.js +1 -1
  298. package/SVF-doxygen/html/search/enums_d.js +4 -4
  299. package/SVF-doxygen/html/search/enums_e.js +2 -2
  300. package/SVF-doxygen/html/search/enums_f.js +4 -4
  301. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  302. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  303. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  304. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  305. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  306. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  307. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  308. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  309. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  310. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  311. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  312. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  313. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  314. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  315. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  316. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  317. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  318. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  319. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  320. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  321. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  322. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  323. package/SVF-doxygen/html/search/files_0.js +13 -13
  324. package/SVF-doxygen/html/search/files_1.js +7 -7
  325. package/SVF-doxygen/html/search/files_10.js +8 -8
  326. package/SVF-doxygen/html/search/files_11.js +8 -8
  327. package/SVF-doxygen/html/search/files_12.js +2 -2
  328. package/SVF-doxygen/html/search/files_2.js +55 -55
  329. package/SVF-doxygen/html/search/files_3.js +14 -14
  330. package/SVF-doxygen/html/search/files_4.js +5 -5
  331. package/SVF-doxygen/html/search/files_5.js +13 -13
  332. package/SVF-doxygen/html/search/files_6.js +9 -9
  333. package/SVF-doxygen/html/search/files_7.js +14 -14
  334. package/SVF-doxygen/html/search/files_8.js +13 -13
  335. package/SVF-doxygen/html/search/files_9.js +18 -18
  336. package/SVF-doxygen/html/search/files_a.js +3 -3
  337. package/SVF-doxygen/html/search/files_b.js +2 -2
  338. package/SVF-doxygen/html/search/files_c.js +20 -20
  339. package/SVF-doxygen/html/search/files_d.js +4 -4
  340. package/SVF-doxygen/html/search/files_e.js +62 -62
  341. package/SVF-doxygen/html/search/files_f.js +8 -8
  342. package/SVF-doxygen/html/search/functions_0.js +12 -12
  343. package/SVF-doxygen/html/search/functions_1.js +359 -359
  344. package/SVF-doxygen/html/search/functions_10.js +140 -140
  345. package/SVF-doxygen/html/search/functions_11.js +138 -138
  346. package/SVF-doxygen/html/search/functions_12.js +276 -276
  347. package/SVF-doxygen/html/search/functions_13.js +59 -58
  348. package/SVF-doxygen/html/search/functions_14.js +39 -39
  349. package/SVF-doxygen/html/search/functions_15.js +71 -71
  350. package/SVF-doxygen/html/search/functions_16.js +32 -32
  351. package/SVF-doxygen/html/search/functions_17.js +3 -3
  352. package/SVF-doxygen/html/search/functions_18.js +172 -172
  353. package/SVF-doxygen/html/search/functions_2.js +86 -86
  354. package/SVF-doxygen/html/search/functions_3.js +257 -257
  355. package/SVF-doxygen/html/search/functions_4.js +75 -75
  356. package/SVF-doxygen/html/search/functions_5.js +53 -53
  357. package/SVF-doxygen/html/search/functions_6.js +59 -59
  358. package/SVF-doxygen/html/search/functions_7.js +851 -849
  359. package/SVF-doxygen/html/search/functions_8.js +146 -146
  360. package/SVF-doxygen/html/search/functions_9.js +428 -426
  361. package/SVF-doxygen/html/search/functions_a.js +30 -30
  362. package/SVF-doxygen/html/search/functions_b.js +2 -2
  363. package/SVF-doxygen/html/search/functions_c.js +26 -26
  364. package/SVF-doxygen/html/search/functions_d.js +77 -77
  365. package/SVF-doxygen/html/search/functions_e.js +35 -35
  366. package/SVF-doxygen/html/search/functions_f.js +56 -56
  367. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  368. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  369. package/SVF-doxygen/html/search/related_0.js +2 -2
  370. package/SVF-doxygen/html/search/related_1.js +2 -2
  371. package/SVF-doxygen/html/search/related_2.js +2 -2
  372. package/SVF-doxygen/html/search/related_3.js +2 -2
  373. package/SVF-doxygen/html/search/related_4.js +2 -2
  374. package/SVF-doxygen/html/search/related_5.js +1 -1
  375. package/SVF-doxygen/html/search/related_6.js +2 -2
  376. package/SVF-doxygen/html/search/related_7.js +4 -4
  377. package/SVF-doxygen/html/search/related_8.js +2 -2
  378. package/SVF-doxygen/html/search/related_9.js +4 -4
  379. package/SVF-doxygen/html/search/related_a.js +19 -19
  380. package/SVF-doxygen/html/search/related_b.js +4 -4
  381. package/SVF-doxygen/html/search/related_c.js +1 -1
  382. package/SVF-doxygen/html/search/related_d.js +11 -11
  383. package/SVF-doxygen/html/search/related_e.js +2 -2
  384. package/SVF-doxygen/html/search/related_f.js +2 -2
  385. package/SVF-doxygen/html/search/typedefs_0.js +18 -18
  386. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  387. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  388. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  389. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  390. package/SVF-doxygen/html/search/typedefs_13.js +35 -35
  391. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  392. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  393. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  394. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  395. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  396. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  397. package/SVF-doxygen/html/search/typedefs_7.js +42 -42
  398. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  399. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  400. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  401. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  402. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  403. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  404. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  405. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  406. package/SVF-doxygen/html/search/variables_0.js +151 -151
  407. package/SVF-doxygen/html/search/variables_1.js +75 -75
  408. package/SVF-doxygen/html/search/variables_10.js +97 -97
  409. package/SVF-doxygen/html/search/variables_11.js +46 -46
  410. package/SVF-doxygen/html/search/variables_12.js +92 -92
  411. package/SVF-doxygen/html/search/variables_13.js +75 -75
  412. package/SVF-doxygen/html/search/variables_14.js +14 -14
  413. package/SVF-doxygen/html/search/variables_15.js +48 -48
  414. package/SVF-doxygen/html/search/variables_16.js +9 -9
  415. package/SVF-doxygen/html/search/variables_17.js +1 -1
  416. package/SVF-doxygen/html/search/variables_18.js +2 -2
  417. package/SVF-doxygen/html/search/variables_2.js +37 -37
  418. package/SVF-doxygen/html/search/variables_3.js +142 -142
  419. package/SVF-doxygen/html/search/variables_4.js +55 -55
  420. package/SVF-doxygen/html/search/variables_5.js +39 -39
  421. package/SVF-doxygen/html/search/variables_6.js +66 -66
  422. package/SVF-doxygen/html/search/variables_7.js +33 -33
  423. package/SVF-doxygen/html/search/variables_8.js +7 -7
  424. package/SVF-doxygen/html/search/variables_9.js +77 -77
  425. package/SVF-doxygen/html/search/variables_a.js +4 -4
  426. package/SVF-doxygen/html/search/variables_b.js +10 -10
  427. package/SVF-doxygen/html/search/variables_c.js +45 -45
  428. package/SVF-doxygen/html/search/variables_d.js +56 -56
  429. package/SVF-doxygen/html/search/variables_e.js +123 -123
  430. package/SVF-doxygen/html/search/variables_f.js +30 -30
  431. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  432. package/SVF-doxygen/html/structSVF_1_1Hash_3_01NodePair_01_4.html +11 -11
  433. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +8 -8
  434. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +11 -11
  435. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +7 -7
  436. package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +14 -14
  437. package/SVF-doxygen/html/svf-ex_8cpp.html +235 -125
  438. package/SVF-doxygen/html/svf-ex_8cpp_source.html +234 -144
  439. package/package.json +1 -1
  440. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +5 -5
  441. package/svf/include/MemoryModel/AccessPath.h +24 -6
  442. package/svf/include/SVFIR/SVFStatements.h +2 -2
  443. package/svf/include/SVFIR/SVFType.h +19 -0
  444. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +16 -21
  445. package/svf/lib/MemoryModel/AccessPath.cpp +15 -14
  446. package/svf/lib/SVFIR/SVFType.cpp +7 -0
  447. package/svf-llvm/lib/LLVMUtil.cpp +10 -0
  448. package/svf-llvm/tools/Example/svf-ex.cpp +65 -0
@@ -104,14 +104,14 @@ Public Member Functions</h2></td></tr>
104
104
  <tr class="memitem:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pointer, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="el" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</td></tr>
105
105
  <tr class="memdesc:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the field address given a pointer points to a struct object and an offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">More...</a><br /></td></tr>
106
106
  <tr class="separator:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
- <tr class="memitem:a2f0fe665f2153115be84a143633b6b3b"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2f0fe665f2153115be84a143633b6b3b">getBytefromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> &amp;gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> elem_bytesize)</td></tr>
108
- <tr class="memdesc:a2f0fe665f2153115be84a143633b6b3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the byte offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a2f0fe665f2153115be84a143633b6b3b">More...</a><br /></td></tr>
109
- <tr class="separator:a2f0fe665f2153115be84a143633b6b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ <tr class="memitem:aab58bfb31793026bc54b8996371e90f4"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#aab58bfb31793026bc54b8996371e90f4">getBytefromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> &amp;gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
108
+ <tr class="memdesc:aab58bfb31793026bc54b8996371e90f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the byte offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#aab58bfb31793026bc54b8996371e90f4">More...</a><br /></td></tr>
109
+ <tr class="separator:aab58bfb31793026bc54b8996371e90f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
110
  <tr class="memitem:aed7fc3951608972b6f8fdce14b4a0cbb"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">getIndexfromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> &amp;gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
111
111
  <tr class="memdesc:aed7fc3951608972b6f8fdce14b4a0cbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the Index offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">More...</a><br /></td></tr>
112
112
  <tr class="separator:aed7fc3951608972b6f8fdce14b4a0cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
- <tr class="memitem:a24f009ea362c4acf1cfa44d4dd80ef8b"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a24f009ea362c4acf1cfa44d4dd80ef8b">getGepByteOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> elemBytesize)</td></tr>
114
- <tr class="separator:a24f009ea362c4acf1cfa44d4dd80ef8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
+ <tr class="memitem:ae7d4ea045ddf4d49230065ff3bf07f61"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#ae7d4ea045ddf4d49230065ff3bf07f61">getGepByteOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
114
+ <tr class="separator:ae7d4ea045ddf4d49230065ff3bf07f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
115
  <tr class="memitem:afed2852aec6793e1943f97ed39dd8d2b"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">getGepOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
116
116
  <tr class="memdesc:afed2852aec6793e1943f97ed39dd8d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>. <a href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">More...</a><br /></td></tr>
117
117
  <tr class="separator:afed2852aec6793e1943f97ed39dd8d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -301,8 +301,8 @@ Private Attributes</h2></td></tr>
301
301
  </div><!-- fragment -->
302
302
  </div>
303
303
  </div>
304
- <a id="a2f0fe665f2153115be84a143633b6b3b"></a>
305
- <h2 class="memtitle"><span class="permalink"><a href="#a2f0fe665f2153115be84a143633b6b3b">&#9670;&nbsp;</a></span>getBytefromGepTypePair()</h2>
304
+ <a id="aab58bfb31793026bc54b8996371e90f4"></a>
305
+ <h2 class="memtitle"><span class="permalink"><a href="#aab58bfb31793026bc54b8996371e90f4">&#9670;&nbsp;</a></span>getBytefromGepTypePair()</h2>
306
306
 
307
307
  <div class="memitem">
308
308
  <div class="memproto">
@@ -317,13 +317,7 @@ Private Attributes</h2></td></tr>
317
317
  <td class="paramkey"></td>
318
318
  <td></td>
319
319
  <td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *&#160;</td>
320
- <td class="paramname"><em>gep</em>, </td>
321
- </tr>
322
- <tr>
323
- <td class="paramkey"></td>
324
- <td></td>
325
- <td class="paramtype"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td>
326
- <td class="paramname"><em>elem_bytesize</em>&#160;</td>
320
+ <td class="paramname"><em>gep</em>&#160;</td>
327
321
  </tr>
328
322
  <tr>
329
323
  <td></td>
@@ -341,65 +335,60 @@ Private Attributes</h2></td></tr>
341
335
  <div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;{</div>
342
336
  <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first-&gt;getValue();</div>
343
337
  <div class="line"><a name="l00182"></a><span class="lineno"> 182</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> = gep_pair.second;</div>
344
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
345
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = 0;</div>
346
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = 0;</div>
347
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxByteLimit = 99999;</div>
348
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minByteLimit = -99999;</div>
349
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">auto</span> valueReshape = [&amp;](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</div>
350
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div>
351
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &lt; (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)minByteLimit)</div>
352
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div>
353
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> minByteLimit;</div>
354
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
355
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt; (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)maxByteLimit)</div>
356
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div>
357
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> maxByteLimit;</div>
358
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
359
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">else</span></div>
338
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>* arrType = SVFUtil::dyn_cast&lt;SVFArrayType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
339
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div>
340
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = arrType-&gt;getTypeOfElement();</div>
341
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div>
342
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* ptrType = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
343
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div>
344
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = ptrType-&gt;getPtrElementType();</div>
345
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div>
346
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
347
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = 0;</div>
348
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = 0;</div>
349
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxByteLimit = 99999;</div>
350
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minByteLimit = -99999;</div>
351
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">auto</span> valueReshape = [&amp;](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</div>
352
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div>
353
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &lt; (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)minByteLimit)</div>
360
354
  <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div>
361
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
355
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> minByteLimit;</div>
362
356
  <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div>
363
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; };</div>
364
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (op)</div>
365
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div>
366
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; offsetLb = offsetUb = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() &gt; maxByteLimit</div>
367
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; ? maxByteLimit</div>
368
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; : op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
369
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
370
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">else</span></div>
371
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
372
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>(value);</div>
373
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
374
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
375
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, maxByteLimit);</div>
376
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
377
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
378
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div>
379
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; offsetLb = offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
380
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
381
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">else</span></div>
382
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
383
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; offsetLb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
384
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
385
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div>
386
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div>
387
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
388
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
389
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div>
390
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
357
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt; (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)maxByteLimit)</div>
358
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
359
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> maxByteLimit;</div>
360
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div>
361
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">else</span></div>
362
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
363
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
364
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
365
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; };</div>
366
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">if</span> (op)</div>
367
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div>
368
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; offsetLb = offsetUb =</div>
369
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getLLVMByteSize() &gt; maxByteLimit</div>
370
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; ? maxByteLimit</div>
371
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; : op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getLLVMByteSize();</div>
372
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
373
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">else</span></div>
374
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div>
375
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>(value);</div>
376
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</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] * <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getLLVMByteSize());</div>
377
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
378
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, maxByteLimit);</div>
379
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
380
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
381
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
382
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; offsetLb = offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
383
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
384
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">else</span></div>
391
385
  <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div>
392
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; offsetLb = offsetLb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType())* elemBytesize;</div>
393
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; offsetUb = offsetUb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType())* elemBytesize;</div>
386
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; offsetLb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
387
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
394
388
  <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div>
395
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">else</span></div>
396
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div>
397
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; offsetLb = offsetLb * elemBytesize;</div>
398
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; offsetUb = offsetUb * elemBytesize;</div>
399
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div>
400
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div>
401
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
402
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div>
389
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
390
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
391
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;}</div>
403
392
  </div><!-- fragment -->
404
393
  </div>
405
394
  </div>
@@ -463,8 +452,8 @@ Private Attributes</h2></td></tr>
463
452
  </div><!-- fragment -->
464
453
  </div>
465
454
  </div>
466
- <a id="a24f009ea362c4acf1cfa44d4dd80ef8b"></a>
467
- <h2 class="memtitle"><span class="permalink"><a href="#a24f009ea362c4acf1cfa44d4dd80ef8b">&#9670;&nbsp;</a></span>getGepByteOffset()</h2>
455
+ <a id="ae7d4ea045ddf4d49230065ff3bf07f61"></a>
456
+ <h2 class="memtitle"><span class="permalink"><a href="#ae7d4ea045ddf4d49230065ff3bf07f61">&#9670;&nbsp;</a></span>getGepByteOffset()</h2>
468
457
 
469
458
  <div class="memitem">
470
459
  <div class="memproto">
@@ -473,49 +462,39 @@ Private Attributes</h2></td></tr>
473
462
  <td class="memname">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt; SVFIR2ItvExeState::getGepByteOffset </td>
474
463
  <td>(</td>
475
464
  <td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *&#160;</td>
476
- <td class="paramname"><em>gep</em>, </td>
477
- </tr>
478
- <tr>
479
- <td class="paramkey"></td>
480
- <td></td>
481
- <td class="paramtype"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td>
482
- <td class="paramname"><em>elemBytesize</em>&#160;</td>
483
- </tr>
484
- <tr>
465
+ <td class="paramname"><em>gep</em></td><td>)</td>
485
466
  <td></td>
486
- <td>)</td>
487
- <td></td><td></td>
488
467
  </tr>
489
468
  </table>
490
469
  </div><div class="memdoc">
491
- <p>Return the byte offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> elemBytesize is the element byte size of an static alloc or heap alloc array e.g. GepStmt* gep = **, s32_t elemBytesize = <a class="el" href="namespaceSVF_1_1LLVMUtil.html#a276a85b292038a197a525e08e9252c92">LLVMUtil::SVFType2ByteSize</a>(gep-&gt;getRHSVar()-&gt;getValue()-&gt;getType()); std::pair&lt;s32_t, s32_t&gt; byteOffset = getGepByteOffset(gep, elemBytesize); </p>
470
+ <p>Return the byte offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> elemBytesize is the element byte size of an static alloc or heap alloc array e.g. GepStmt* gep = [i32*10], x, and x is [0,3] std::pair&lt;s32_t, s32_t&gt; byteOffset = getGepByteOffset(gep); byteOffset should be [0, 12] since i32 is 4 bytes. </p>
492
471
  <p>for instant constant index, e.g. gep arr, 1</p>
493
472
  <p>default value of MaxFieldLimit is 512</p>
494
473
 
495
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00327">327</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
496
- <div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;{</div>
497
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
498
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
499
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
500
- <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
501
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = 0xFFFFFF;</div>
502
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
503
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; {</div>
504
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; std::pair&lt;APOffset, APOffset&gt; offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2f0fe665f2153115be84a143633b6b3b">getBytefromGepTypePair</a>(</div>
505
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep, elemBytesize);</div>
506
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = offsetIdx.first;</div>
507
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = offsetIdx.second;</div>
508
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">if</span> (totalOffsetLb + offsetLb &gt; maxFieldLimit)</div>
509
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; totalOffsetLb = maxFieldLimit;</div>
510
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">else</span></div>
511
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; totalOffsetLb += offsetLb;</div>
512
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">if</span> (totalOffsetUb + offsetUb &gt; maxFieldLimit)</div>
513
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; totalOffsetUb = maxFieldLimit;</div>
514
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">else</span></div>
515
- <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; totalOffsetUb += offsetUb ;</div>
516
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div>
517
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
518
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;}</div>
474
+ <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>
475
+ <div class="fragment"><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;{</div>
476
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
477
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
478
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
479
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
480
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = 0xFFFFFF;</div>
481
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
482
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; {</div>
483
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; std::pair&lt;APOffset, APOffset&gt; offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aab58bfb31793026bc54b8996371e90f4">getBytefromGepTypePair</a>(</div>
484
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
485
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = offsetIdx.first;</div>
486
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = offsetIdx.second;</div>
487
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">if</span> (totalOffsetLb + offsetLb &gt; maxFieldLimit)</div>
488
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; totalOffsetLb = maxFieldLimit;</div>
489
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">else</span></div>
490
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; totalOffsetLb += offsetLb;</div>
491
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">if</span> (totalOffsetUb + offsetUb &gt; maxFieldLimit)</div>
492
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; totalOffsetUb = maxFieldLimit;</div>
493
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">else</span></div>
494
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; totalOffsetUb += offsetUb ;</div>
495
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div>
496
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
497
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;}</div>
519
498
  </div><!-- fragment -->
520
499
  </div>
521
500
  </div>
@@ -590,30 +569,30 @@ Private Attributes</h2></td></tr>
590
569
  <p>for instant constant index, e.g. gep arr, 1</p>
591
570
  <p>default value of MaxFieldLimit is 512</p>
592
571
 
593
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00355">355</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
594
- <div class="fragment"><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;{</div>
595
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
596
- <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
597
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
598
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
599
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
600
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
601
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {</div>
602
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; std::pair&lt;APOffset, APOffset&gt; offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">getIndexfromGepTypePair</a>(</div>
603
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
604
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = offsetIdx.first;</div>
605
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = offsetIdx.second;</div>
606
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetLb + offsetLb) &gt; maxFieldLimit)</div>
607
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; totalOffsetLb = maxFieldLimit;</div>
608
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">else</span></div>
609
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; totalOffsetLb += offsetLb;</div>
610
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetUb + offsetUb) &gt; maxFieldLimit)</div>
611
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; totalOffsetUb = maxFieldLimit;</div>
612
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">else</span></div>
613
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; totalOffsetUb += offsetUb ;</div>
614
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; }</div>
615
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
616
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;}</div>
572
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00350">350</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
573
+ <div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;{</div>
574
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
575
+ <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
576
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
577
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
578
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
579
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
580
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; {</div>
581
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; std::pair&lt;APOffset, APOffset&gt; offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">getIndexfromGepTypePair</a>(</div>
582
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
583
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = offsetIdx.first;</div>
584
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = offsetIdx.second;</div>
585
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetLb + offsetLb) &gt; maxFieldLimit)</div>
586
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; totalOffsetLb = maxFieldLimit;</div>
587
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">else</span></div>
588
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; totalOffsetLb += offsetLb;</div>
589
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetUb + offsetUb) &gt; maxFieldLimit)</div>
590
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; totalOffsetUb = maxFieldLimit;</div>
591
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">else</span></div>
592
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; totalOffsetUb += offsetUb ;</div>
593
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div>
594
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
595
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;}</div>
617
596
  </div><!-- fragment -->
618
597
  </div>
619
598
  </div>
@@ -646,84 +625,84 @@ Private Attributes</h2></td></tr>
646
625
  <p>Return the Index offset from one gep param offset. </p>
647
626
  <p>offset is constant but stored in variable</p>
648
627
 
649
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00246">246</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
650
- <div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;{</div>
651
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first-&gt;getValue();</div>
652
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</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> = gep_pair.second;</div>
653
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
654
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = 0;</div>
655
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = 0;</div>
656
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
657
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minFieldLimit = 0;</div>
658
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keyword">auto</span> valueReshape = [&amp;](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</div>
659
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div>
660
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &lt; minFieldLimit)</div>
661
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div>
662
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> minFieldLimit;</div>
663
- <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
664
- <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt; maxFieldLimit)</div>
665
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; {</div>
666
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> maxFieldLimit;</div>
667
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div>
668
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">else</span></div>
669
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div>
670
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
671
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div>
672
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; };</div>
673
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> (op)</div>
674
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div>
675
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; offsetLb = offsetUb = valueReshape(op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>());</div>
676
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; }</div>
677
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">else</span></div>
678
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; {</div>
679
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>(value);</div>
680
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="comment">//if (!inVarToIValTable(idx)) return std::make_pair(-1, -1);</span></div>
681
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
682
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
683
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
684
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
685
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
686
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; {</div>
687
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; offsetLb = offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
628
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00241">241</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
629
+ <div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;{</div>
630
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first-&gt;getValue();</div>
631
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</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> = gep_pair.second;</div>
632
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
633
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = 0;</div>
634
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = 0;</div>
635
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
636
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minFieldLimit = 0;</div>
637
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">auto</span> valueReshape = [&amp;](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</div>
638
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; {</div>
639
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &lt; minFieldLimit)</div>
640
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div>
641
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">return</span> minFieldLimit;</div>
642
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div>
643
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt; maxFieldLimit)</div>
644
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
645
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> maxFieldLimit;</div>
646
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
647
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">else</span></div>
648
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; {</div>
649
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
650
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; }</div>
651
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; };</div>
652
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">if</span> (op)</div>
653
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div>
654
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; offsetLb = offsetUb = valueReshape(op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>());</div>
655
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div>
656
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">else</span></div>
657
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div>
658
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>(value);</div>
659
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="comment">//if (!inVarToIValTable(idx)) return std::make_pair(-1, -1);</span></div>
660
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
661
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
662
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
663
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
664
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
665
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; {</div>
666
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; offsetLb = offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
667
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; }</div>
668
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">else</span></div>
669
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; {</div>
670
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; offsetLb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
671
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
688
672
  <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div>
689
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">else</span></div>
690
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div>
691
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; offsetLb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
692
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">getNumeral</a>());</div>
693
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div>
694
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; }</div>
695
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; </div>
696
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
697
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; {</div>
698
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
673
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div>
674
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; </div>
675
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
676
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div>
677
+ <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_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
678
+ <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div>
679
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; offsetLb = offsetLb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
680
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; offsetUb = offsetUb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
681
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div>
682
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">else</span></div>
699
683
  <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; {</div>
700
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; offsetLb = offsetLb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
701
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; offsetUb = offsetUb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
702
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div>
703
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">else</span></div>
704
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
705
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</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>
706
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</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>
707
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; -&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
708
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">if</span> (so.empty() || offsetUb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size() ||</div>
709
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; offsetLb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
684
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</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>
685
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</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>
686
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; -&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
687
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">if</span> (so.empty() || offsetUb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size() ||</div>
688
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; offsetLb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
689
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; {</div>
690
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; offsetLb = 0;</div>
691
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; offsetUb = maxFieldLimit;</div>
692
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div>
693
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">else</span></div>
710
694
  <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; {</div>
711
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; offsetLb = 0;</div>
712
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; offsetUb = maxFieldLimit;</div>
713
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div>
714
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">else</span></div>
715
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; {</div>
716
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; offsetLb =</div>
717
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <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>
718
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetLb);</div>
719
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; offsetUb =</div>
720
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <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>
721
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetUb);</div>
722
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
723
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
724
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; }</div>
725
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
726
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;}</div>
695
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; offsetLb =</div>
696
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <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>
697
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetLb);</div>
698
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; offsetUb =</div>
699
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <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>
700
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetUb);</div>
701
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div>
702
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div>
703
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
704
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
705
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;}</div>
727
706
  </div><!-- fragment -->
728
707
  </div>
729
708
  </div>
@@ -893,50 +872,50 @@ Private Attributes</h2></td></tr>
893
872
  </dl>
894
873
  <p>constant data</p>
895
874
 
896
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00424">424</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
897
- <div class="fragment"><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;{</div>
898
- <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; </div>
899
- <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
900
- <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; {</div>
901
- <div class="line"><a name="l00429"></a><span class="lineno"> 429</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>
902
- <div class="line"><a name="l00431"></a><span class="lineno"> 431</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>
903
- <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; {</div>
904
- <div class="line"><a name="l00433"></a><span class="lineno"> 433</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>
875
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00419">419</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
876
+ <div class="fragment"><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;{</div>
877
+ <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; </div>
878
+ <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
879
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; {</div>
880
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</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>
881
+ <div class="line"><a name="l00426"></a><span class="lineno"> 426</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>
882
+ <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; {</div>
883
+ <div class="line"><a name="l00428"></a><span class="lineno"> 428</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>
884
+ <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
885
+ <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordtype">double</span> numeral = (double)consInt-&gt;getSExtValue();</div>
886
+ <div class="line"><a name="l00431"></a><span class="lineno"> 431</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>
887
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; }</div>
888
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</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>
905
889
  <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; {</div>
906
- <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordtype">double</span> numeral = (double)consInt-&gt;getSExtValue();</div>
907
- <div class="line"><a name="l00436"></a><span class="lineno"> 436</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>
908
- <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; }</div>
909
- <div class="line"><a name="l00438"></a><span class="lineno"> 438</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>
910
- <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; {</div>
911
- <div class="line"><a name="l00440"></a><span class="lineno"> 440</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>
912
- <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; }</div>
913
- <div class="line"><a name="l00442"></a><span class="lineno"> 442</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>
914
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div>
915
- <div class="line"><a name="l00444"></a><span class="lineno"> 444</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>
916
- <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; }</div>
917
- <div class="line"><a name="l00446"></a><span class="lineno"> 446</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>
918
- <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; {</div>
919
- <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</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>
920
- <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; }</div>
921
- <div class="line"><a name="l00450"></a><span class="lineno"> 450</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>
922
- <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; {</div>
923
- <div class="line"><a name="l00452"></a><span class="lineno"> 452</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>
924
- <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; }</div>
925
- <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">else</span></div>
926
- <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; {</div>
927
- <div class="line"><a name="l00456"></a><span class="lineno"> 456</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>
928
- <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div>
929
- <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; }</div>
930
- <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">else</span></div>
931
- <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
932
- <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</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>
933
- <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
934
- <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; }</div>
935
- <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">else</span></div>
936
- <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; {</div>
937
- <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</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>
938
- <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div>
939
- <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;}</div>
890
+ <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>
891
+ <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; }</div>
892
+ <div class="line"><a name="l00437"></a><span class="lineno"> 437</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>
893
+ <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; {</div>
894
+ <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>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
895
+ <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div>
896
+ <div class="line"><a name="l00441"></a><span class="lineno"> 441</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>
897
+ <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; {</div>
898
+ <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>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</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>
899
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div>
900
+ <div class="line"><a name="l00445"></a><span class="lineno"> 445</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>
901
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; {</div>
902
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</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>
903
+ <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; }</div>
904
+ <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">else</span></div>
905
+ <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; {</div>
906
+ <div class="line"><a name="l00451"></a><span class="lineno"> 451</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>
907
+ <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; }</div>
908
+ <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; }</div>
909
+ <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">else</span></div>
910
+ <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; {</div>
911
+ <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</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>
912
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div>
913
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; }</div>
914
+ <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">else</span></div>
915
+ <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; {</div>
916
+ <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</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>
917
+ <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
918
+ <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;}</div>
940
919
  </div><!-- fragment -->
941
920
  </div>
942
921
  </div>
@@ -958,28 +937,28 @@ Private Attributes</h2></td></tr>
958
937
 
959
938
  <p>Init <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>. </p>
960
939
 
961
- <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>
962
- <div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;{</div>
963
- <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</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>
964
- <div class="line"><a name="l00473"></a><span class="lineno"> 473</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>
965
- <div class="line"><a name="l00474"></a><span class="lineno"> 474</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>
966
- <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
967
- <div class="line"><a name="l00476"></a><span class="lineno"> 476</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>
940
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00465">465</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
941
+ <div class="fragment"><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;{</div>
942
+ <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</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>
943
+ <div class="line"><a name="l00468"></a><span class="lineno"> 468</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>
944
+ <div class="line"><a name="l00469"></a><span class="lineno"> 469</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>
945
+ <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
946
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</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>
947
+ <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; {</div>
948
+ <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">initObjVar</a>(objVar, varId);</div>
949
+ <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">return</span>;</div>
950
+ <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; }</div>
951
+ <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast&lt;ValVar&gt;(svfVar))</div>
968
952
  <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; {</div>
969
- <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">initObjVar</a>(objVar, varId);</div>
953
+ <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
970
954
  <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">return</span>;</div>
971
955
  <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; }</div>
972
- <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast&lt;ValVar&gt;(svfVar))</div>
956
+ <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">else</span></div>
973
957
  <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; {</div>
974
958
  <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
975
959
  <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">return</span>;</div>
976
960
  <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; }</div>
977
- <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">else</span></div>
978
- <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; {</div>
979
- <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
980
- <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">return</span>;</div>
981
- <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; }</div>
982
- <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;}</div>
961
+ <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;}</div>
983
962
  </div><!-- fragment -->
984
963
  </div>
985
964
  </div>
@@ -1018,37 +997,37 @@ Private Attributes</h2></td></tr>
1018
997
  </dd>
1019
998
  </dl>
1020
999
 
1021
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00387">387</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1022
- <div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;{</div>
1023
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; </div>
1024
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</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>
1025
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; </div>
1026
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">if</span> (<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> = valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>())</div>
1027
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div>
1028
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="comment">// TODO:miss floatpointerty, voidty, labelty, matadataty</span></div>
1029
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a> ||</div>
1030
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVFType::SVFPointerTy</a> ||</div>
1031
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVFType::SVFFunctionTy</a> ||</div>
1032
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVFType::SVFStructTy</a> ||</div>
1033
- <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVFType::SVFArrayTy</a>)</div>
1034
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="comment">// continue with null expression</span></div>
1035
- <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1036
- <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">else</span></div>
1037
- <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; {</div>
1038
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; </div>
1039
- <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span> &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1040
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div>
1041
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; }</div>
1042
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; }</div>
1043
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">else</span></div>
1044
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div>
1045
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">if</span> (svfir-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
1046
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1047
- <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">else</span></div>
1048
- <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1049
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; assert(SVFUtil::isa&lt;DummyValVar&gt;(valVar) &amp;&amp; <span class="stringliteral">&quot;not a DummValVar if it has no type?&quot;</span>);</div>
1050
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div>
1051
- <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;}</div>
1000
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00382">382</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1001
+ <div class="fragment"><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;{</div>
1002
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
1003
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</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>
1004
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; </div>
1005
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">if</span> (<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> = valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>())</div>
1006
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div>
1007
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="comment">// TODO:miss floatpointerty, voidty, labelty, matadataty</span></div>
1008
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a> ||</div>
1009
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVFType::SVFPointerTy</a> ||</div>
1010
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVFType::SVFFunctionTy</a> ||</div>
1011
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVFType::SVFStructTy</a> ||</div>
1012
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVFType::SVFArrayTy</a>)</div>
1013
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="comment">// continue with null expression</span></div>
1014
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1015
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">else</span></div>
1016
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; {</div>
1017
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; </div>
1018
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span> &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1019
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div>
1020
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; }</div>
1021
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }</div>
1022
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">else</span></div>
1023
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; {</div>
1024
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">if</span> (svfir-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
1025
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1026
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">else</span></div>
1027
+ <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1028
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; assert(SVFUtil::isa&lt;DummyValVar&gt;(valVar) &amp;&amp; <span class="stringliteral">&quot;not a DummValVar if it has no type?&quot;</span>);</div>
1029
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div>
1030
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;}</div>
1052
1031
  </div><!-- fragment -->
1053
1032
  </div>
1054
1033
  </div>
@@ -1393,23 +1372,23 @@ Private Attributes</h2></td></tr>
1393
1372
  </table>
1394
1373
  </div><div class="memdoc">
1395
1374
 
1396
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00494">494</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1397
- <div class="fragment"><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;{</div>
1398
- <div class="line"><a name="l00496"></a><span class="lineno"> 496</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>
1399
- <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1400
- <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div>
1401
- <div class="line"><a name="l00499"></a><span class="lineno"> 499</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>
1375
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00489">489</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1376
+ <div class="fragment"><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;{</div>
1377
+ <div class="line"><a name="l00491"></a><span class="lineno"> 491</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>
1378
+ <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1379
+ <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; {</div>
1380
+ <div class="line"><a name="l00494"></a><span class="lineno"> 494</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>
1381
+ <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div>
1382
+ <div class="line"><a name="l00496"></a><span class="lineno"> 496</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>
1383
+ <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; {</div>
1384
+ <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</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#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(</div>
1385
+ <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1402
1386
  <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; }</div>
1403
- <div class="line"><a name="l00501"></a><span class="lineno"> 501</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>
1387
+ <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">else</span></div>
1404
1388
  <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; {</div>
1405
- <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</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#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(</div>
1406
- <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1407
- <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; }</div>
1408
- <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">else</span></div>
1409
- <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; {</div>
1410
- <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not number or virtual addrs?&quot;</span>);</div>
1411
- <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; }</div>
1412
- <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;}</div>
1389
+ <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not number or virtual addrs?&quot;</span>);</div>
1390
+ <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div>
1391
+ <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;}</div>
1413
1392
  </div><!-- fragment -->
1414
1393
  </div>
1415
1394
  </div>
@@ -1429,67 +1408,67 @@ Private Attributes</h2></td></tr>
1429
1408
  </table>
1430
1409
  </div><div class="memdoc">
1431
1410
 
1432
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00513">513</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1433
- <div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;{</div>
1434
- <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1435
- <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1436
- <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1437
- <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</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>
1438
- <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</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>
1439
- <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1440
- <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; {</div>
1441
- <div class="line"><a name="l00522"></a><span class="lineno"> 522</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>
1442
- <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1443
- <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">switch</span> (binary-&gt;<a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
1444
- <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; {</div>
1445
- <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#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
1446
- <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#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
1447
- <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; resVal = (lhs + rhs);</div>
1448
- <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">break</span>;</div>
1449
- <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
1450
- <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#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
1451
- <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; resVal = (lhs - rhs);</div>
1452
- <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">break</span>;</div>
1453
- <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#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
1454
- <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
1455
- <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; resVal = (lhs * rhs);</div>
1411
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00508">508</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1412
+ <div class="fragment"><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;{</div>
1413
+ <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1414
+ <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1415
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1416
+ <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</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>
1417
+ <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</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>
1418
+ <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1419
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; {</div>
1420
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</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>
1421
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1422
+ <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">switch</span> (binary-&gt;<a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
1423
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; {</div>
1424
+ <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#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
1425
+ <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#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
1426
+ <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; resVal = (lhs + rhs);</div>
1427
+ <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">break</span>;</div>
1428
+ <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
1429
+ <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#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
1430
+ <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; resVal = (lhs - rhs);</div>
1431
+ <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">break</span>;</div>
1432
+ <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
1433
+ <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
1434
+ <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; resVal = (lhs * rhs);</div>
1435
+ <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">break</span>;</div>
1436
+ <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
1437
+ <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#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
1438
+ <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
1439
+ <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; resVal = (lhs / rhs);</div>
1456
1440
  <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">break</span>;</div>
1457
- <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
1458
- <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
1459
- <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#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
1460
- <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; resVal = (lhs / rhs);</div>
1441
+ <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
1442
+ <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
1443
+ <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#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
1444
+ <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; resVal = (lhs % rhs);</div>
1461
1445
  <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">break</span>;</div>
1462
- <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#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
1463
- <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
1464
- <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
1465
- <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; resVal = (lhs % rhs);</div>
1466
- <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">break</span>;</div>
1467
- <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
1468
- <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; resVal = (lhs ^ rhs);</div>
1469
- <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">break</span>;</div>
1470
- <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
1471
- <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; resVal = (lhs &amp; rhs);</div>
1472
- <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">break</span>;</div>
1473
- <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
1474
- <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; resVal = (lhs | rhs);</div>
1475
- <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">break</span>;</div>
1476
- <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
1477
- <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1478
- <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">break</span>;</div>
1479
- <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
1480
- <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; resVal = (lhs &lt;&lt; rhs);</div>
1481
- <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">break</span>;</div>
1482
- <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
1483
- <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1484
- <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">break</span>;</div>
1485
- <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">default</span>:</div>
1486
- <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; {</div>
1487
- <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined binary: &quot;</span>);</div>
1488
- <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; }</div>
1489
- <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; }</div>
1490
- <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1491
- <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; }</div>
1492
- <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;}</div>
1446
+ <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#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
1447
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; resVal = (lhs ^ rhs);</div>
1448
+ <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">break</span>;</div>
1449
+ <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#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
1450
+ <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; resVal = (lhs &amp; rhs);</div>
1451
+ <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">break</span>;</div>
1452
+ <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
1453
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; resVal = (lhs | rhs);</div>
1454
+ <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">break</span>;</div>
1455
+ <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
1456
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1457
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">break</span>;</div>
1458
+ <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
1459
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; resVal = (lhs &lt;&lt; rhs);</div>
1460
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">break</span>;</div>
1461
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
1462
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1463
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">break</span>;</div>
1464
+ <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">default</span>:</div>
1465
+ <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; {</div>
1466
+ <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined binary: &quot;</span>);</div>
1467
+ <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; }</div>
1468
+ <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; }</div>
1469
+ <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1470
+ <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div>
1471
+ <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;}</div>
1493
1472
  </div><!-- fragment -->
1494
1473
  </div>
1495
1474
  </div>
@@ -1585,20 +1564,20 @@ Private Attributes</h2></td></tr>
1585
1564
  </table>
1586
1565
  </div><div class="memdoc">
1587
1566
 
1588
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00951">951</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1589
- <div class="fragment"><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;{</div>
1590
- <div class="line"><a name="l00953"></a><span class="lineno"> 953</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>
1591
- <div class="line"><a name="l00954"></a><span class="lineno"> 954</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>
1592
- <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1593
- <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; {</div>
1594
- <div class="line"><a name="l00957"></a><span class="lineno"> 957</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>
1567
+ <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>
1568
+ <div class="fragment"><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;{</div>
1569
+ <div class="line"><a name="l00948"></a><span class="lineno"> 948</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>
1570
+ <div class="line"><a name="l00949"></a><span class="lineno"> 949</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>
1571
+ <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#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1572
+ <div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; {</div>
1573
+ <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>
1574
+ <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; }</div>
1575
+ <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>
1576
+ <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div>
1577
+ <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1578
+ <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#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1595
1579
  <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; }</div>
1596
- <div class="line"><a name="l00959"></a><span class="lineno"> 959</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>
1597
- <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; {</div>
1598
- <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1599
- <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1600
- <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; }</div>
1601
- <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160;}</div>
1580
+ <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;}</div>
1602
1581
  </div><!-- fragment -->
1603
1582
  </div>
1604
1583
  </div>
@@ -1651,189 +1630,189 @@ Private Attributes</h2></td></tr>
1651
1630
  </table>
1652
1631
  </div><div class="memdoc">
1653
1632
 
1654
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00575">575</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1655
- <div class="fragment"><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;{</div>
1656
- <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1657
- <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1658
- <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1659
- <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1660
- <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; {</div>
1661
- <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1662
- <div class="line"><a name="l00583"></a><span class="lineno"> 583</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>
1663
- <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1664
- <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1665
- <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; {</div>
1666
- <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#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1667
- <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#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1668
- <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#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1669
- <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; resVal = (lhs == rhs);</div>
1633
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00570">570</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1634
+ <div class="fragment"><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;{</div>
1635
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1636
+ <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1637
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1638
+ <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1639
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; {</div>
1640
+ <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1641
+ <div class="line"><a name="l00578"></a><span class="lineno"> 578</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>
1642
+ <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1643
+ <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1644
+ <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; {</div>
1645
+ <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#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1646
+ <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#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1647
+ <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1648
+ <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; resVal = (lhs == rhs);</div>
1649
+ <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">break</span>;</div>
1650
+ <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#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1651
+ <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#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1652
+ <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#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1653
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; resVal = (lhs != rhs);</div>
1670
1654
  <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">break</span>;</div>
1671
- <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#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1672
- <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#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1673
- <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#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1674
- <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; resVal = (lhs != rhs);</div>
1675
- <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">break</span>;</div>
1676
- <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1677
- <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#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1678
- <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#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1679
- <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#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1680
- <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; resVal = (lhs &gt; rhs);</div>
1681
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">break</span>;</div>
1682
- <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1683
- <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#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1684
- <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1685
- <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1686
- <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; resVal = (lhs &gt;= rhs);</div>
1687
- <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">break</span>;</div>
1688
- <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1689
- <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1690
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1691
- <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1692
- <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; resVal = (lhs &lt; rhs);</div>
1693
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">break</span>;</div>
1694
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1695
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1696
- <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1697
- <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1698
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; resVal = (lhs &lt;= rhs);</div>
1699
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">break</span>;</div>
1700
- <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1701
- <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1702
- <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">break</span>;</div>
1703
- <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1704
- <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1705
- <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">break</span>;</div>
1706
- <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">default</span>:</div>
1707
- <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; {</div>
1708
- <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1709
- <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; }</div>
1710
- <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; }</div>
1711
- <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1712
- <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; }</div>
1713
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</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>
1714
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; {</div>
1715
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1716
- <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op0), &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op1);</div>
1717
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; assert(!lhs.empty() &amp;&amp; !rhs.empty() &amp;&amp; <span class="stringliteral">&quot;empty address?&quot;</span>);</div>
1718
- <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1719
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1720
- <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; {</div>
1721
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1722
- <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1723
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1724
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; {</div>
1725
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1726
- <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; {</div>
1727
- <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.equals(rhs));</div>
1728
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; }</div>
1729
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">else</span></div>
1730
- <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; {</div>
1731
- <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1732
- <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; {</div>
1733
- <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1734
- <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; }</div>
1735
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">else</span></div>
1736
- <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; {</div>
1737
- <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
1738
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; }</div>
1739
- <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div>
1740
- <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">break</span>;</div>
1741
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; }</div>
1742
- <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1743
- <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1744
- <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1745
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; {</div>
1746
- <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1747
- <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; {</div>
1748
- <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
1749
- <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; }</div>
1750
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">else</span></div>
1751
- <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; {</div>
1752
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1753
- <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; {</div>
1754
- <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1755
- <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div>
1756
- <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">else</span></div>
1757
- <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; {</div>
1758
- <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
1759
- <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div>
1760
- <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; }</div>
1761
- <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">break</span>;</div>
1762
- <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; }</div>
1763
- <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#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1764
- <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#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1765
- <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1766
- <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1767
- <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; {</div>
1768
- <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1769
- <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; {</div>
1770
- <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt; *rhs.begin());</div>
1771
- <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; }</div>
1772
- <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">else</span></div>
1773
- <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; {</div>
1774
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1775
- <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; }</div>
1776
- <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="keywordflow">break</span>;</div>
1777
- <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; }</div>
1778
- <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#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1779
- <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#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1780
- <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1781
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1782
- <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; {</div>
1783
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1784
- <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; {</div>
1785
- <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt;= *rhs.begin());</div>
1786
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; }</div>
1787
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">else</span></div>
1788
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div>
1789
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1790
- <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; }</div>
1791
- <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">break</span>;</div>
1792
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; }</div>
1793
- <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#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1794
- <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#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1795
- <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1796
- <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1797
- <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; {</div>
1798
- <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1799
- <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; {</div>
1800
- <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt; *rhs.begin());</div>
1801
- <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div>
1802
- <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">else</span></div>
1803
- <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; {</div>
1804
- <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1805
- <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; }</div>
1806
- <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">break</span>;</div>
1807
- <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; }</div>
1808
- <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1809
- <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#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1810
- <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1811
- <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#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1812
- <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; {</div>
1813
- <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1814
- <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; {</div>
1815
- <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt;= *rhs.begin());</div>
1816
- <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; }</div>
1817
- <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">else</span></div>
1818
- <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; {</div>
1819
- <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1820
- <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; }</div>
1821
- <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="keywordflow">break</span>;</div>
1822
- <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; }</div>
1823
- <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#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1824
- <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1825
- <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">break</span>;</div>
1826
- <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1827
- <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1828
- <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">break</span>;</div>
1829
- <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">default</span>:</div>
1830
- <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; {</div>
1831
- <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1832
- <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; }</div>
1833
- <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div>
1834
- <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1835
- <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; }</div>
1836
- <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;}</div>
1655
+ <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#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1656
+ <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#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1657
+ <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#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1658
+ <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#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1659
+ <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; resVal = (lhs &gt; rhs);</div>
1660
+ <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">break</span>;</div>
1661
+ <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#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1662
+ <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#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1663
+ <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#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1664
+ <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#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1665
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; resVal = (lhs &gt;= rhs);</div>
1666
+ <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">break</span>;</div>
1667
+ <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#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1668
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1669
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1670
+ <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#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1671
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; resVal = (lhs &lt; rhs);</div>
1672
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">break</span>;</div>
1673
+ <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1674
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1675
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1676
+ <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1677
+ <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; resVal = (lhs &lt;= rhs);</div>
1678
+ <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">break</span>;</div>
1679
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1680
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1681
+ <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">break</span>;</div>
1682
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1683
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1684
+ <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">break</span>;</div>
1685
+ <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keywordflow">default</span>:</div>
1686
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; {</div>
1687
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1688
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; }</div>
1689
+ <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; }</div>
1690
+ <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1691
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; }</div>
1692
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</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>
1693
+ <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; {</div>
1694
+ <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1695
+ <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op0), &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op1);</div>
1696
+ <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; assert(!lhs.empty() &amp;&amp; !rhs.empty() &amp;&amp; <span class="stringliteral">&quot;empty address?&quot;</span>);</div>
1697
+ <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1698
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1699
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div>
1700
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1701
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1702
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1703
+ <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; {</div>
1704
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1705
+ <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; {</div>
1706
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.equals(rhs));</div>
1707
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div>
1708
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">else</span></div>
1709
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div>
1710
+ <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1711
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div>
1712
+ <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1713
+ <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; }</div>
1714
+ <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">else</span></div>
1715
+ <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; {</div>
1716
+ <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
1717
+ <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; }</div>
1718
+ <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; }</div>
1719
+ <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">break</span>;</div>
1720
+ <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; }</div>
1721
+ <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1722
+ <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1723
+ <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1724
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; {</div>
1725
+ <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1726
+ <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; {</div>
1727
+ <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
1728
+ <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; }</div>
1729
+ <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">else</span></div>
1730
+ <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; {</div>
1731
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1732
+ <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; {</div>
1733
+ <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1734
+ <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; }</div>
1735
+ <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">else</span></div>
1736
+ <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; {</div>
1737
+ <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
1738
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; }</div>
1739
+ <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div>
1740
+ <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">break</span>;</div>
1741
+ <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; }</div>
1742
+ <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1743
+ <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1744
+ <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1745
+ <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#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1746
+ <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; {</div>
1747
+ <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1748
+ <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; {</div>
1749
+ <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt; *rhs.begin());</div>
1750
+ <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; }</div>
1751
+ <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">else</span></div>
1752
+ <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; {</div>
1753
+ <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1754
+ <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; }</div>
1755
+ <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">break</span>;</div>
1756
+ <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; }</div>
1757
+ <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1758
+ <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1759
+ <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1760
+ <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#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1761
+ <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; {</div>
1762
+ <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1763
+ <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; {</div>
1764
+ <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt;= *rhs.begin());</div>
1765
+ <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; }</div>
1766
+ <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">else</span></div>
1767
+ <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; {</div>
1768
+ <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1769
+ <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; }</div>
1770
+ <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">break</span>;</div>
1771
+ <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; }</div>
1772
+ <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1773
+ <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1774
+ <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1775
+ <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#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1776
+ <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; {</div>
1777
+ <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1778
+ <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; {</div>
1779
+ <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt; *rhs.begin());</div>
1780
+ <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div>
1781
+ <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">else</span></div>
1782
+ <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; {</div>
1783
+ <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1784
+ <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div>
1785
+ <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="keywordflow">break</span>;</div>
1786
+ <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; }</div>
1787
+ <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1788
+ <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1789
+ <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1790
+ <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#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1791
+ <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; {</div>
1792
+ <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1793
+ <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; {</div>
1794
+ <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt;= *rhs.begin());</div>
1795
+ <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; }</div>
1796
+ <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">else</span></div>
1797
+ <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; {</div>
1798
+ <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1799
+ <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; }</div>
1800
+ <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">break</span>;</div>
1801
+ <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; }</div>
1802
+ <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#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1803
+ <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1804
+ <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">break</span>;</div>
1805
+ <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#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1806
+ <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1807
+ <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordflow">break</span>;</div>
1808
+ <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">default</span>:</div>
1809
+ <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; {</div>
1810
+ <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1811
+ <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; }</div>
1812
+ <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; }</div>
1813
+ <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1814
+ <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; }</div>
1815
+ <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;}</div>
1837
1816
  </div><!-- fragment -->
1838
1817
  </div>
1839
1818
  </div>
@@ -1930,27 +1909,27 @@ Private Attributes</h2></td></tr>
1930
1909
  </table>
1931
1910
  </div><div class="memdoc">
1932
1911
 
1933
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00834">834</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1934
- <div class="fragment"><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;{</div>
1935
- <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVarID();</div>
1936
- <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVarID();</div>
1937
- <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;isBlkPtr(lhs))</div>
1938
- <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; {</div>
1939
- <div class="line"><a name="l00840"></a><span class="lineno"> 840</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>
1940
- <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; }</div>
1941
- <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="keywordflow">else</span></div>
1942
- <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; {</div>
1943
- <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1944
- <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; {</div>
1945
- <div class="line"><a name="l00846"></a><span class="lineno"> 846</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>
1912
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00829">829</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1913
+ <div class="fragment"><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;{</div>
1914
+ <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVarID();</div>
1915
+ <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVarID();</div>
1916
+ <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;isBlkPtr(lhs))</div>
1917
+ <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; {</div>
1918
+ <div class="line"><a name="l00835"></a><span class="lineno"> 835</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>
1919
+ <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; }</div>
1920
+ <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <span class="keywordflow">else</span></div>
1921
+ <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; {</div>
1922
+ <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1923
+ <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; {</div>
1924
+ <div class="line"><a name="l00841"></a><span class="lineno"> 841</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>
1925
+ <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; }</div>
1926
+ <div class="line"><a name="l00843"></a><span class="lineno"> 843</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>
1927
+ <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; {</div>
1928
+ <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1929
+ <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1946
1930
  <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; }</div>
1947
- <div class="line"><a name="l00848"></a><span class="lineno"> 848</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>
1948
- <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; {</div>
1949
- <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1950
- <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1951
- <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; }</div>
1952
- <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; }</div>
1953
- <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;}</div>
1931
+ <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; }</div>
1932
+ <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160;}</div>
1954
1933
  </div><!-- fragment -->
1955
1934
  </div>
1956
1935
  </div>
@@ -2003,37 +1982,37 @@ Private Attributes</h2></td></tr>
2003
1982
  </table>
2004
1983
  </div><div class="memdoc">
2005
1984
 
2006
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00856">856</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2007
- <div class="fragment"><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160;{</div>
2008
- <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2009
- <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2010
- <div class="line"><a name="l00860"></a><span class="lineno"> 860</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>
2011
- <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2012
- <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;rhsVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2013
- <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">if</span> (rhsVal.empty()) <span class="keywordflow">return</span>;</div>
2014
- <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; std::pair&lt;APOffset, APOffset&gt; offsetPair = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">getGepOffset</a>(gep);</div>
2015
- <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="keywordflow">if</span> (offsetPair.first == -1 &amp;&amp; offsetPair.second == -1) <span class="keywordflow">return</span>;</div>
2016
- <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">isVirtualMemAddress</a>(*rhsVal.begin()))</div>
2017
- <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; {</div>
2018
- <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keywordflow">return</span>;</div>
2019
- <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; }</div>
2020
- <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keywordflow">else</span></div>
2021
- <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; {</div>
2022
- <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> gepAddrs;</div>
2023
- <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> ub = offsetPair.second;</div>
2024
- <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordflow">if</span> (offsetPair.second &gt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1)</div>
2025
- <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; {</div>
2026
- <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; ub = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
2027
- <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; }</div>
2028
- <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> i = offsetPair.first; i &lt;= ub; i++)</div>
2029
- <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; {</div>
2030
- <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; gepAddrs.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a>(rhs, i));</div>
2031
- <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; }</div>
2032
- <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
2033
- <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = gepAddrs;</div>
2034
- <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">return</span>;</div>
2035
- <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; }</div>
2036
- <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160;}</div>
1985
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00851">851</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1986
+ <div class="fragment"><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;{</div>
1987
+ <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1988
+ <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1989
+ <div class="line"><a name="l00855"></a><span class="lineno"> 855</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>
1990
+ <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1991
+ <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;rhsVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1992
+ <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <span class="keywordflow">if</span> (rhsVal.empty()) <span class="keywordflow">return</span>;</div>
1993
+ <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; std::pair&lt;APOffset, APOffset&gt; offsetPair = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">getGepOffset</a>(gep);</div>
1994
+ <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="keywordflow">if</span> (offsetPair.first == -1 &amp;&amp; offsetPair.second == -1) <span class="keywordflow">return</span>;</div>
1995
+ <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">isVirtualMemAddress</a>(*rhsVal.begin()))</div>
1996
+ <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; {</div>
1997
+ <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">return</span>;</div>
1998
+ <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; }</div>
1999
+ <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="keywordflow">else</span></div>
2000
+ <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; {</div>
2001
+ <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> gepAddrs;</div>
2002
+ <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> ub = offsetPair.second;</div>
2003
+ <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">if</span> (offsetPair.second &gt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1)</div>
2004
+ <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; {</div>
2005
+ <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; ub = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
2006
+ <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; }</div>
2007
+ <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> i = offsetPair.first; i &lt;= ub; i++)</div>
2008
+ <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; {</div>
2009
+ <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; gepAddrs.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a>(rhs, i));</div>
2010
+ <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; }</div>
2011
+ <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
2012
+ <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = gepAddrs;</div>
2013
+ <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="keywordflow">return</span>;</div>
2014
+ <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; }</div>
2015
+ <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;}</div>
2037
2016
  </div><!-- fragment -->
2038
2017
  </div>
2039
2018
  </div>
@@ -2053,51 +2032,51 @@ Private Attributes</h2></td></tr>
2053
2032
  </table>
2054
2033
  </div><div class="memdoc">
2055
2034
 
2056
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00759">759</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2057
- <div class="fragment"><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;{</div>
2058
- <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2059
- <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2060
- <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2061
- <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; {</div>
2062
- <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2063
- <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; assert(!addrs.empty());</div>
2064
- <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2065
- <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; {</div>
2066
- <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2067
- <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
2068
- <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2069
- <div class="line"><a name="l00772"></a><span class="lineno"> 772</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>
2070
- <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs).<a class="code" href="classSVF_1_1AddressValue.html#a77d6a1706328d86b210b26bacaf2fa9f">setBottom</a>();</div>
2071
- <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">break</span>;</div>
2072
- <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; }</div>
2073
- <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2074
- <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; {</div>
2075
- <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2076
- <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
2077
- <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; {</div>
2078
- <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(lhs))</div>
2079
- <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; {</div>
2080
- <div class="line"><a name="l00783"></a><span class="lineno"> 783</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>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr);</div>
2081
- <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; }</div>
2082
- <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">else</span></div>
2083
- <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; {</div>
2084
- <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs].join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr));</div>
2085
- <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; }</div>
2086
- <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; }</div>
2087
- <div class="line"><a name="l00790"></a><span class="lineno"> 790</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>
2088
- <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; {</div>
2089
- <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2090
- <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; {</div>
2091
- <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr);</div>
2092
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; }</div>
2093
- <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">else</span></div>
2094
- <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; {</div>
2095
- <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs).<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#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr));</div>
2096
- <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; }</div>
2097
- <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; }</div>
2098
- <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; }</div>
2099
- <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; }</div>
2100
- <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;}</div>
2035
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00754">754</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2036
+ <div class="fragment"><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;{</div>
2037
+ <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2038
+ <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2039
+ <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2040
+ <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; {</div>
2041
+ <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2042
+ <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; assert(!addrs.empty());</div>
2043
+ <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2044
+ <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; {</div>
2045
+ <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2046
+ <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
2047
+ <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2048
+ <div class="line"><a name="l00767"></a><span class="lineno"> 767</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>
2049
+ <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs).<a class="code" href="classSVF_1_1AddressValue.html#a77d6a1706328d86b210b26bacaf2fa9f">setBottom</a>();</div>
2050
+ <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">break</span>;</div>
2051
+ <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; }</div>
2052
+ <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2053
+ <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; {</div>
2054
+ <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2055
+ <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
2056
+ <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; {</div>
2057
+ <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(lhs))</div>
2058
+ <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; {</div>
2059
+ <div class="line"><a name="l00778"></a><span class="lineno"> 778</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>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr);</div>
2060
+ <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; }</div>
2061
+ <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">else</span></div>
2062
+ <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; {</div>
2063
+ <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs].join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr));</div>
2064
+ <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; }</div>
2065
+ <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; }</div>
2066
+ <div class="line"><a name="l00785"></a><span class="lineno"> 785</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>
2067
+ <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; {</div>
2068
+ <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2069
+ <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; {</div>
2070
+ <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr);</div>
2071
+ <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; }</div>
2072
+ <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">else</span></div>
2073
+ <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div>
2074
+ <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs).<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#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr));</div>
2075
+ <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; }</div>
2076
+ <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; }</div>
2077
+ <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; }</div>
2078
+ <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; }</div>
2079
+ <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;}</div>
2101
2080
  </div><!-- fragment -->
2102
2081
  </div>
2103
2082
  </div>
@@ -2150,39 +2129,39 @@ Private Attributes</h2></td></tr>
2150
2129
  </table>
2151
2130
  </div><div class="memdoc">
2152
2131
 
2153
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00916">916</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2154
- <div class="fragment"><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;{</div>
2155
- <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2156
- <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
2157
- <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; {</div>
2158
- <div class="line"><a name="l00921"></a><span class="lineno"> 921</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>
2159
- <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(curId))</div>
2160
- <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; {</div>
2161
- <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;cur = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[curId];</div>
2162
- <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(res))</div>
2163
- <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; {</div>
2164
- <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = cur;</div>
2165
- <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div>
2166
- <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="keywordflow">else</span></div>
2167
- <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; {</div>
2168
- <div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res].join_with(cur);</div>
2169
- <div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; }</div>
2170
- <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; }</div>
2171
- <div class="line"><a name="l00934"></a><span class="lineno"> 934</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>
2172
- <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; {</div>
2173
- <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId).empty());</div>
2174
- <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;cur = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId);</div>
2175
- <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(res))</div>
2176
- <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; {</div>
2177
- <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = cur;</div>
2178
- <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; }</div>
2179
- <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordflow">else</span></div>
2180
- <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; {</div>
2181
- <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res).<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(cur);</div>
2182
- <div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; }</div>
2183
- <div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; }</div>
2184
- <div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; }</div>
2185
- <div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;}</div>
2132
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00911">911</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2133
+ <div class="fragment"><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;{</div>
2134
+ <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2135
+ <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
2136
+ <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; {</div>
2137
+ <div class="line"><a name="l00916"></a><span class="lineno"> 916</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>
2138
+ <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(curId))</div>
2139
+ <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; {</div>
2140
+ <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;cur = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[curId];</div>
2141
+ <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(res))</div>
2142
+ <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; {</div>
2143
+ <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = cur;</div>
2144
+ <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; }</div>
2145
+ <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">else</span></div>
2146
+ <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; {</div>
2147
+ <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res].join_with(cur);</div>
2148
+ <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div>
2149
+ <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div>
2150
+ <div class="line"><a name="l00929"></a><span class="lineno"> 929</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>
2151
+ <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; {</div>
2152
+ <div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId).empty());</div>
2153
+ <div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;cur = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId);</div>
2154
+ <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(res))</div>
2155
+ <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; {</div>
2156
+ <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = cur;</div>
2157
+ <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; }</div>
2158
+ <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keywordflow">else</span></div>
2159
+ <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; {</div>
2160
+ <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res).<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(cur);</div>
2161
+ <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; }</div>
2162
+ <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; }</div>
2163
+ <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; }</div>
2164
+ <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;}</div>
2186
2165
  </div><!-- fragment -->
2187
2166
  </div>
2188
2167
  </div>
@@ -2271,20 +2250,20 @@ Private Attributes</h2></td></tr>
2271
2250
  </table>
2272
2251
  </div><div class="memdoc">
2273
2252
 
2274
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00966">966</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2275
- <div class="fragment"><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160;{</div>
2276
- <div class="line"><a name="l00968"></a><span class="lineno"> 968</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>
2277
- <div class="line"><a name="l00969"></a><span class="lineno"> 969</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>
2278
- <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2279
- <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; {</div>
2280
- <div class="line"><a name="l00972"></a><span class="lineno"> 972</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>
2253
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00961">961</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2254
+ <div class="fragment"><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160;{</div>
2255
+ <div class="line"><a name="l00963"></a><span class="lineno"> 963</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>
2256
+ <div class="line"><a name="l00964"></a><span class="lineno"> 964</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>
2257
+ <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2258
+ <div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; {</div>
2259
+ <div class="line"><a name="l00967"></a><span class="lineno"> 967</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>
2260
+ <div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; }</div>
2261
+ <div class="line"><a name="l00969"></a><span class="lineno"> 969</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="l00970"></a><span class="lineno"> 970</span>&#160; {</div>
2263
+ <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2264
+ <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2281
2265
  <div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; }</div>
2282
- <div class="line"><a name="l00974"></a><span class="lineno"> 974</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>
2283
- <div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; {</div>
2284
- <div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2285
- <div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2286
- <div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; }</div>
2287
- <div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160;}</div>
2266
+ <div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160;}</div>
2288
2267
  </div><!-- fragment -->
2289
2268
  </div>
2290
2269
  </div>
@@ -2337,33 +2316,33 @@ Private Attributes</h2></td></tr>
2337
2316
  </table>
2338
2317
  </div><div class="memdoc">
2339
2318
 
2340
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00888">888</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2341
- <div class="fragment"><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;{</div>
2342
- <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = select-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2343
- <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>
2344
- <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>
2345
- <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>
2346
- <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2347
- <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; {</div>
2348
- <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2349
- <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; {</div>
2350
- <div class="line"><a name="l00898"></a><span class="lineno"> 898</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>
2351
- <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; }</div>
2352
- <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordflow">else</span></div>
2353
- <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; {</div>
2354
- <div class="line"><a name="l00902"></a><span class="lineno"> 902</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>
2355
- <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; }</div>
2356
- <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; }</div>
2357
- <div class="line"><a name="l00905"></a><span class="lineno"> 905</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#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2358
- <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; {</div>
2359
- <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2360
- <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; {</div>
2361
- <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval).empty());</div>
2362
- <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval).empty());</div>
2363
- <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval) : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval);</div>
2364
- <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; }</div>
2365
- <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; }</div>
2366
- <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;}</div>
2319
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00883">883</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2320
+ <div class="fragment"><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;{</div>
2321
+ <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = select-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2322
+ <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>
2323
+ <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>
2324
+ <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">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>
2325
+ <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2326
+ <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; {</div>
2327
+ <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2328
+ <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; {</div>
2329
+ <div class="line"><a name="l00893"></a><span class="lineno"> 893</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>
2330
+ <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; }</div>
2331
+ <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keywordflow">else</span></div>
2332
+ <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; {</div>
2333
+ <div class="line"><a name="l00897"></a><span class="lineno"> 897</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>
2334
+ <div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; }</div>
2335
+ <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; }</div>
2336
+ <div class="line"><a name="l00900"></a><span class="lineno"> 900</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#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2337
+ <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; {</div>
2338
+ <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2339
+ <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; {</div>
2340
+ <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval).empty());</div>
2341
+ <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval).empty());</div>
2342
+ <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval) : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval);</div>
2343
+ <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; }</div>
2344
+ <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; }</div>
2345
+ <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;}</div>
2367
2346
  </div><!-- fragment -->
2368
2347
  </div>
2369
2348
  </div>
@@ -2425,34 +2404,34 @@ Private Attributes</h2></td></tr>
2425
2404
  </table>
2426
2405
  </div><div class="memdoc">
2427
2406
 
2428
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00805">805</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2429
- <div class="fragment"><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;{</div>
2430
- <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2431
- <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2432
- <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2433
- <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; {</div>
2434
- <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2435
- <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; {</div>
2436
- <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2437
- <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2438
- <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2439
- <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; {</div>
2440
- <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">store</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs]);</div>
2441
- <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; }</div>
2442
- <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; }</div>
2443
- <div class="line"><a name="l00820"></a><span class="lineno"> 820</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>
2444
- <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; {</div>
2445
- <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2446
- <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2447
- <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2448
- <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; {</div>
2449
- <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2450
- <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#aad0556739ce5b173054c81cbbfff4b72">storeVAddrs</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs));</div>
2451
- <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; }</div>
2452
- <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; </div>
2453
- <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; }</div>
2454
- <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div>
2455
- <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;}</div>
2407
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00800">800</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2408
+ <div class="fragment"><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;{</div>
2409
+ <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2410
+ <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2411
+ <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2412
+ <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; {</div>
2413
+ <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2414
+ <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; {</div>
2415
+ <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2416
+ <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2417
+ <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2418
+ <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; {</div>
2419
+ <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">store</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs]);</div>
2420
+ <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; }</div>
2421
+ <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; }</div>
2422
+ <div class="line"><a name="l00815"></a><span class="lineno"> 815</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>
2423
+ <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; {</div>
2424
+ <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2425
+ <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2426
+ <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2427
+ <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div>
2428
+ <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2429
+ <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#aad0556739ce5b173054c81cbbfff4b72">storeVAddrs</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs));</div>
2430
+ <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; }</div>
2431
+ <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; </div>
2432
+ <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; }</div>
2433
+ <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; }</div>
2434
+ <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;}</div>
2456
2435
  </div><!-- fragment -->
2457
2436
  </div>
2458
2437
  </div>
@@ -2698,8 +2677,8 @@ Private Attributes</h2></td></tr>
2698
2677
  <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#l00892">SVFStatements.h:892</a></div></div>
2699
2678
  <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#l00861">SVFStatements.h:861</a></div></div>
2700
2679
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a2b6de5a37851f83ed3fa8f69145148a8"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">SVF::SVFIR2ItvExeState::VAddrs</a></div><div class="ttdeci">ExeState::VAddrs VAddrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00044">SVFIR2ItvExeState.h:44</a></div></div>
2701
- <div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00332">SVFType.h:332</a></div></div>
2702
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aed7fc3951608972b6f8fdce14b4a0cbb"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">SVF::SVFIR2ItvExeState::getIndexfromGepTypePair</a></div><div class="ttdeci">std::pair&lt; APOffset, APOffset &gt; getIndexfromGepTypePair(const AccessPath::VarAndGepTypePair &amp;gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the Index offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00246">SVFIR2ItvExeState.cpp:246</a></div></div>
2680
+ <div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00344">SVFType.h:344</a></div></div>
2681
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aed7fc3951608972b6f8fdce14b4a0cbb"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">SVF::SVFIR2ItvExeState::getIndexfromGepTypePair</a></div><div class="ttdeci">std::pair&lt; APOffset, APOffset &gt; getIndexfromGepTypePair(const AccessPath::VarAndGepTypePair &amp;gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the Index offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00241">SVFIR2ItvExeState.cpp:241</a></div></div>
2703
2682
  <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>
2704
2683
  <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#l00139">AddressValue.h:139</a></div></div>
2705
2684
  <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#l00888">SVFStatements.h:888</a></div></div>
@@ -2729,6 +2708,7 @@ Private Attributes</h2></td></tr>
2729
2708
  <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#l00978">SVFStatements.h:978</a></div></div>
2730
2709
  <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#l00980">SVFStatements.h:980</a></div></div>
2731
2710
  <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#l00890">SVFStatements.h:890</a></div></div>
2711
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aab58bfb31793026bc54b8996371e90f4"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aab58bfb31793026bc54b8996371e90f4">SVF::SVFIR2ItvExeState::getBytefromGepTypePair</a></div><div class="ttdeci">std::pair&lt; APOffset, APOffset &gt; getBytefromGepTypePair(const AccessPath::VarAndGepTypePair &amp;gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the byte offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00179">SVFIR2ItvExeState.cpp:179</a></div></div>
2732
2712
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a67532bdc1e4a49cf4d9da4b99b38e69a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">SVF::SVFIR2ItvExeState::getGepObjAddress</a></div><div class="ttdeci">VAddrs 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#l00158">SVFIR2ItvExeState.cpp:158</a></div></div>
2733
2713
  <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>
2734
2714
  <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#l00913">SVFStatements.h:913</a></div></div>
@@ -2745,7 +2725,7 @@ Private Attributes</h2></td></tr>
2745
2725
  <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>
2746
2726
  <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#l00181">SymbolTableInfo.cpp:181</a></div></div>
2747
2727
  <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>
2748
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afed2852aec6793e1943f97ed39dd8d2b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">SVF::SVFIR2ItvExeState::getGepOffset</a></div><div class="ttdeci">std::pair&lt; APOffset, APOffset &gt; getGepOffset(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#l00355">SVFIR2ItvExeState.cpp:355</a></div></div>
2728
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afed2852aec6793e1943f97ed39dd8d2b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">SVF::SVFIR2ItvExeState::getGepOffset</a></div><div class="ttdeci">std::pair&lt; APOffset, APOffset &gt; getGepOffset(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#l00350">SVFIR2ItvExeState.cpp:350</a></div></div>
2749
2729
  <div class="ttc" id="aclassSVF_1_1ValVar_html"><div class="ttname"><a href="classSVF_1_1ValVar.html">SVF::ValVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00262">SVFVariables.h:262</a></div></div>
2750
2730
  <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#l00120">NumericLiteral.h:120</a></div></div>
2751
2731
  <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#l00901">SVFStatements.h:901</a></div></div>
@@ -2753,6 +2733,7 @@ Private Attributes</h2></td></tr>
2753
2733
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a39dead4fe213e3d02b1613debbc86e71"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">SVF::IntervalExeState::_locToItvVal</a></div><div class="ttdeci">LocToValMap _locToItvVal</div><div class="ttdoc">key: nodeID value: Domain Value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00070">IntervalExeState.h:70</a></div></div>
2754
2734
  <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>
2755
2735
  <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#l00915">SVFStatements.h:915</a></div></div>
2736
+ <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#l00455">SVFType.h:455</a></div></div>
2756
2737
  <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>
2757
2738
  <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>
2758
2739
  <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>
@@ -2801,18 +2782,17 @@ Private Attributes</h2></td></tr>
2801
2782
  <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#l00908">SVFStatements.h:908</a></div></div>
2802
2783
  <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#l00520">SymbolTableInfo.cpp:520</a></div></div>
2803
2784
  <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#l00945">SVFStatements.h:945</a></div></div>
2804
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01271">LLVMUtil.cpp:1271</a></div></div>
2785
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01281">LLVMUtil.cpp:1281</a></div></div>
2805
2786
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a884199a26d43d09bc7e33369fceb8274"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a884199a26d43d09bc7e33369fceb8274">SVF::IntervalExeState::inVarToIValTable</a></div><div class="ttdeci">bool inVarToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00163">IntervalExeState.h:163</a></div></div>
2806
2787
  <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#l00857">SVFStatements.h:857</a></div></div>
2807
2788
  <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>
2808
- <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#l00470">SVFIR2ItvExeState.cpp:470</a></div></div>
2789
+ <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#l00465">SVFIR2ItvExeState.cpp:465</a></div></div>
2809
2790
  <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>
2810
2791
  <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#l01015">SVFStatements.h:1015</a></div></div>
2811
2792
  <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#l00201">SVFIR2ItvExeState.h:201</a></div></div>
2812
2793
  <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>
2813
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a2f0fe665f2153115be84a143633b6b3b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a2f0fe665f2153115be84a143633b6b3b">SVF::SVFIR2ItvExeState::getBytefromGepTypePair</a></div><div class="ttdeci">std::pair&lt; APOffset, APOffset &gt; getBytefromGepTypePair(const AccessPath::VarAndGepTypePair &amp;gep_pair, const GepStmt *gep, APOffset elem_bytesize)</div><div class="ttdoc">Return the byte offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00179">SVFIR2ItvExeState.cpp:179</a></div></div>
2814
2794
  <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>
2815
- <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#l00424">SVFIR2ItvExeState.cpp:424</a></div></div>
2795
+ <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#l00419">SVFIR2ItvExeState.cpp:419</a></div></div>
2816
2796
  <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>
2817
2797
  <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#l00979">SVFStatements.h:979</a></div></div>
2818
2798
  <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>
@@ -2844,7 +2824,7 @@ Private Attributes</h2></td></tr>
2844
2824
  <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#l00515">SymbolTableInfo.cpp:515</a></div></div>
2845
2825
  <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#l00972">SVFStatements.h:972</a></div></div>
2846
2826
  <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="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00127">SVFIR2ItvExeState.h:127</a></div></div>
2847
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00387">SVFIR2ItvExeState.cpp:387</a></div></div>
2827
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00382">SVFIR2ItvExeState.cpp:382</a></div></div>
2848
2828
  <!-- start footer part -->
2849
2829
  <hr class="footer"/><address class="footer"><small>
2850
2830
  Generated by &#160;<a href="http://www.doxygen.org/index.html">