svf-tools 1.0.874 → 1.0.875

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 (796) hide show
  1. package/SVF-doxygen/html/AE_8cpp.html +218 -0
  2. package/SVF-doxygen/html/AE_8cpp_source.html +2124 -0
  3. package/SVF-doxygen/html/AE_8h.html +118 -0
  4. package/SVF-doxygen/html/AE_8h_source.html +513 -0
  5. package/SVF-doxygen/html/AbstractPointsToDS_8h_source.html +1 -1
  6. package/SVF-doxygen/html/AbstractValue_8h.html +2 -3
  7. package/SVF-doxygen/html/AbstractValue_8h_source.html +50 -52
  8. package/SVF-doxygen/html/AccessPath_8cpp_source.html +9 -9
  9. package/SVF-doxygen/html/AccessPath_8h_source.html +5 -5
  10. package/SVF-doxygen/html/AddressValue_8h.html +22 -4
  11. package/SVF-doxygen/html/AddressValue_8h_source.html +213 -211
  12. package/SVF-doxygen/html/AndersenPWC_8h_source.html +4 -4
  13. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +4 -4
  14. package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +4 -4
  15. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +9 -8
  16. package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/Andersen_8cpp_source.html +21 -21
  18. package/SVF-doxygen/html/Andersen_8h_source.html +4 -4
  19. package/SVF-doxygen/html/BoundedZ3Expr_8cpp.html +3 -3
  20. package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +4 -4
  21. package/SVF-doxygen/html/BoundedZ3Expr_8h.html +2 -2
  22. package/SVF-doxygen/html/BoundedZ3Expr_8h_source.html +5 -5
  23. package/SVF-doxygen/html/BreakConstantExpr_8cpp.html +3 -3
  24. package/SVF-doxygen/html/BreakConstantExpr_8cpp_source.html +4 -3
  25. package/SVF-doxygen/html/BufOverflowChecker_8cpp.html +101 -0
  26. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +1040 -0
  27. package/SVF-doxygen/html/BufOverflowChecker_8h.html +102 -0
  28. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +300 -0
  29. package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +3 -3
  30. package/SVF-doxygen/html/CDGBuilder_8h_source.html +3 -3
  31. package/SVF-doxygen/html/CDG_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/CDG_8h_source.html +3 -3
  33. package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +7 -7
  34. package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +25 -19
  35. package/SVF-doxygen/html/CFBasicBlockGWTO_8h.html +2 -2
  36. package/SVF-doxygen/html/CFBasicBlockGWTO_8h_source.html +37 -34
  37. package/SVF-doxygen/html/CFBasicBlockG_8cpp_source.html +3 -3
  38. package/SVF-doxygen/html/CFBasicBlockG_8h_source.html +501 -494
  39. package/SVF-doxygen/html/CFGNormalizer_8cpp_source.html +5 -5
  40. package/SVF-doxygen/html/CFGNormalizer_8h_source.html +3 -3
  41. package/SVF-doxygen/html/CFGrammar_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/CFGrammar_8h_source.html +21 -21
  43. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +4 -4
  44. package/SVF-doxygen/html/CFLAlias_8h_source.html +5 -5
  45. package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/CFLGraphBuilder_8h_source.html +2 -2
  48. package/SVF-doxygen/html/CFLGraph_8h_source.html +1 -1
  49. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +3 -3
  50. package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +2 -2
  51. package/SVF-doxygen/html/CFLSolver_8h_source.html +1 -1
  52. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +6 -6
  53. package/SVF-doxygen/html/CHG_8cpp.html +2 -2
  54. package/SVF-doxygen/html/CHG_8cpp_source.html +3 -2
  55. package/SVF-doxygen/html/CHG_8h_source.html +3 -3
  56. package/SVF-doxygen/html/CSC_8cpp_source.html +3 -3
  57. package/SVF-doxygen/html/CSC_8h_source.html +4 -4
  58. package/SVF-doxygen/html/ConditionalPT_8h_source.html +5 -5
  59. package/SVF-doxygen/html/ConsExeState_8cpp.html +4 -4
  60. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +552 -555
  61. package/SVF-doxygen/html/ConsExeState_8h.html +28 -5
  62. package/SVF-doxygen/html/ConsExeState_8h_source.html +439 -438
  63. package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
  64. package/SVF-doxygen/html/ConsGNode_8h_source.html +5 -5
  65. package/SVF-doxygen/html/ConsG_8cpp_source.html +3 -3
  66. package/SVF-doxygen/html/ConsG_8h_source.html +4 -4
  67. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +6 -6
  68. package/SVF-doxygen/html/ContextDDA_8h_source.html +4 -4
  69. package/SVF-doxygen/html/CoreBitVector_8cpp_source.html +1 -1
  70. package/SVF-doxygen/html/CoreBitVector_8h_source.html +2 -2
  71. package/SVF-doxygen/html/CppUtil_8cpp.html +5 -5
  72. package/SVF-doxygen/html/CppUtil_8cpp_source.html +10 -9
  73. package/SVF-doxygen/html/CppUtil_8h_source.html +2 -2
  74. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  75. package/SVF-doxygen/html/DCHG_8cpp_source.html +3 -3
  76. package/SVF-doxygen/html/DCHG_8h_source.html +3 -3
  77. package/SVF-doxygen/html/DDAClient_8cpp_source.html +7 -7
  78. package/SVF-doxygen/html/DDAClient_8h_source.html +3 -3
  79. package/SVF-doxygen/html/DDAPass_8cpp_source.html +5 -5
  80. package/SVF-doxygen/html/DDAPass_8h_source.html +3 -3
  81. package/SVF-doxygen/html/DDAStat_8cpp_source.html +2 -2
  82. package/SVF-doxygen/html/DDAStat_8h_source.html +2 -2
  83. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +6 -6
  84. package/SVF-doxygen/html/DPItem_8h_source.html +4 -4
  85. package/SVF-doxygen/html/ExeState_8cpp.html +4 -4
  86. package/SVF-doxygen/html/ExeState_8cpp_source.html +12 -12
  87. package/SVF-doxygen/html/ExeState_8h.html +5 -4
  88. package/SVF-doxygen/html/ExeState_8h_source.html +296 -294
  89. package/SVF-doxygen/html/ExtAPI_8cpp_source.html +1 -1
  90. package/SVF-doxygen/html/ExtAPI_8h_source.html +1 -1
  91. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +8 -8
  92. package/SVF-doxygen/html/FSMPTA_8h_source.html +3 -3
  93. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +6 -6
  94. package/SVF-doxygen/html/FlowDDA_8h_source.html +3 -3
  95. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +4 -4
  96. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +8 -8
  97. package/SVF-doxygen/html/FlowSensitive_8h_source.html +3 -3
  98. package/SVF-doxygen/html/GeneralType_8h.html +186 -0
  99. package/SVF-doxygen/html/GeneralType_8h_source.html +244 -0
  100. package/SVF-doxygen/html/GenericGraph_8h_source.html +5 -5
  101. package/SVF-doxygen/html/GrammarBuilder_8h_source.html +1 -1
  102. package/SVF-doxygen/html/GraphPrinter_8h_source.html +1 -1
  103. package/SVF-doxygen/html/GraphTraits_8h_source.html +1 -1
  104. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +4 -4
  105. package/SVF-doxygen/html/ICFGBuilder_8h_source.html +1 -1
  106. package/SVF-doxygen/html/ICFGEdge_8h_source.html +3 -3
  107. package/SVF-doxygen/html/ICFGNode_8h_source.html +2 -2
  108. package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
  109. package/SVF-doxygen/html/ICFGWTO_8h.html +2 -2
  110. package/SVF-doxygen/html/ICFGWTO_8h_source.html +2 -2
  111. package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
  112. package/SVF-doxygen/html/ICFG_8h_source.html +3 -3
  113. package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
  114. package/SVF-doxygen/html/IRGraph_8h_source.html +3 -3
  115. package/SVF-doxygen/html/IntervalExeState_8cpp.html +3 -3
  116. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +9 -9
  117. package/SVF-doxygen/html/IntervalExeState_8h.html +4 -4
  118. package/SVF-doxygen/html/IntervalExeState_8h_source.html +19 -19
  119. package/SVF-doxygen/html/IntervalValue_8h.html +4 -4
  120. package/SVF-doxygen/html/IntervalValue_8h_source.html +25 -25
  121. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +3 -3
  122. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +24 -24
  123. package/SVF-doxygen/html/LLVMModule_8h_source.html +4 -4
  124. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +6 -6
  125. package/SVF-doxygen/html/LLVMUtil_8h.html +4 -4
  126. package/SVF-doxygen/html/LLVMUtil_8h_source.html +3 -3
  127. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +1 -1
  128. package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
  129. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +7 -7
  130. package/SVF-doxygen/html/LockAnalysis_8h_source.html +6 -6
  131. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  132. package/SVF-doxygen/html/LockResultValidator_8h_source.html +2 -2
  133. package/SVF-doxygen/html/MHP_8cpp_source.html +8 -8
  134. package/SVF-doxygen/html/MHP_8h_source.html +4 -4
  135. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +2 -2
  136. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
  137. package/SVF-doxygen/html/MTAAnnotator_8h_source.html +2 -2
  138. package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +5 -5
  139. package/SVF-doxygen/html/MTAStat_8cpp_source.html +2 -2
  140. package/SVF-doxygen/html/MTAStat_8h_source.html +1 -1
  141. package/SVF-doxygen/html/MTA_8cpp_source.html +6 -6
  142. package/SVF-doxygen/html/MTA_8h_source.html +1 -1
  143. package/SVF-doxygen/html/MemPartition_8h_source.html +2 -2
  144. package/SVF-doxygen/html/MemRegion_8cpp_source.html +11 -11
  145. package/SVF-doxygen/html/MemRegion_8h_source.html +5 -5
  146. package/SVF-doxygen/html/MemSSA_8cpp_source.html +7 -7
  147. package/SVF-doxygen/html/MemSSA_8h_source.html +5 -5
  148. package/SVF-doxygen/html/MutablePointsToDS_8h_source.html +2 -2
  149. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +6 -6
  150. package/SVF-doxygen/html/NodeIDAllocator_8h_source.html +3 -3
  151. package/SVF-doxygen/html/NumericLiteral_8h.html +4 -5
  152. package/SVF-doxygen/html/NumericLiteral_8h_source.html +440 -442
  153. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +4 -4
  154. package/SVF-doxygen/html/ObjTypeInference_8h_source.html +3 -3
  155. package/SVF-doxygen/html/Options_8cpp_source.html +20 -1
  156. package/SVF-doxygen/html/Options_8h_source.html +17 -4
  157. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp.html +2 -2
  158. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +4 -3
  159. package/SVF-doxygen/html/PAGBuilderFromFile_8h_source.html +1 -1
  160. package/SVF-doxygen/html/PCG_8cpp_source.html +3 -3
  161. package/SVF-doxygen/html/PCG_8h_source.html +1 -1
  162. package/SVF-doxygen/html/PTACallGraph_8cpp_source.html +1 -1
  163. package/SVF-doxygen/html/PTACallGraph_8h_source.html +6 -6
  164. package/SVF-doxygen/html/PTAStat_8cpp_source.html +2 -2
  165. package/SVF-doxygen/html/PTAStat_8h_source.html +1 -1
  166. package/SVF-doxygen/html/PersistentPointsToCache_8h_source.html +3 -3
  167. package/SVF-doxygen/html/PersistentPointsToDS_8h_source.html +2 -2
  168. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  169. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +7 -7
  170. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +7 -7
  171. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +7 -7
  172. package/SVF-doxygen/html/PointsTo_8cpp_source.html +1 -1
  173. package/SVF-doxygen/html/PointsTo_8h_source.html +1 -1
  174. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +4 -4
  175. package/SVF-doxygen/html/ProgSlice_8h_source.html +3 -3
  176. package/SVF-doxygen/html/RelExeState_8cpp.html +5 -4
  177. package/SVF-doxygen/html/RelExeState_8cpp_source.html +161 -159
  178. package/SVF-doxygen/html/RelExeState_8h.html +4 -4
  179. package/SVF-doxygen/html/RelExeState_8h_source.html +23 -23
  180. package/SVF-doxygen/html/RelationSolver_8cpp.html +3 -3
  181. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +7 -7
  182. package/SVF-doxygen/html/RelationSolver_8h.html +3 -3
  183. package/SVF-doxygen/html/RelationSolver_8h_source.html +6 -6
  184. package/SVF-doxygen/html/SCC_8h_source.html +2 -2
  185. package/SVF-doxygen/html/SVFBugReport_8h_source.html +3 -3
  186. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +18 -18
  187. package/SVF-doxygen/html/SVFFileSystem_8h.html +1 -1
  188. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +14 -14
  189. package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +2 -2
  190. package/SVF-doxygen/html/SVFGEdge_8h_source.html +2 -2
  191. package/SVF-doxygen/html/SVFGNode_8h_source.html +3 -3
  192. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +3 -3
  193. package/SVF-doxygen/html/SVFGOPT_8h_source.html +3 -3
  194. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +2 -2
  195. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +3 -3
  196. package/SVF-doxygen/html/SVFGStat_8h_source.html +4 -4
  197. package/SVF-doxygen/html/SVFG_8cpp_source.html +3 -3
  198. package/SVF-doxygen/html/SVFG_8h_source.html +3 -3
  199. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp.html +3 -3
  200. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +22 -22
  201. package/SVF-doxygen/html/SVFIR2ConsExeState_8h.html +3 -3
  202. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +14 -14
  203. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp.html +3 -3
  204. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +26 -26
  205. package/SVF-doxygen/html/SVFIR2ItvExeState_8h.html +7 -7
  206. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +15 -15
  207. package/SVF-doxygen/html/SVFIR2Relation_8cpp.html +3 -3
  208. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +4 -4
  209. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +9 -9
  210. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +3 -3
  211. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +4 -4
  212. package/SVF-doxygen/html/SVFIR_8cpp_source.html +3 -3
  213. package/SVF-doxygen/html/SVFIR_8h_source.html +7 -7
  214. package/SVF-doxygen/html/SVFLoop_8h_source.html +2 -2
  215. package/SVF-doxygen/html/SVFStat_8cpp_source.html +4 -4
  216. package/SVF-doxygen/html/SVFStat_8h_source.html +1 -1
  217. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +2 -2
  218. package/SVF-doxygen/html/SVFStatements_8h_source.html +7 -7
  219. package/SVF-doxygen/html/SVFType_8cpp_source.html +8 -8
  220. package/SVF-doxygen/html/SVFType_8h.html +24 -113
  221. package/SVF-doxygen/html/SVFType_8h_source.html +580 -698
  222. package/SVF-doxygen/html/SVFUtil_8cpp_source.html +2 -2
  223. package/SVF-doxygen/html/SVFUtil_8h.html +1 -1
  224. package/SVF-doxygen/html/SVFUtil_8h_source.html +5 -5
  225. package/SVF-doxygen/html/SVFValue_8cpp.html +6 -6
  226. package/SVF-doxygen/html/SVFValue_8cpp_source.html +6 -5
  227. package/SVF-doxygen/html/SVFValue_8h_source.html +10 -10
  228. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
  229. package/SVF-doxygen/html/SVFVariables_8h_source.html +3 -3
  230. package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
  231. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +12 -11
  232. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +3 -3
  233. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +4 -4
  234. package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +2 -2
  235. package/SVF-doxygen/html/SingleAbsValue_8h.html +3 -3
  236. package/SVF-doxygen/html/SingleAbsValue_8h_source.html +5 -5
  237. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +5 -5
  238. package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +2 -2
  239. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +6 -6
  240. package/SVF-doxygen/html/Steensgaard_8h_source.html +4 -4
  241. package/SVF-doxygen/html/SymState_8cpp.html +3 -3
  242. package/SVF-doxygen/html/SymState_8cpp_source.html +4 -4
  243. package/SVF-doxygen/html/SymState_8h.html +3 -3
  244. package/SVF-doxygen/html/SymState_8h_source.html +7 -7
  245. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +9 -9
  246. package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +3 -3
  247. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +17 -17
  248. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +8 -8
  249. package/SVF-doxygen/html/TCT_8cpp_source.html +5 -5
  250. package/SVF-doxygen/html/TCT_8h_source.html +5 -5
  251. package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +1 -1
  252. package/SVF-doxygen/html/ThreadAPI_8h_source.html +1 -1
  253. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +3 -3
  254. package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +4 -4
  255. package/SVF-doxygen/html/TypeAnalysis_8cpp_source.html +1 -1
  256. package/SVF-doxygen/html/VFGEdge_8h_source.html +2 -2
  257. package/SVF-doxygen/html/VFGNode_8h_source.html +4 -4
  258. package/SVF-doxygen/html/VFG_8cpp_source.html +4 -4
  259. package/SVF-doxygen/html/VFG_8h_source.html +5 -5
  260. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
  261. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +6 -6
  262. package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +5 -5
  263. package/SVF-doxygen/html/WPAFSSolver_8h_source.html +1 -1
  264. package/SVF-doxygen/html/WPAPass_8cpp_source.html +5 -5
  265. package/SVF-doxygen/html/WPAPass_8h_source.html +3 -3
  266. package/SVF-doxygen/html/WPASolver_8h_source.html +3 -3
  267. package/SVF-doxygen/html/WPAStat_8h_source.html +1 -1
  268. package/SVF-doxygen/html/WTO_8h_source.html +3 -3
  269. package/SVF-doxygen/html/WorkList_8h_source.html +2 -2
  270. package/SVF-doxygen/html/Z3Expr_8cpp_source.html +1 -1
  271. package/SVF-doxygen/html/Z3Expr_8h_source.html +1 -1
  272. package/SVF-doxygen/html/ae_8cpp.html +70 -21
  273. package/SVF-doxygen/html/ae_8cpp_source.html +715 -631
  274. package/SVF-doxygen/html/annotated.html +446 -440
  275. package/SVF-doxygen/html/classSVF_1_1AE-members.html +137 -0
  276. package/SVF-doxygen/html/classSVF_1_1AE.html +2884 -0
  277. package/SVF-doxygen/html/classSVF_1_1AE.png +0 -0
  278. package/SVF-doxygen/html/classSVF_1_1AEAPI-members.html +119 -0
  279. package/SVF-doxygen/html/classSVF_1_1AEAPI.html +1947 -0
  280. package/SVF-doxygen/html/classSVF_1_1AEAPI.png +0 -0
  281. package/SVF-doxygen/html/classSVF_1_1AEStat-members.html +123 -0
  282. package/SVF-doxygen/html/classSVF_1_1AEStat.html +707 -0
  283. package/SVF-doxygen/html/classSVF_1_1AEStat.png +0 -0
  284. package/SVF-doxygen/html/classSVF_1_1AbstractValue.html +17 -17
  285. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +16 -15
  286. package/SVF-doxygen/html/classSVF_1_1AddressValue.html +146 -147
  287. package/SVF-doxygen/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  288. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
  289. package/SVF-doxygen/html/classSVF_1_1Andersen.html +9 -9
  290. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +3 -3
  291. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +4 -4
  292. package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +6 -6
  293. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +34 -34
  294. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +2 -2
  295. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +4 -4
  296. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +3 -3
  297. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +2 -2
  298. package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +1 -1
  299. package/SVF-doxygen/html/classSVF_1_1BreakConstantGEPs.html +5 -5
  300. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker-members.html +139 -0
  301. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +619 -0
  302. package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.png +0 -0
  303. package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI-members.html +127 -0
  304. package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI.html +984 -0
  305. package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI.png +0 -0
  306. package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +3 -3
  307. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder-members.html +1 -0
  308. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder.html +38 -6
  309. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO-members.html +2 -1
  310. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.html +50 -23
  311. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph.html +92 -92
  312. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode-members.html +2 -1
  313. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode.html +189 -156
  314. package/SVF-doxygen/html/classSVF_1_1CFGNormalizer.html +5 -5
  315. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +6 -6
  316. package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -1
  317. package/SVF-doxygen/html/classSVF_1_1CFLGraphBuilder.html +2 -2
  318. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +3 -3
  319. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +9 -9
  320. package/SVF-doxygen/html/classSVF_1_1CSC.html +3 -3
  321. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +4 -4
  322. package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +783 -785
  323. package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +6 -6
  324. package/SVF-doxygen/html/classSVF_1_1ConstraintNode-members.html +34 -34
  325. package/SVF-doxygen/html/classSVF_1_1ConstraintNode.html +65 -25
  326. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +7 -7
  327. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +3 -3
  328. package/SVF-doxygen/html/classSVF_1_1DDAClient.html +7 -7
  329. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +6 -6
  330. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +9 -9
  331. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +5 -5
  332. package/SVF-doxygen/html/classSVF_1_1ExeState.html +195 -195
  333. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +5 -5
  334. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +7 -7
  335. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +12 -12
  336. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +5 -5
  337. package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +8 -8
  338. package/SVF-doxygen/html/classSVF_1_1GenericNode.html +10 -9
  339. package/SVF-doxygen/html/classSVF_1_1GenericNode.png +0 -0
  340. package/SVF-doxygen/html/classSVF_1_1GrammarBase.html +2 -2
  341. package/SVF-doxygen/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +1 -1
  342. package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
  343. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +5 -5
  344. package/SVF-doxygen/html/classSVF_1_1ICFGWTO.html +1 -1
  345. package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
  346. package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +20 -21
  347. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.html +11 -11
  348. package/SVF-doxygen/html/classSVF_1_1IntervalValue.html +15 -15
  349. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +3 -3
  350. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +43 -44
  351. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +1 -1
  352. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +7 -7
  353. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  354. package/SVF-doxygen/html/classSVF_1_1MHP.html +7 -7
  355. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +7 -7
  356. package/SVF-doxygen/html/classSVF_1_1MTA.html +5 -5
  357. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
  358. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +4 -4
  359. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +4 -4
  360. package/SVF-doxygen/html/classSVF_1_1MTAStat.html +6 -6
  361. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +14 -14
  362. package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +6 -6
  363. package/SVF-doxygen/html/classSVF_1_1MutableDFPTData.html +1 -1
  364. package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +4 -4
  365. package/SVF-doxygen/html/classSVF_1_1NumericLiteral.html +326 -326
  366. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +12 -12
  367. package/SVF-doxygen/html/classSVF_1_1Options-members.html +79 -73
  368. package/SVF-doxygen/html/classSVF_1_1Options.html +168 -0
  369. package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +5 -5
  370. package/SVF-doxygen/html/classSVF_1_1PCG.html +3 -3
  371. package/SVF-doxygen/html/classSVF_1_1POCRSolver.html +1 -1
  372. package/SVF-doxygen/html/classSVF_1_1PTACallGraph.html +1 -1
  373. package/SVF-doxygen/html/classSVF_1_1PTAStat.html +6 -6
  374. package/SVF-doxygen/html/classSVF_1_1PersistentDFPTData.html +1 -1
  375. package/SVF-doxygen/html/classSVF_1_1PersistentDiffPTData.html +1 -1
  376. package/SVF-doxygen/html/classSVF_1_1PersistentPTData.html +1 -1
  377. package/SVF-doxygen/html/classSVF_1_1PersistentPointsToCache.html +1 -1
  378. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +2 -2
  379. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +7 -7
  380. package/SVF-doxygen/html/classSVF_1_1PointsTo.html +1 -1
  381. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +6 -6
  382. package/SVF-doxygen/html/classSVF_1_1RelExeState.html +140 -140
  383. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +12 -12
  384. package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +29 -29
  385. package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock.html +5 -5
  386. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +1 -1
  387. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +19 -19
  388. package/SVF-doxygen/html/classSVF_1_1SVFG.html +4 -4
  389. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -2
  390. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +3 -3
  391. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +5 -5
  392. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +1 -1
  393. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +55 -55
  394. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +69 -69
  395. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +32 -32
  396. package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +2 -2
  397. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +21 -21
  398. package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +1 -1
  399. package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +25 -25
  400. package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +13 -13
  401. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +31 -30
  402. package/SVF-doxygen/html/classSVF_1_1SVFStat.png +0 -0
  403. package/SVF-doxygen/html/classSVF_1_1SVFStmt.html +1 -1
  404. package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +25 -25
  405. package/SVF-doxygen/html/classSVF_1_1SVFType.html +89 -89
  406. package/SVF-doxygen/html/classSVF_1_1SVFVar.html +1 -1
  407. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +17 -17
  408. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +4 -4
  409. package/SVF-doxygen/html/classSVF_1_1SingleAbsValue.html +1 -1
  410. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +6 -6
  411. package/SVF-doxygen/html/classSVF_1_1StInfo.html +73 -73
  412. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +6 -6
  413. package/SVF-doxygen/html/classSVF_1_1SymState.html +4 -4
  414. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +24 -24
  415. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +20 -20
  416. package/SVF-doxygen/html/classSVF_1_1TCT.html +6 -6
  417. package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +1 -1
  418. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +3 -3
  419. package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +4 -4
  420. package/SVF-doxygen/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
  421. package/SVF-doxygen/html/classSVF_1_1VFG.html +3 -3
  422. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +8 -8
  423. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +11 -11
  424. package/SVF-doxygen/html/classSVF_1_1WPAFSSolver.html +2 -2
  425. package/SVF-doxygen/html/classSVF_1_1WPAMinimumSolver.html +2 -2
  426. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +5 -5
  427. package/SVF-doxygen/html/classSVF_1_1WPASCCSolver.html +2 -2
  428. package/SVF-doxygen/html/classSVF_1_1WPASolver.html +1 -1
  429. package/SVF-doxygen/html/classSymblicAbstractionTest.html +564 -564
  430. package/SVF-doxygen/html/classes.html +454 -446
  431. package/SVF-doxygen/html/dir_2c6fb801affc4b3efe6e1ed5974683f6.html +112 -0
  432. package/SVF-doxygen/html/dir_390f2a6be5eff59a6919ecbd9cc9f31d.html +1 -1
  433. package/SVF-doxygen/html/dir_445b24f35a8ddd2effd3d23ee1278e0a.html +2 -0
  434. package/SVF-doxygen/html/dir_53d761ae38d6f143a0d195c719804439.html +88 -0
  435. package/SVF-doxygen/html/dir_7e02b97230e2801c6749b0b00985526f.html +88 -0
  436. package/SVF-doxygen/html/dir_81caa96ab1d3de93b353e2bbe80e6067.html +92 -0
  437. package/SVF-doxygen/html/dir_946e55d8e7afdb1629c1e1d7cdc5486a.html +1 -1
  438. package/SVF-doxygen/html/dir_9a8e7a56f4029a0d9f62b1c6d1f6e85b.html +100 -0
  439. package/SVF-doxygen/html/dir_fbec400583b4bd6c5f2e89c86c5943a6.html +92 -0
  440. package/SVF-doxygen/html/files.html +51 -42
  441. package/SVF-doxygen/html/functions.html +90 -2
  442. package/SVF-doxygen/html/functions_a.html +41 -11
  443. package/SVF-doxygen/html/functions_b.html +20 -4
  444. package/SVF-doxygen/html/functions_c.html +47 -31
  445. package/SVF-doxygen/html/functions_d.html +14 -2
  446. package/SVF-doxygen/html/functions_e.html +7 -1
  447. package/SVF-doxygen/html/functions_enum.html +3 -0
  448. package/SVF-doxygen/html/functions_eval_m.html +6 -0
  449. package/SVF-doxygen/html/functions_eval_s.html +6 -0
  450. package/SVF-doxygen/html/functions_eval_u.html +3 -0
  451. package/SVF-doxygen/html/functions_f.html +15 -12
  452. package/SVF-doxygen/html/functions_func.html +37 -10
  453. package/SVF-doxygen/html/functions_func_b.html +11 -2
  454. package/SVF-doxygen/html/functions_func_c.html +43 -27
  455. package/SVF-doxygen/html/functions_func_d.html +13 -1
  456. package/SVF-doxygen/html/functions_func_e.html +4 -1
  457. package/SVF-doxygen/html/functions_func_f.html +6 -3
  458. package/SVF-doxygen/html/functions_func_g.html +53 -17
  459. package/SVF-doxygen/html/functions_func_h.html +52 -1
  460. package/SVF-doxygen/html/functions_func_i.html +38 -8
  461. package/SVF-doxygen/html/functions_func_m.html +5 -2
  462. package/SVF-doxygen/html/functions_func_n.html +5 -2
  463. package/SVF-doxygen/html/functions_func_o.html +3 -3
  464. package/SVF-doxygen/html/functions_func_p.html +6 -5
  465. package/SVF-doxygen/html/functions_func_r.html +13 -8
  466. package/SVF-doxygen/html/functions_func_s.html +48 -26
  467. package/SVF-doxygen/html/functions_func_t.html +3 -0
  468. package/SVF-doxygen/html/functions_func_w.html +9 -3
  469. package/SVF-doxygen/html/functions_func_~.html +18 -0
  470. package/SVF-doxygen/html/functions_g.html +57 -18
  471. package/SVF-doxygen/html/functions_h.html +55 -4
  472. package/SVF-doxygen/html/functions_i.html +41 -11
  473. package/SVF-doxygen/html/functions_m.html +17 -2
  474. package/SVF-doxygen/html/functions_n.html +8 -5
  475. package/SVF-doxygen/html/functions_o.html +19 -16
  476. package/SVF-doxygen/html/functions_p.html +17 -18
  477. package/SVF-doxygen/html/functions_r.html +17 -7
  478. package/SVF-doxygen/html/functions_rela.html +6 -0
  479. package/SVF-doxygen/html/functions_s.html +51 -23
  480. package/SVF-doxygen/html/functions_t.html +10 -4
  481. package/SVF-doxygen/html/functions_type.html +2 -1
  482. package/SVF-doxygen/html/functions_type_c.html +2 -1
  483. package/SVF-doxygen/html/functions_u.html +5 -2
  484. package/SVF-doxygen/html/functions_v.html +3 -1
  485. package/SVF-doxygen/html/functions_vars.html +90 -2
  486. package/SVF-doxygen/html/functions_vars_b.html +9 -0
  487. package/SVF-doxygen/html/functions_vars_c.html +3 -0
  488. package/SVF-doxygen/html/functions_vars_g.html +3 -0
  489. package/SVF-doxygen/html/functions_vars_m.html +6 -0
  490. package/SVF-doxygen/html/functions_vars_o.html +3 -0
  491. package/SVF-doxygen/html/functions_vars_r.html +3 -0
  492. package/SVF-doxygen/html/functions_vars_t.html +3 -0
  493. package/SVF-doxygen/html/functions_vars_w.html +3 -0
  494. package/SVF-doxygen/html/functions_w.html +19 -14
  495. package/SVF-doxygen/html/functions_~.html +18 -0
  496. package/SVF-doxygen/html/globals.html +8 -2
  497. package/SVF-doxygen/html/globals_b.html +3 -0
  498. package/SVF-doxygen/html/globals_defs.html +9 -0
  499. package/SVF-doxygen/html/globals_n.html +5 -2
  500. package/SVF-doxygen/html/globals_s.html +5 -2
  501. package/SVF-doxygen/html/globals_vars.html +9 -3
  502. package/SVF-doxygen/html/globals_z.html +3 -3
  503. package/SVF-doxygen/html/hierarchy.html +647 -640
  504. package/SVF-doxygen/html/namespaceSVF.html +166 -70
  505. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +8 -8
  506. package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +4 -4
  507. package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +6 -6
  508. package/SVF-doxygen/html/namespacemembers_a.html +3 -0
  509. package/SVF-doxygen/html/namespacemembers_enum.html +3 -0
  510. package/SVF-doxygen/html/namespacemembers_func_i.html +8 -5
  511. package/SVF-doxygen/html/namespacemembers_i.html +10 -7
  512. package/SVF-doxygen/html/search/all_0.js +182 -154
  513. package/SVF-doxygen/html/search/all_1.js +507 -496
  514. package/SVF-doxygen/html/search/all_10.js +325 -325
  515. package/SVF-doxygen/html/search/all_11.js +228 -226
  516. package/SVF-doxygen/html/search/all_12.js +569 -559
  517. package/SVF-doxygen/html/search/all_13.js +208 -206
  518. package/SVF-doxygen/html/search/all_14.js +69 -68
  519. package/SVF-doxygen/html/search/all_15.js +176 -176
  520. package/SVF-doxygen/html/search/all_16.js +78 -75
  521. package/SVF-doxygen/html/search/all_17.js +1 -1
  522. package/SVF-doxygen/html/search/all_18.js +1 -1
  523. package/SVF-doxygen/html/search/all_19.js +26 -26
  524. package/SVF-doxygen/html/search/all_1a.js +182 -176
  525. package/SVF-doxygen/html/search/all_2.js +182 -174
  526. package/SVF-doxygen/html/search/all_3.js +654 -650
  527. package/SVF-doxygen/html/search/all_4.js +237 -233
  528. package/SVF-doxygen/html/search/all_5.js +128 -126
  529. package/SVF-doxygen/html/search/all_6.js +232 -231
  530. package/SVF-doxygen/html/search/all_7.js +1060 -1047
  531. package/SVF-doxygen/html/search/all_8.js +217 -201
  532. package/SVF-doxygen/html/search/all_9.js +628 -619
  533. package/SVF-doxygen/html/search/all_a.js +46 -46
  534. package/SVF-doxygen/html/search/all_b.js +26 -26
  535. package/SVF-doxygen/html/search/all_c.js +115 -115
  536. package/SVF-doxygen/html/search/all_d.js +203 -198
  537. package/SVF-doxygen/html/search/all_e.js +209 -207
  538. package/SVF-doxygen/html/search/all_f.js +121 -120
  539. package/SVF-doxygen/html/search/classes_0.js +29 -26
  540. package/SVF-doxygen/html/search/classes_1.js +12 -9
  541. package/SVF-doxygen/html/search/classes_10.js +74 -74
  542. package/SVF-doxygen/html/search/classes_11.js +14 -14
  543. package/SVF-doxygen/html/search/classes_12.js +2 -2
  544. package/SVF-doxygen/html/search/classes_13.js +10 -10
  545. package/SVF-doxygen/html/search/classes_14.js +20 -20
  546. package/SVF-doxygen/html/search/classes_15.js +1 -1
  547. package/SVF-doxygen/html/search/classes_2.js +78 -78
  548. package/SVF-doxygen/html/search/classes_3.js +37 -37
  549. package/SVF-doxygen/html/search/classes_4.js +9 -9
  550. package/SVF-doxygen/html/search/classes_5.js +28 -28
  551. package/SVF-doxygen/html/search/classes_6.js +104 -104
  552. package/SVF-doxygen/html/search/classes_7.js +38 -38
  553. package/SVF-doxygen/html/search/classes_8.js +58 -58
  554. package/SVF-doxygen/html/search/classes_9.js +1 -1
  555. package/SVF-doxygen/html/search/classes_a.js +12 -12
  556. package/SVF-doxygen/html/search/classes_b.js +29 -29
  557. package/SVF-doxygen/html/search/classes_c.js +6 -6
  558. package/SVF-doxygen/html/search/classes_d.js +19 -19
  559. package/SVF-doxygen/html/search/classes_e.js +36 -36
  560. package/SVF-doxygen/html/search/classes_f.js +25 -25
  561. package/SVF-doxygen/html/search/defines_0.js +3 -3
  562. package/SVF-doxygen/html/search/defines_1.js +3 -2
  563. package/SVF-doxygen/html/search/defines_10.js +2 -2
  564. package/SVF-doxygen/html/search/defines_2.js +30 -30
  565. package/SVF-doxygen/html/search/defines_3.js +20 -20
  566. package/SVF-doxygen/html/search/defines_4.js +3 -3
  567. package/SVF-doxygen/html/search/defines_5.js +4 -4
  568. package/SVF-doxygen/html/search/defines_6.js +2 -2
  569. package/SVF-doxygen/html/search/defines_7.js +5 -5
  570. package/SVF-doxygen/html/search/defines_8.js +11 -11
  571. package/SVF-doxygen/html/search/defines_9.js +9 -9
  572. package/SVF-doxygen/html/search/defines_a.js +2 -2
  573. package/SVF-doxygen/html/search/defines_b.js +1 -1
  574. package/SVF-doxygen/html/search/defines_c.js +4 -3
  575. package/SVF-doxygen/html/search/defines_d.js +2 -2
  576. package/SVF-doxygen/html/search/defines_e.js +8 -7
  577. package/SVF-doxygen/html/search/defines_f.js +4 -4
  578. package/SVF-doxygen/html/search/enums_0.js +4 -3
  579. package/SVF-doxygen/html/search/enums_1.js +2 -2
  580. package/SVF-doxygen/html/search/enums_10.js +1 -1
  581. package/SVF-doxygen/html/search/enums_11.js +1 -1
  582. package/SVF-doxygen/html/search/enums_2.js +8 -8
  583. package/SVF-doxygen/html/search/enums_3.js +1 -1
  584. package/SVF-doxygen/html/search/enums_4.js +4 -3
  585. package/SVF-doxygen/html/search/enums_5.js +1 -1
  586. package/SVF-doxygen/html/search/enums_6.js +2 -2
  587. package/SVF-doxygen/html/search/enums_7.js +2 -2
  588. package/SVF-doxygen/html/search/enums_8.js +4 -4
  589. package/SVF-doxygen/html/search/enums_9.js +1 -1
  590. package/SVF-doxygen/html/search/enums_a.js +1 -1
  591. package/SVF-doxygen/html/search/enums_b.js +7 -7
  592. package/SVF-doxygen/html/search/enums_c.js +1 -1
  593. package/SVF-doxygen/html/search/enums_d.js +4 -4
  594. package/SVF-doxygen/html/search/enums_e.js +2 -2
  595. package/SVF-doxygen/html/search/enums_f.js +4 -4
  596. package/SVF-doxygen/html/search/enumvalues_0.js +15 -14
  597. package/SVF-doxygen/html/search/enumvalues_1.js +15 -14
  598. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  599. package/SVF-doxygen/html/search/enumvalues_11.js +4 -3
  600. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  601. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  602. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  603. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  604. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  605. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  606. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  607. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  608. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  609. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  610. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  611. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  612. package/SVF-doxygen/html/search/enumvalues_a.js +17 -15
  613. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  614. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  615. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  616. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  617. package/SVF-doxygen/html/search/enumvalues_f.js +47 -45
  618. package/SVF-doxygen/html/search/files_0.js +15 -14
  619. package/SVF-doxygen/html/search/files_1.js +9 -7
  620. package/SVF-doxygen/html/search/files_10.js +8 -8
  621. package/SVF-doxygen/html/search/files_11.js +8 -8
  622. package/SVF-doxygen/html/search/files_12.js +2 -2
  623. package/SVF-doxygen/html/search/files_2.js +58 -58
  624. package/SVF-doxygen/html/search/files_3.js +14 -14
  625. package/SVF-doxygen/html/search/files_4.js +5 -5
  626. package/SVF-doxygen/html/search/files_5.js +13 -13
  627. package/SVF-doxygen/html/search/files_6.js +10 -9
  628. package/SVF-doxygen/html/search/files_7.js +15 -15
  629. package/SVF-doxygen/html/search/files_8.js +13 -13
  630. package/SVF-doxygen/html/search/files_9.js +18 -18
  631. package/SVF-doxygen/html/search/files_a.js +3 -3
  632. package/SVF-doxygen/html/search/files_b.js +4 -4
  633. package/SVF-doxygen/html/search/files_c.js +20 -20
  634. package/SVF-doxygen/html/search/files_d.js +4 -4
  635. package/SVF-doxygen/html/search/files_e.js +62 -62
  636. package/SVF-doxygen/html/search/files_f.js +8 -8
  637. package/SVF-doxygen/html/search/functions_0.js +13 -13
  638. package/SVF-doxygen/html/search/functions_1.js +374 -365
  639. package/SVF-doxygen/html/search/functions_10.js +140 -140
  640. package/SVF-doxygen/html/search/functions_11.js +142 -141
  641. package/SVF-doxygen/html/search/functions_12.js +298 -291
  642. package/SVF-doxygen/html/search/functions_13.js +74 -73
  643. package/SVF-doxygen/html/search/functions_14.js +40 -40
  644. package/SVF-doxygen/html/search/functions_15.js +72 -72
  645. package/SVF-doxygen/html/search/functions_16.js +38 -36
  646. package/SVF-doxygen/html/search/functions_17.js +3 -3
  647. package/SVF-doxygen/html/search/functions_18.js +182 -176
  648. package/SVF-doxygen/html/search/functions_2.js +95 -92
  649. package/SVF-doxygen/html/search/functions_3.js +266 -262
  650. package/SVF-doxygen/html/search/functions_4.js +84 -80
  651. package/SVF-doxygen/html/search/functions_5.js +57 -56
  652. package/SVF-doxygen/html/search/functions_6.js +65 -64
  653. package/SVF-doxygen/html/search/functions_7.js +867 -856
  654. package/SVF-doxygen/html/search/functions_8.js +164 -148
  655. package/SVF-doxygen/html/search/functions_9.js +440 -431
  656. package/SVF-doxygen/html/search/functions_a.js +30 -30
  657. package/SVF-doxygen/html/search/functions_b.js +2 -2
  658. package/SVF-doxygen/html/search/functions_c.js +25 -25
  659. package/SVF-doxygen/html/search/functions_d.js +81 -80
  660. package/SVF-doxygen/html/search/functions_e.js +36 -35
  661. package/SVF-doxygen/html/search/functions_f.js +58 -58
  662. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  663. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  664. package/SVF-doxygen/html/search/related_0.js +4 -2
  665. package/SVF-doxygen/html/search/related_1.js +2 -2
  666. package/SVF-doxygen/html/search/related_2.js +3 -3
  667. package/SVF-doxygen/html/search/related_3.js +2 -2
  668. package/SVF-doxygen/html/search/related_4.js +2 -2
  669. package/SVF-doxygen/html/search/related_5.js +1 -1
  670. package/SVF-doxygen/html/search/related_6.js +2 -2
  671. package/SVF-doxygen/html/search/related_7.js +4 -4
  672. package/SVF-doxygen/html/search/related_8.js +2 -2
  673. package/SVF-doxygen/html/search/related_9.js +4 -4
  674. package/SVF-doxygen/html/search/related_a.js +19 -19
  675. package/SVF-doxygen/html/search/related_b.js +4 -4
  676. package/SVF-doxygen/html/search/related_c.js +2 -2
  677. package/SVF-doxygen/html/search/related_d.js +12 -12
  678. package/SVF-doxygen/html/search/related_e.js +2 -2
  679. package/SVF-doxygen/html/search/related_f.js +2 -2
  680. package/SVF-doxygen/html/search/typedefs_0.js +20 -20
  681. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  682. package/SVF-doxygen/html/search/typedefs_10.js +63 -63
  683. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  684. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  685. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  686. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  687. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  688. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  689. package/SVF-doxygen/html/search/typedefs_4.js +18 -18
  690. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  691. package/SVF-doxygen/html/search/typedefs_6.js +57 -57
  692. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  693. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  694. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  695. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  696. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  697. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  698. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  699. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  700. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  701. package/SVF-doxygen/html/search/variables_0.js +182 -154
  702. package/SVF-doxygen/html/search/variables_1.js +76 -76
  703. package/SVF-doxygen/html/search/variables_10.js +98 -98
  704. package/SVF-doxygen/html/search/variables_11.js +46 -45
  705. package/SVF-doxygen/html/search/variables_12.js +93 -93
  706. package/SVF-doxygen/html/search/variables_13.js +76 -75
  707. package/SVF-doxygen/html/search/variables_14.js +14 -14
  708. package/SVF-doxygen/html/search/variables_15.js +49 -49
  709. package/SVF-doxygen/html/search/variables_16.js +11 -10
  710. package/SVF-doxygen/html/search/variables_17.js +1 -1
  711. package/SVF-doxygen/html/search/variables_18.js +17 -17
  712. package/SVF-doxygen/html/search/variables_2.js +41 -38
  713. package/SVF-doxygen/html/search/variables_3.js +142 -142
  714. package/SVF-doxygen/html/search/variables_4.js +51 -51
  715. package/SVF-doxygen/html/search/variables_5.js +39 -39
  716. package/SVF-doxygen/html/search/variables_6.js +66 -66
  717. package/SVF-doxygen/html/search/variables_7.js +34 -33
  718. package/SVF-doxygen/html/search/variables_8.js +8 -8
  719. package/SVF-doxygen/html/search/variables_9.js +78 -78
  720. package/SVF-doxygen/html/search/variables_a.js +4 -4
  721. package/SVF-doxygen/html/search/variables_b.js +10 -10
  722. package/SVF-doxygen/html/search/variables_c.js +45 -45
  723. package/SVF-doxygen/html/search/variables_d.js +57 -55
  724. package/SVF-doxygen/html/search/variables_e.js +123 -123
  725. package/SVF-doxygen/html/search/variables_f.js +31 -30
  726. package/SVF-doxygen/html/structSVF_1_1BufOverflowException-members.html +100 -0
  727. package/SVF-doxygen/html/structSVF_1_1BufOverflowException.html +663 -0
  728. package/SVF-doxygen/html/structSVF_1_1BufOverflowException.png +0 -0
  729. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +102 -102
  730. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
  731. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
  732. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
  733. package/SVF-doxygen/html/structSVF_1_1GrammarBase_1_1Symbol.html +1 -1
  734. package/SVF-doxygen/html/structSVF_1_1Hash.html +8 -8
  735. package/SVF-doxygen/html/structSVF_1_1Hash_3_01NodePair_01_4.html +11 -11
  736. package/SVF-doxygen/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +14 -14
  737. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +1 -1
  738. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +1 -1
  739. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
  740. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html +7 -7
  741. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
  742. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  743. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +6 -6
  744. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html +1 -1
  745. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +11 -11
  746. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NumericLiteral_01_4.html +6 -6
  747. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1RelExeState_01_4.html +1 -1
  748. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SingleAbsValue_01_4.html +1 -1
  749. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +8 -8
  750. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  751. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +2 -2
  752. package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +15 -15
  753. package/SVF-doxygen/html/svf-ex_8cpp.html +193 -193
  754. package/SVF-doxygen/html/svf-ex_8cpp_source.html +212 -213
  755. package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
  756. package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +2 -2
  757. package/package.json +1 -1
  758. package/svf/include/{AbstractExecution → AE/Core}/AbstractValue.h +0 -1
  759. package/svf/include/{AbstractExecution → AE/Core}/AddressValue.h +6 -4
  760. package/svf/include/{AbstractExecution → AE/Core}/CFBasicBlockGWTO.h +2 -0
  761. package/svf/include/{AbstractExecution → AE/Core}/ConsExeState.h +5 -3
  762. package/svf/include/{AbstractExecution → AE/Core}/ExeState.h +3 -2
  763. package/svf/include/{AbstractExecution → AE/Core}/IntervalExeState.h +2 -2
  764. package/svf/include/{AbstractExecution → AE/Core}/IntervalValue.h +2 -2
  765. package/svf/include/{AbstractExecution → AE/Core}/NumericLiteral.h +2 -4
  766. package/svf/include/{AbstractExecution → AE/Core}/RelExeState.h +1 -1
  767. package/svf/include/{AbstractExecution → AE/Core}/RelationSolver.h +1 -1
  768. package/svf/include/{AbstractExecution → AE/Core}/SingleAbsValue.h +1 -1
  769. package/svf/include/{AbstractExecution → AE/Core}/SymState.h +1 -1
  770. package/svf/include/AE/Svfexe/AE.h +434 -0
  771. package/svf/include/AE/Svfexe/BufOverflowChecker.h +223 -0
  772. package/svf/include/{AbstractExecution → AE/Svfexe}/SVFIR2ConsExeState.h +1 -1
  773. package/svf/include/{AbstractExecution → AE/Svfexe}/SVFIR2ItvExeState.h +4 -4
  774. package/svf/include/Graphs/CFBasicBlockG.h +6 -0
  775. package/svf/include/SVFIR/SVFType.h +2 -88
  776. package/svf/include/Util/CFBasicBlockGBuilder.h +5 -0
  777. package/svf/include/Util/GeneralType.h +123 -0
  778. package/svf/include/Util/Options.h +11 -0
  779. package/svf/lib/{AbstractExecution → AE/Core}/BoundedZ3Expr.cpp +1 -1
  780. package/svf/lib/{AbstractExecution → AE/Core}/ConsExeState.cpp +2 -5
  781. package/svf/lib/{AbstractExecution → AE/Core}/ExeState.cpp +2 -2
  782. package/svf/lib/{AbstractExecution → AE/Core}/IntervalExeState.cpp +1 -1
  783. package/svf/lib/{AbstractExecution → AE/Core}/RelExeState.cpp +3 -2
  784. package/svf/lib/{AbstractExecution → AE/Core}/RelationSolver.cpp +1 -1
  785. package/svf/lib/{AbstractExecution → AE/Core}/SVFIR2Relation.cpp +1 -1
  786. package/svf/lib/{AbstractExecution → AE/Core}/SymState.cpp +1 -1
  787. package/svf/lib/AE/Svfexe/AE.cpp +1833 -0
  788. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +839 -0
  789. package/svf/lib/{AbstractExecution → AE/Svfexe}/SVFIR2ConsExeState.cpp +1 -1
  790. package/svf/lib/{AbstractExecution → AE/Svfexe}/SVFIR2ItvExeState.cpp +1 -1
  791. package/svf/lib/Util/Options.cpp +13 -0
  792. package/svf-llvm/tools/AE/CMakeLists.txt +1 -0
  793. package/svf-llvm/tools/AE/ae.cpp +91 -26
  794. package/svf-llvm/tools/Example/svf-ex.cpp +3 -4
  795. /package/svf/include/{AbstractExecution → AE/Core}/BoundedZ3Expr.h +0 -0
  796. /package/svf/include/{AbstractExecution → AE/Core}/ICFGWTO.h +0 -0
@@ -5,7 +5,7 @@
5
5
  <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
6
  <meta name="generator" content="Doxygen 1.8.17"/>
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
- <title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/svf/lib/AbstractExecution/RelExeState.cpp Source File</title>
8
+ <title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/svf/lib/AE/Core/RelExeState.cpp Source File</title>
9
9
  <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
10
  <script type="text/javascript" src="jquery.js"></script>
11
11
  <script type="text/javascript" src="dynsections.js"></script>
@@ -61,7 +61,7 @@ $(function() {
61
61
 
62
62
  <div id="nav-path" class="navpath">
63
63
  <ul>
64
- <li class="navelem"><a class="el" href="dir_f984cfbe93434e3daf67f2a9bd6d521f.html">svf</a></li><li class="navelem"><a class="el" href="dir_946e55d8e7afdb1629c1e1d7cdc5486a.html">lib</a></li><li class="navelem"><a class="el" href="dir_55e8f54f3ca1d4dbc7f935b7c2a0bfd8.html">AbstractExecution</a></li> </ul>
64
+ <li class="navelem"><a class="el" href="dir_f984cfbe93434e3daf67f2a9bd6d521f.html">svf</a></li><li class="navelem"><a class="el" href="dir_946e55d8e7afdb1629c1e1d7cdc5486a.html">lib</a></li><li class="navelem"><a class="el" href="dir_7e02b97230e2801c6749b0b00985526f.html">AE</a></li><li class="navelem"><a class="el" href="dir_9a8e7a56f4029a0d9f62b1c6d1f6e85b.html">Core</a></li> </ul>
65
65
  </div>
66
66
  </div><!-- top -->
67
67
  <div class="header">
@@ -98,177 +98,179 @@ $(function() {
98
98
  <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> *</span></div>
99
99
  <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div>
100
100
  <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
101
- <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="RelExeState_8h.html">AbstractExecution/RelExeState.h</a>&quot;</span></div>
102
- <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFIR_8h.html">SVFIR/SVFIR.h</a>&quot;</span></div>
103
- <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &lt;iomanip&gt;</span></div>
104
- <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
105
- <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div>
106
- <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">using namespace </span>SVFUtil;</div>
107
- <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
108
- <div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a3393f160508c33e68ebedd042d1d296f"> 44</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RelExeState.html#a3393f160508c33e68ebedd042d1d296f">RelExeState::extractSubVars</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;expr, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;res)</div>
109
- <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div>
110
- <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">if</span> (expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().num_args() == 0)</div>
111
- <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> (!expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().is_true() &amp;&amp; !expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().is_false() &amp;&amp; !expr.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>())</div>
112
- <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div>
113
- <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;exprStr = expr.<a class="code" href="classSVF_1_1Z3Expr.html#a1da8e647e12c0e105271eadbd72f437e">to_string</a>();</div>
114
- <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; res.insert(std::stoi(exprStr.substr(1, exprStr.size() - 1)));</div>
115
- <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
116
- <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().num_args(); ++i)</div>
117
- <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div>
118
- <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">const</span> z3::expr &amp;e = expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().arg(i);</div>
119
- <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; extractSubVars(e, res);</div>
120
- <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
121
- <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
122
- <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
123
- <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#af32619ee086ab307c68923f7c66896aa"> 65</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RelExeState.html#af32619ee086ab307c68923f7c66896aa">RelExeState::extractCmpVars</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;expr, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;res)</div>
124
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;{</div>
125
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> r;</div>
126
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; extractSubVars(expr, r);</div>
127
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; res.insert(r.begin(), r.end());</div>
128
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; assert(!r.empty() &amp;&amp; <span class="stringliteral">&quot;symbol not init?&quot;</span>);</div>
129
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (r.size() == 1 &amp;&amp; eq(expr, toZ3Expr(*r.begin())))</div>
130
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
131
- <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span>;</div>
132
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
133
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<span class="keywordtype">id</span>: r)</div>
134
- <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div>
135
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; extractCmpVars((*<span class="keyword">this</span>)[<span class="keywordtype">id</span>], res);</div>
136
- <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
137
- <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;}</div>
138
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
139
- <div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#ab798aa0dfa3f71a53a6860dc84e92210"> 89</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> <a class="code" href="classSVF_1_1RelExeState.html#ab798aa0dfa3f71a53a6860dc84e92210">RelExeState::buildRelZ3Expr</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cmp, <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> succ, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;vars, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;initVars)</div>
140
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;{</div>
141
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> res = (getZ3Expr(cmp) == succ).simplify();</div>
142
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; extractSubVars(res, initVars);</div>
143
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; extractCmpVars(res, vars);</div>
144
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<span class="keywordtype">id</span>: vars)</div>
145
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div>
146
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; res = (res &amp;&amp; toZ3Expr(<span class="keywordtype">id</span>) == getZ3Expr(<span class="keywordtype">id</span>)).simplify();</div>
147
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
148
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; res = (res &amp;&amp; (toZ3Expr(cmp) == getZ3Expr(cmp))).<a class="code" href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">simplify</a>();</div>
149
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; vars.insert(cmp);</div>
150
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> res;</div>
151
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;}</div>
152
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
153
- <div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a7ab6cb58ed0f95417549b6291f658f86"> 103</a></span>&#160;<a class="code" href="classSVF_1_1RelExeState.html">RelExeState</a> &amp;<a class="code" href="classSVF_1_1RelExeState.html#a7ab6cb58ed0f95417549b6291f658f86">RelExeState::operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html">RelExeState</a> &amp;rhs)</div>
154
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;{</div>
155
- <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">if</span> (*<span class="keyword">this</span> != rhs)</div>
156
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
157
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; _varToVal = rhs.<a class="code" href="classSVF_1_1RelExeState.html#a9c64d2699cb67cdf8d1c3c23aebf2c4a">getVarToVal</a>();</div>
158
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; _locToVal = rhs.<a class="code" href="classSVF_1_1RelExeState.html#a3eb51c26ae9c87e1457d6515e6d537f9">getLocToVal</a>();</div>
159
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div>
160
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
161
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
162
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
163
- <div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#ac07371e3f4f62530088cd8e6b5f0ba4e"> 118</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RelExeState.html#ac07371e3f4f62530088cd8e6b5f0ba4e">RelExeState::operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html">RelExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
164
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword"></span>{</div>
165
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> eqVarToValMap(_varToVal, rhs.<a class="code" href="classSVF_1_1RelExeState.html#a9c64d2699cb67cdf8d1c3c23aebf2c4a">getVarToVal</a>()) &amp;&amp;</div>
166
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; eqVarToValMap(_locToVal, rhs.<a class="code" href="classSVF_1_1RelExeState.html#a3eb51c26ae9c87e1457d6515e6d537f9">getLocToVal</a>());</div>
167
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;}</div>
168
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
169
- <div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#ac280dc7a1db7dc80f9c85921215e4c97"> 129</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RelExeState.html#ac280dc7a1db7dc80f9c85921215e4c97">RelExeState::operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html">RelExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
170
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="keyword"></span>{</div>
171
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> lessThanVarToValMap(_varToVal, rhs.<a class="code" href="classSVF_1_1RelExeState.html#a9c64d2699cb67cdf8d1c3c23aebf2c4a">getVarToVal</a>()) ||</div>
172
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; lessThanVarToValMap(_locToVal, rhs.<a class="code" href="classSVF_1_1RelExeState.html#a3eb51c26ae9c87e1457d6515e6d537f9">getLocToVal</a>());</div>
173
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;}</div>
174
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; </div>
175
- <div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#aaa5306f4f26b5a11342a726c2f7e4bb6"> 135</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RelExeState.html#aaa5306f4f26b5a11342a726c2f7e4bb6">RelExeState::eqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html#afcdf0c842f48a35cf19b2f7887174e98">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html#afcdf0c842f48a35cf19b2f7887174e98">VarToValMap</a> &amp;rhs)<span class="keyword"> const</span></div>
176
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keyword"></span>{</div>
177
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span> (lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
178
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
179
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
180
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
181
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">// return false if SVFVar not exists in rhs or z3Expr not equal</span></div>
182
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">if</span> (it == rhs.end() || !eq(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second, it-&gt;second))</div>
183
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
184
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div>
185
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
186
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;}</div>
187
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
188
- <div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a1bc5dc440ad614fd7b4804bfa88c37c0"> 148</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RelExeState.html#a1bc5dc440ad614fd7b4804bfa88c37c0">RelExeState::lessThanVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html#afcdf0c842f48a35cf19b2f7887174e98">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html#afcdf0c842f48a35cf19b2f7887174e98">VarToValMap</a> &amp;rhs)<span class="keyword"> const</span></div>
189
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword"></span>{</div>
190
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">if</span> (lhs.size() != rhs.size()) <span class="keywordflow">return</span> lhs.size() &lt; rhs.size();</div>
191
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
192
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; {</div>
193
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
194
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="comment">// lhs &gt; rhs if SVFVar not exists in rhs</span></div>
195
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div>
196
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
197
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="comment">// judge from expr id</span></div>
198
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (!eq(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second, it-&gt;second))</div>
199
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.id() &lt; it-&gt;second.id();</div>
200
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
201
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
202
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;}</div>
203
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
204
- <div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a3a2d5de4c61fab8b277308a186795a13"> 169</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RelExeState.html#a3a2d5de4c61fab8b277308a186795a13">RelExeState::store</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;loc, <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;value)</div>
205
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;{</div>
206
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; assert(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;location must be numeral&quot;</span>);</div>
207
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = z3Expr2NumValue(loc);</div>
208
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; assert(isVirtualMemAddress(virAddr) &amp;&amp; <span class="stringliteral">&quot;Pointer operand is not a physical address?&quot;</span>);</div>
209
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; store(getInternalID(virAddr), value);</div>
210
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div>
211
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
212
- <div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#aa550a580be3278d19f759b3a644baea5"> 182</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;<a class="code" href="classSVF_1_1RelExeState.html#aa550a580be3278d19f759b3a644baea5">RelExeState::load</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;loc)</div>
213
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;{</div>
214
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; assert(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;location must be numeral&quot;</span>);</div>
215
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = z3Expr2NumValue(loc);</div>
216
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; assert(isVirtualMemAddress(virAddr) &amp;&amp; <span class="stringliteral">&quot;Pointer operand is not a physical address?&quot;</span>);</div>
217
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = getInternalID(virAddr);</div>
218
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; assert(getInternalID(objId) == objId &amp;&amp; <span class="stringliteral">&quot;SVFVar idx overflow &gt; 0x7f000000?&quot;</span>);</div>
219
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> load(objId);</div>
220
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;}</div>
221
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
222
- <div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a3537b1534a643af880ad6e474e00dc7b"> 195</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RelExeState.html#a3537b1534a643af880ad6e474e00dc7b">RelExeState::printExprValues</a>()</div>
223
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;{</div>
224
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; std::cout.flags(std::ios::left);</div>
225
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;-----------Var and Value-----------\n&quot;</span>;</div>
226
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: getVarToVal())</div>
227
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div>
228
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; std::stringstream exprName;</div>
229
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; exprName &lt;&lt; <span class="stringliteral">&quot;Var&quot;</span> &lt;&lt; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first;</div>
230
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; std::cout &lt;&lt; std::setw(25) &lt;&lt; exprName.str();</div>
231
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;sim = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.simplify();</div>
232
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (sim.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; isVirtualMemAddress(z3Expr2NumValue(sim)))</div>
233
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div>
234
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span> &lt;&lt; z3Expr2NumValue(sim) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
235
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
236
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">else</span></div>
237
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div>
238
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::dec &lt;&lt; sim &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
239
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div>
240
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div>
241
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;-----------------------------------------\n&quot;</span>;</div>
242
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}</div>
101
+ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="RelExeState_8h.html">AE/Core/RelExeState.h</a>&quot;</span></div>
102
+ <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="GeneralType_8h.html">Util/GeneralType.h</a>&quot;</span></div>
103
+ <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>&quot;</span></div>
104
+ <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &lt;iomanip&gt;</span></div>
105
+ <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
106
+ <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div>
107
+ <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">using namespace </span>SVFUtil;</div>
108
+ <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; </div>
109
+ <div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a3393f160508c33e68ebedd042d1d296f"> 45</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RelExeState.html#a3393f160508c33e68ebedd042d1d296f">RelExeState::extractSubVars</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;expr, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;res)</div>
110
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div>
111
+ <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> (expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().num_args() == 0)</div>
112
+ <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (!expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().is_true() &amp;&amp; !expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().is_false() &amp;&amp; !expr.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>())</div>
113
+ <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
114
+ <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;exprStr = expr.<a class="code" href="classSVF_1_1Z3Expr.html#a1da8e647e12c0e105271eadbd72f437e">to_string</a>();</div>
115
+ <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; res.insert(std::stoi(exprStr.substr(1, exprStr.size() - 1)));</div>
116
+ <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; }</div>
117
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().num_args(); ++i)</div>
118
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
119
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">const</span> z3::expr &amp;e = expr.<a class="code" href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">getExpr</a>().arg(i);</div>
120
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; extractSubVars(e, res);</div>
121
+ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
122
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div>
123
+ <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
124
+ <div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#af32619ee086ab307c68923f7c66896aa"> 66</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RelExeState.html#af32619ee086ab307c68923f7c66896aa">RelExeState::extractCmpVars</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;expr, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;res)</div>
125
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div>
126
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> r;</div>
127
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; extractSubVars(expr, r);</div>
128
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; res.insert(r.begin(), r.end());</div>
129
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; assert(!r.empty() &amp;&amp; <span class="stringliteral">&quot;symbol not init?&quot;</span>);</div>
130
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (r.size() == 1 &amp;&amp; eq(expr, toZ3Expr(*r.begin())))</div>
131
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div>
132
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span>;</div>
133
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
134
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<span class="keywordtype">id</span>: r)</div>
135
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; {</div>
136
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; extractCmpVars((*<span class="keyword">this</span>)[<span class="keywordtype">id</span>], res);</div>
137
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div>
138
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div>
139
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
140
+ <div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#ab798aa0dfa3f71a53a6860dc84e92210"> 90</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> <a class="code" href="classSVF_1_1RelExeState.html#ab798aa0dfa3f71a53a6860dc84e92210">RelExeState::buildRelZ3Expr</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cmp, <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> succ, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;vars, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;u32_t&gt;</a> &amp;initVars)</div>
141
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div>
142
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> res = (getZ3Expr(cmp) == succ).simplify();</div>
143
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; extractSubVars(res, initVars);</div>
144
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; extractCmpVars(res, vars);</div>
145
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<span class="keywordtype">id</span>: vars)</div>
146
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
147
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; res = (res &amp;&amp; toZ3Expr(<span class="keywordtype">id</span>) == getZ3Expr(<span class="keywordtype">id</span>)).simplify();</div>
148
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
149
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; res = (res &amp;&amp; (toZ3Expr(cmp) == getZ3Expr(cmp))).<a class="code" href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">simplify</a>();</div>
150
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; vars.insert(cmp);</div>
151
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> res;</div>
152
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div>
153
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
154
+ <div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a7ab6cb58ed0f95417549b6291f658f86"> 104</a></span>&#160;<a class="code" href="classSVF_1_1RelExeState.html">RelExeState</a> &amp;<a class="code" href="classSVF_1_1RelExeState.html#a7ab6cb58ed0f95417549b6291f658f86">RelExeState::operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html">RelExeState</a> &amp;rhs)</div>
155
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div>
156
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">if</span> (*<span class="keyword">this</span> != rhs)</div>
157
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div>
158
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; _varToVal = rhs.<a class="code" href="classSVF_1_1RelExeState.html#a9c64d2699cb67cdf8d1c3c23aebf2c4a">getVarToVal</a>();</div>
159
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; _locToVal = rhs.<a class="code" href="classSVF_1_1RelExeState.html#a3eb51c26ae9c87e1457d6515e6d537f9">getLocToVal</a>();</div>
160
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
161
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
162
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;}</div>
163
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
164
+ <div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#ac07371e3f4f62530088cd8e6b5f0ba4e"> 119</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RelExeState.html#ac07371e3f4f62530088cd8e6b5f0ba4e">RelExeState::operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html">RelExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
165
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="keyword"></span>{</div>
166
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> eqVarToValMap(_varToVal, rhs.<a class="code" href="classSVF_1_1RelExeState.html#a9c64d2699cb67cdf8d1c3c23aebf2c4a">getVarToVal</a>()) &amp;&amp;</div>
167
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; eqVarToValMap(_locToVal, rhs.<a class="code" href="classSVF_1_1RelExeState.html#a3eb51c26ae9c87e1457d6515e6d537f9">getLocToVal</a>());</div>
168
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div>
169
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
170
+ <div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#ac280dc7a1db7dc80f9c85921215e4c97"> 130</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RelExeState.html#ac280dc7a1db7dc80f9c85921215e4c97">RelExeState::operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html">RelExeState</a> &amp;rhs)<span class="keyword"> const</span></div>
171
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keyword"></span>{</div>
172
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> lessThanVarToValMap(_varToVal, rhs.<a class="code" href="classSVF_1_1RelExeState.html#a9c64d2699cb67cdf8d1c3c23aebf2c4a">getVarToVal</a>()) ||</div>
173
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; lessThanVarToValMap(_locToVal, rhs.<a class="code" href="classSVF_1_1RelExeState.html#a3eb51c26ae9c87e1457d6515e6d537f9">getLocToVal</a>());</div>
174
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;}</div>
175
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
176
+ <div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#aaa5306f4f26b5a11342a726c2f7e4bb6"> 136</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RelExeState.html#aaa5306f4f26b5a11342a726c2f7e4bb6">RelExeState::eqVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html#afcdf0c842f48a35cf19b2f7887174e98">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html#afcdf0c842f48a35cf19b2f7887174e98">VarToValMap</a> &amp;rhs)<span class="keyword"> const</span></div>
177
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keyword"></span>{</div>
178
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">if</span> (lhs.size() != rhs.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
179
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
180
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
181
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
182
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="comment">// return false if SVFVar not exists in rhs or z3Expr not equal</span></div>
183
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">if</span> (it == rhs.end() || !eq(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second, it-&gt;second))</div>
184
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
185
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
186
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
187
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;}</div>
188
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
189
+ <div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a1bc5dc440ad614fd7b4804bfa88c37c0"> 149</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1RelExeState.html#a1bc5dc440ad614fd7b4804bfa88c37c0">RelExeState::lessThanVarToValMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html#afcdf0c842f48a35cf19b2f7887174e98">VarToValMap</a> &amp;lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1RelExeState.html#afcdf0c842f48a35cf19b2f7887174e98">VarToValMap</a> &amp;rhs)<span class="keyword"> const</span></div>
190
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="keyword"></span>{</div>
191
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">if</span> (lhs.size() != rhs.size()) <span class="keywordflow">return</span> lhs.size() &lt; rhs.size();</div>
192
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: lhs)</div>
193
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div>
194
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">auto</span> it = rhs.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first);</div>
195
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="comment">// lhs &gt; rhs if SVFVar not exists in rhs</span></div>
196
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (it == rhs.end())</div>
197
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
198
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="comment">// judge from expr id</span></div>
199
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">if</span> (!eq(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second, it-&gt;second))</div>
200
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.id() &lt; it-&gt;second.id();</div>
201
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
202
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
203
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;}</div>
204
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
205
+ <div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a3a2d5de4c61fab8b277308a186795a13"> 170</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RelExeState.html#a3a2d5de4c61fab8b277308a186795a13">RelExeState::store</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;loc, <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;value)</div>
206
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;{</div>
207
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; assert(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;location must be numeral&quot;</span>);</div>
208
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = z3Expr2NumValue(loc);</div>
209
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; assert(isVirtualMemAddress(virAddr) &amp;&amp; <span class="stringliteral">&quot;Pointer operand is not a physical address?&quot;</span>);</div>
210
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; store(getInternalID(virAddr), value);</div>
211
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;}</div>
212
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
213
+ <div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#aa550a580be3278d19f759b3a644baea5"> 183</a></span>&#160;<a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;<a class="code" href="classSVF_1_1RelExeState.html#aa550a580be3278d19f759b3a644baea5">RelExeState::load</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;loc)</div>
214
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;{</div>
215
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; assert(loc.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; <span class="stringliteral">&quot;location must be numeral&quot;</span>);</div>
216
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> virAddr = z3Expr2NumValue(loc);</div>
217
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; assert(isVirtualMemAddress(virAddr) &amp;&amp; <span class="stringliteral">&quot;Pointer operand is not a physical address?&quot;</span>);</div>
218
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = getInternalID(virAddr);</div>
219
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; assert(getInternalID(objId) == objId &amp;&amp; <span class="stringliteral">&quot;SVFVar idx overflow &gt; 0x7f000000?&quot;</span>);</div>
220
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> load(objId);</div>
221
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}</div>
222
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
223
+ <div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classSVF_1_1RelExeState.html#a3537b1534a643af880ad6e474e00dc7b"> 196</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1RelExeState.html#a3537b1534a643af880ad6e474e00dc7b">RelExeState::printExprValues</a>()</div>
224
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;{</div>
225
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; std::cout.flags(std::ios::left);</div>
226
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;-----------Var and Value-----------\n&quot;</span>;</div>
227
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: getVarToVal())</div>
228
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div>
229
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; std::stringstream exprName;</div>
230
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; exprName &lt;&lt; <span class="stringliteral">&quot;Var&quot;</span> &lt;&lt; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first;</div>
231
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; std::cout &lt;&lt; std::setw(25) &lt;&lt; exprName.str();</div>
232
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1Z3Expr.html">Z3Expr</a> &amp;sim = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second.simplify();</div>
233
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">if</span> (sim.<a class="code" href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">is_numeral</a>() &amp;&amp; isVirtualMemAddress(z3Expr2NumValue(sim)))</div>
234
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; {</div>
235
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::hex &lt;&lt; <span class="stringliteral">&quot;0x&quot;</span> &lt;&lt; z3Expr2NumValue(sim) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
236
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
237
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">else</span></div>
238
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div>
239
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;\t Value: &quot;</span> &lt;&lt; std::dec &lt;&lt; sim &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
240
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div>
241
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div>
242
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; std::cout &lt;&lt; <span class="stringliteral">&quot;-----------------------------------------\n&quot;</span>;</div>
243
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div>
243
244
  </div><!-- fragment --></div><!-- contents -->
244
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_aaa5306f4f26b5a11342a726c2f7e4bb6"><div class="ttname"><a href="classSVF_1_1RelExeState.html#aaa5306f4f26b5a11342a726c2f7e4bb6">SVF::RelExeState::eqVarToValMap</a></div><div class="ttdeci">bool eqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00135">RelExeState.cpp:135</a></div></div>
245
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_a3a2d5de4c61fab8b277308a186795a13"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3a2d5de4c61fab8b277308a186795a13">SVF::RelExeState::store</a></div><div class="ttdeci">void store(const Z3Expr &amp;loc, const Z3Expr &amp;value)</div><div class="ttdoc">Store value to location.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00169">RelExeState.cpp:169</a></div></div>
245
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_aaa5306f4f26b5a11342a726c2f7e4bb6"><div class="ttname"><a href="classSVF_1_1RelExeState.html#aaa5306f4f26b5a11342a726c2f7e4bb6">SVF::RelExeState::eqVarToValMap</a></div><div class="ttdeci">bool eqVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00136">RelExeState.cpp:136</a></div></div>
246
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_a3a2d5de4c61fab8b277308a186795a13"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3a2d5de4c61fab8b277308a186795a13">SVF::RelExeState::store</a></div><div class="ttdeci">void store(const Z3Expr &amp;loc, const Z3Expr &amp;value)</div><div class="ttdoc">Store value to location.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00170">RelExeState.cpp:170</a></div></div>
246
247
  <div class="ttc" id="aclassSVF_1_1RelExeState_html_a9c64d2699cb67cdf8d1c3c23aebf2c4a"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a9c64d2699cb67cdf8d1c3c23aebf2c4a">SVF::RelExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8h_source.html#l00100">RelExeState.h:100</a></div></div>
247
248
  <div class="ttc" id="aRelExeState_8h_html"><div class="ttname"><a href="RelExeState_8h.html">RelExeState.h</a></div></div>
248
249
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_a57c199ba2c3c6a6d44a86e0b1429be55"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">SVF::Z3Expr::getExpr</a></div><div class="ttdeci">const z3::expr &amp; getExpr() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00079">Z3Expr.h:79</a></div></div>
249
- <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
250
+ <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00092">GeneralType.h:92</a></div></div>
250
251
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
251
252
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_a1da8e647e12c0e105271eadbd72f437e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a1da8e647e12c0e105271eadbd72f437e">SVF::Z3Expr::to_string</a></div><div class="ttdeci">const std::string to_string() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00115">Z3Expr.h:115</a></div></div>
252
253
  <div class="ttc" id="aclassSVF_1_1RelExeState_html_afcdf0c842f48a35cf19b2f7887174e98"><div class="ttname"><a href="classSVF_1_1RelExeState.html#afcdf0c842f48a35cf19b2f7887174e98">SVF::RelExeState::VarToValMap</a></div><div class="ttdeci">Map&lt; u32_t, Z3Expr &gt; VarToValMap</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8h_source.html#l00044">RelExeState.h:44</a></div></div>
253
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_a1bc5dc440ad614fd7b4804bfa88c37c0"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a1bc5dc440ad614fd7b4804bfa88c37c0">SVF::RelExeState::lessThanVarToValMap</a></div><div class="ttdeci">bool lessThanVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00148">RelExeState.cpp:148</a></div></div>
254
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_a1bc5dc440ad614fd7b4804bfa88c37c0"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a1bc5dc440ad614fd7b4804bfa88c37c0">SVF::RelExeState::lessThanVarToValMap</a></div><div class="ttdeci">bool lessThanVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00149">RelExeState.cpp:149</a></div></div>
254
255
  <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>
255
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_a7ab6cb58ed0f95417549b6291f658f86"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a7ab6cb58ed0f95417549b6291f658f86">SVF::RelExeState::operator=</a></div><div class="ttdeci">RelExeState &amp; operator=(const RelExeState &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00103">RelExeState.cpp:103</a></div></div>
256
+ <div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
257
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_a7ab6cb58ed0f95417549b6291f658f86"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a7ab6cb58ed0f95417549b6291f658f86">SVF::RelExeState::operator=</a></div><div class="ttdeci">RelExeState &amp; operator=(const RelExeState &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00104">RelExeState.cpp:104</a></div></div>
256
258
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
257
- <div class="ttc" id="aSVFIR_8h_html"><div class="ttname"><a href="SVFIR_8h.html">SVFIR.h</a></div></div>
258
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_af32619ee086ab307c68923f7c66896aa"><div class="ttname"><a href="classSVF_1_1RelExeState.html#af32619ee086ab307c68923f7c66896aa">SVF::RelExeState::extractCmpVars</a></div><div class="ttdeci">void extractCmpVars(const Z3Expr &amp;expr, Set&lt; u32_t &gt; &amp;res)</div><div class="ttdoc">Extract all related SVFVar IDs based on compare expr.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00065">RelExeState.cpp:65</a></div></div>
259
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_ac07371e3f4f62530088cd8e6b5f0ba4e"><div class="ttname"><a href="classSVF_1_1RelExeState.html#ac07371e3f4f62530088cd8e6b5f0ba4e">SVF::RelExeState::operator==</a></div><div class="ttdeci">bool operator==(const RelExeState &amp;rhs) const</div><div class="ttdoc">Overloading Operator==.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00118">RelExeState.cpp:118</a></div></div>
260
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_aa550a580be3278d19f759b3a644baea5"><div class="ttname"><a href="classSVF_1_1RelExeState.html#aa550a580be3278d19f759b3a644baea5">SVF::RelExeState::load</a></div><div class="ttdeci">Z3Expr &amp; load(const Z3Expr &amp;loc)</div><div class="ttdoc">Load value at location.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00182">RelExeState.cpp:182</a></div></div>
261
- <div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00052">SVFType.h:52</a></div></div>
262
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_a3537b1534a643af880ad6e474e00dc7b"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3537b1534a643af880ad6e474e00dc7b">SVF::RelExeState::printExprValues</a></div><div class="ttdeci">void printExprValues()</div><div class="ttdoc">Print values of all expressions.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00195">RelExeState.cpp:195</a></div></div>
263
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_a3393f160508c33e68ebedd042d1d296f"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3393f160508c33e68ebedd042d1d296f">SVF::RelExeState::extractSubVars</a></div><div class="ttdeci">void extractSubVars(const Z3Expr &amp;expr, Set&lt; u32_t &gt; &amp;res)</div><div class="ttdoc">Extract sub SVFVar IDs of a Z3Expr.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00044">RelExeState.cpp:44</a></div></div>
264
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_ac280dc7a1db7dc80f9c85921215e4c97"><div class="ttname"><a href="classSVF_1_1RelExeState.html#ac280dc7a1db7dc80f9c85921215e4c97">SVF::RelExeState::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const RelExeState &amp;rhs) const</div><div class="ttdoc">Overloading Operator==.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00129">RelExeState.cpp:129</a></div></div>
259
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_af32619ee086ab307c68923f7c66896aa"><div class="ttname"><a href="classSVF_1_1RelExeState.html#af32619ee086ab307c68923f7c66896aa">SVF::RelExeState::extractCmpVars</a></div><div class="ttdeci">void extractCmpVars(const Z3Expr &amp;expr, Set&lt; u32_t &gt; &amp;res)</div><div class="ttdoc">Extract all related SVFVar IDs based on compare expr.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00066">RelExeState.cpp:66</a></div></div>
260
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_ac07371e3f4f62530088cd8e6b5f0ba4e"><div class="ttname"><a href="classSVF_1_1RelExeState.html#ac07371e3f4f62530088cd8e6b5f0ba4e">SVF::RelExeState::operator==</a></div><div class="ttdeci">bool operator==(const RelExeState &amp;rhs) const</div><div class="ttdoc">Overloading Operator==.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00119">RelExeState.cpp:119</a></div></div>
261
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_aa550a580be3278d19f759b3a644baea5"><div class="ttname"><a href="classSVF_1_1RelExeState.html#aa550a580be3278d19f759b3a644baea5">SVF::RelExeState::load</a></div><div class="ttdeci">Z3Expr &amp; load(const Z3Expr &amp;loc)</div><div class="ttdoc">Load value at location.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00183">RelExeState.cpp:183</a></div></div>
262
+ <div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
263
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_a3537b1534a643af880ad6e474e00dc7b"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3537b1534a643af880ad6e474e00dc7b">SVF::RelExeState::printExprValues</a></div><div class="ttdeci">void printExprValues()</div><div class="ttdoc">Print values of all expressions.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00196">RelExeState.cpp:196</a></div></div>
264
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_a3393f160508c33e68ebedd042d1d296f"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3393f160508c33e68ebedd042d1d296f">SVF::RelExeState::extractSubVars</a></div><div class="ttdeci">void extractSubVars(const Z3Expr &amp;expr, Set&lt; u32_t &gt; &amp;res)</div><div class="ttdoc">Extract sub SVFVar IDs of a Z3Expr.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00045">RelExeState.cpp:45</a></div></div>
265
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_ac280dc7a1db7dc80f9c85921215e4c97"><div class="ttname"><a href="classSVF_1_1RelExeState.html#ac280dc7a1db7dc80f9c85921215e4c97">SVF::RelExeState::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const RelExeState &amp;rhs) const</div><div class="ttdoc">Overloading Operator==.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00130">RelExeState.cpp:130</a></div></div>
265
266
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_afb3478316592a395c6d473791b5a0981"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#afb3478316592a395c6d473791b5a0981">SVF::Z3Expr::simplify</a></div><div class="ttdeci">Z3Expr simplify() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00130">Z3Expr.h:130</a></div></div>
266
267
  <div class="ttc" id="aclassSVF_1_1RelExeState_html_a3eb51c26ae9c87e1457d6515e6d537f9"><div class="ttname"><a href="classSVF_1_1RelExeState.html#a3eb51c26ae9c87e1457d6515e6d537f9">SVF::RelExeState::getLocToVal</a></div><div class="ttdeci">const LocToValMap &amp; getLocToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8h_source.html#l00105">RelExeState.h:105</a></div></div>
267
268
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_ad1802109545427278e3a8bde52e016b0"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ad1802109545427278e3a8bde52e016b0">SVF::Z3Expr::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00120">Z3Expr.h:120</a></div></div>
268
269
  <div class="ttc" id="aclassSVF_1_1RelExeState_html"><div class="ttname"><a href="classSVF_1_1RelExeState.html">SVF::RelExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8h_source.html#l00039">RelExeState.h:39</a></div></div>
269
- <div class="ttc" id="aclassSVF_1_1RelExeState_html_ab798aa0dfa3f71a53a6860dc84e92210"><div class="ttname"><a href="classSVF_1_1RelExeState.html#ab798aa0dfa3f71a53a6860dc84e92210">SVF::RelExeState::buildRelZ3Expr</a></div><div class="ttdeci">Z3Expr buildRelZ3Expr(u32_t cmp, s32_t succ, Set&lt; u32_t &gt; &amp;vars, Set&lt; u32_t &gt; &amp;initVars)</div><div class="ttdoc">Build relational Z3Expr.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00089">RelExeState.cpp:89</a></div></div>
270
+ <div class="ttc" id="aclassSVF_1_1RelExeState_html_ab798aa0dfa3f71a53a6860dc84e92210"><div class="ttname"><a href="classSVF_1_1RelExeState.html#ab798aa0dfa3f71a53a6860dc84e92210">SVF::RelExeState::buildRelZ3Expr</a></div><div class="ttdeci">Z3Expr buildRelZ3Expr(u32_t cmp, s32_t succ, Set&lt; u32_t &gt; &amp;vars, Set&lt; u32_t &gt; &amp;initVars)</div><div class="ttdoc">Build relational Z3Expr.</div><div class="ttdef"><b>Definition:</b> <a href="RelExeState_8cpp_source.html#l00090">RelExeState.cpp:90</a></div></div>
270
271
  <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>
271
- <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
272
+ <div class="ttc" id="aGeneralType_8h_html"><div class="ttname"><a href="GeneralType_8h.html">GeneralType.h</a></div></div>
273
+ <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
272
274
  <!-- start footer part -->
273
275
  <hr class="footer"/><address class="footer"><small>
274
276
  Generated by &#160;<a href="http://www.doxygen.org/index.html">