svf-tools 1.0.458 → 1.0.459

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 (239) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +6 -6
  3. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -4
  6. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +12 -12
  7. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
  8. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  9. package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
  10. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  11. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +15 -15
  12. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  18. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +11 -11
  19. package/SVF-doxygen/html/html/DCHG_8h_source.html +6 -6
  20. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/DDAPass_8h_source.html +2 -3
  22. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
  24. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +4 -4
  25. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  27. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  28. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
  31. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
  33. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
  36. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
  38. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  39. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  41. package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +3 -3
  44. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +10 -10
  45. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +10 -10
  46. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
  50. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +7 -7
  52. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
  53. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  54. package/SVF-doxygen/html/html/MHP_8cpp_source.html +4 -4
  55. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  57. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +4 -4
  58. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +10 -10
  59. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +5 -5
  60. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  61. package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -3
  63. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  64. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +3 -3
  66. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  67. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +6 -6
  68. package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  70. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  73. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  74. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +3 -3
  75. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +3 -3
  76. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +2 -2
  77. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  78. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
  79. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  80. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +3 -4
  81. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
  82. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  83. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  84. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  85. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  86. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  87. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +22 -22
  88. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +7 -7
  89. package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
  90. package/SVF-doxygen/html/html/SVFModule_8h_source.html +2 -2
  91. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +6 -7
  92. package/SVF-doxygen/html/html/SVFUtil_8h.html +6 -3
  93. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -12
  94. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
  95. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  96. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  97. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  98. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  99. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +13 -13
  100. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  101. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +3 -3
  102. package/SVF-doxygen/html/html/TCT_8cpp_source.html +8 -8
  103. package/SVF-doxygen/html/html/TCT_8h_source.html +6 -6
  104. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  105. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  106. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  107. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  108. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  109. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
  110. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  111. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +2 -4
  112. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +67 -68
  113. package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
  114. package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
  115. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  116. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  117. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  118. package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -4
  119. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +6 -6
  120. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs-members.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +5 -5
  124. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +18 -18
  125. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  126. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  127. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  129. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +39 -39
  131. package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +8 -8
  133. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
  136. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +6 -6
  137. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +7 -7
  138. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +7 -7
  142. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
  146. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  147. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +4 -4
  148. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  149. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +16 -16
  150. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -8
  151. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +13 -13
  152. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
  153. package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +8 -8
  155. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +8 -8
  156. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -15
  157. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
  159. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets-members.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +5 -5
  162. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +8 -8
  165. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
  166. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  168. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +5 -5
  169. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +6 -6
  170. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  171. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
  172. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +19 -19
  173. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  174. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +6 -6
  176. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +32 -32
  178. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  179. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  180. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +6 -6
  182. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +42 -42
  183. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +7 -7
  185. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  188. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +15 -15
  190. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +8 -8
  191. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +16 -16
  192. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
  193. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
  194. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  195. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +13 -13
  196. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +4 -4
  197. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1WPAPass-members.html +1 -1
  199. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +6 -6
  200. package/SVF-doxygen/html/html/cuddInt_8c.html +4 -2
  201. package/SVF-doxygen/html/html/cuddInt_8c_source.html +2 -1
  202. package/SVF-doxygen/html/html/cuddInt_8h.html +4 -2
  203. package/SVF-doxygen/html/html/functions_func_g.html +5 -5
  204. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  205. package/SVF-doxygen/html/html/functions_g.html +5 -5
  206. package/SVF-doxygen/html/html/functions_s.html +1 -1
  207. package/SVF-doxygen/html/html/globals_s.html +7 -13
  208. package/SVF-doxygen/html/html/namespaceSVF.html +32 -50
  209. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +100 -58
  210. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +24 -24
  211. package/SVF-doxygen/html/html/namespacemembers_func.html +4 -1
  212. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  213. package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
  214. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -3
  215. package/SVF-doxygen/html/html/search/all_13.js +7 -8
  216. package/SVF-doxygen/html/html/search/all_7.js +2 -2
  217. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  218. package/SVF-doxygen/html/html/search/functions_6.js +2 -2
  219. package/SVF-doxygen/html/html/search/typedefs_11.js +0 -1
  220. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
  221. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  222. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  223. package/include/DDA/DDAPass.h +1 -1
  224. package/include/MTA/LockResultValidator.h +1 -1
  225. package/include/MTA/MTA.h +1 -1
  226. package/include/MTA/MTAAnnotator.h +1 -1
  227. package/include/MTA/MTAResultValidator.h +1 -1
  228. package/include/SVF-FE/BreakConstantExpr.h +2 -2
  229. package/include/Util/BasicTypes.h +2 -3
  230. package/include/Util/SVFBasicTypes.h +1 -1
  231. package/include/Util/SVFUtil.h +16 -1
  232. package/include/WPA/WPAPass.h +1 -1
  233. package/lib/MTA/LockResultValidator.cpp +2 -2
  234. package/lib/MTA/MTAResultValidator.cpp +2 -2
  235. package/lib/SVF-FE/DCHG.cpp +8 -8
  236. package/lib/Util/PTAStat.cpp +11 -3
  237. package/lib/Util/SVFUtil.cpp +3 -3
  238. package/lib/Util/ThreadAPI.cpp +12 -4
  239. package/package.json +1 -1
@@ -513,7 +513,7 @@ Private Attributes</h2></td></tr>
513
513
  <div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> succ_number = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a737684498679dc16a26f2411d88f36aa">getBBSuccessorNum</a>(&amp;bb);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="comment">// if successor number greater than 1, allocate new decision variable for successors</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span>(succ_number &gt; 1)</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">//allocate log2(num_succ) decision variables</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordtype">double</span> num = log(succ_number)/log(2);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> bit_num = (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)ceil(num);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> succ_index = 0;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; std::vector&lt;Condition*&gt; condVec;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0 ; i &lt; bit_num; i++)</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; condVec.push_back(<a class="code" href="classSVF_1_1PathCondAllocator.html#a3cd08242b82129e6074b2f30a19b5c17">newCond</a>(bb.getTerminator()));</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// iterate each successor</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">succ_const_iterator</a> succ_it = succ_begin(&amp;bb);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; succ_it != succ_end(&amp;bb);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; succ_it++, succ_index++)</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* succ = *succ_it;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1PathCondAllocator.html#a923cc78e9f6779a0e6172b98e8f44925">Condition</a>* path_cond = <a class="code" href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">getTrueCond</a>();</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// for each successor decide its bit representation</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="comment">// decide whether each bit of succ_index is 1 or 0, if (three successor) succ_index is 000 then use C1^C2^C3</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="comment">// if 001 use C1^C2^negC3</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0 ; j &lt; bit_num; j++)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">//test each bit of this successor&#39;s index (binary representation)</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tool = 0x01 &lt;&lt; j;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span>(tool &amp; succ_index)</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; path_cond = <a class="code" href="classSVF_1_1PathCondAllocator.html#ab0e41d1eacfc6ee2cf42a9ce69cdcb61">condAnd</a>(path_cond, (<a class="code" href="classSVF_1_1PathCondAllocator.html#ac1ed60a8f59a55811c97c83def3bb739">condNeg</a>(condVec.at(j))));</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; path_cond = <a class="code" href="classSVF_1_1PathCondAllocator.html#ab0e41d1eacfc6ee2cf42a9ce69cdcb61">condAnd</a>(path_cond, condVec.at(j));</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classSVF_1_1PathCondAllocator.html#aaec323fc8a3f83da4596ed7d447ab6f1">setBranchCond</a>(&amp;bb,succ,path_cond);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;}</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a923cc78e9f6779a0e6172b98e8f44925"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a923cc78e9f6779a0e6172b98e8f44925">SVF::PathCondAllocator::Condition</a></div><div class="ttdeci">BDDExprManager::BDDExpr Condition</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00052">PathCondAllocator.h:52</a></div></div>
514
514
  <div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00067">BasicTypes.h:67</a></div></div>
515
515
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a1a6bde0db54c91fba7e6bac0acff664a"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">SVF::PathCondAllocator::getTrueCond</a></div><div class="ttdeci">Condition * getTrueCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00095">PathCondAllocator.h:95</a></div></div>
516
- <div class="ttc" id="namespaceSVF_html_a3436a988bf80c021cd8022fb445b66d5"><div class="ttname"><a href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">SVF::succ_const_iterator</a></div><div class="ttdeci">llvm::succ_const_iterator succ_const_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00122">BasicTypes.h:122</a></div></div>
516
+ <div class="ttc" id="namespaceSVF_html_a3436a988bf80c021cd8022fb445b66d5"><div class="ttname"><a href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">SVF::succ_const_iterator</a></div><div class="ttdeci">llvm::succ_const_iterator succ_const_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00121">BasicTypes.h:121</a></div></div>
517
517
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00084">SVFBasicTypes.h:84</a></div></div>
518
518
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a3cd08242b82129e6074b2f30a19b5c17"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a3cd08242b82129e6074b2f30a19b5c17">SVF::PathCondAllocator::newCond</a></div><div class="ttdeci">Condition * newCond(const Instruction *inst)</div><div class="ttdoc">Allocate a new condition. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00121">PathCondAllocator.h:121</a></div></div>
519
519
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_aaec323fc8a3f83da4596ed7d447ab6f1"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#aaec323fc8a3f83da4596ed7d447ab6f1">SVF::PathCondAllocator::setBranchCond</a></div><div class="ttdeci">void setBranchCond(const BasicBlock *bb, const BasicBlock *succ, Condition *cond)</div><div class="ttdoc">Get/Set a branch condition, and its terminator instruction. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00164">PathCondAllocator.cpp:164</a></div></div>
@@ -740,9 +740,9 @@ Private Attributes</h2></td></tr>
740
740
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a623e6ec670e5f6aeedee26b146ad5a0d"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a623e6ec670e5f6aeedee26b146ad5a0d">SVF::PathCondAllocator::evaluateLoopExitBranch</a></div><div class="ttdeci">Condition * evaluateLoopExitBranch(const BasicBlock *bb, const BasicBlock *succ)</div><div class="ttdoc">Evaluate loop exit branch. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00255">PathCondAllocator.cpp:255</a></div></div>
741
741
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a6d2c5b05f4966522c9310fd3c086adea"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a6d2c5b05f4966522c9310fd3c086adea">SVF::PathCondAllocator::getEvalBrCond</a></div><div class="ttdeci">Condition * getEvalBrCond(const BasicBlock *bb, const BasicBlock *succ)</div><div class="ttdoc">Get a condition, evaluate the value for conditions if necessary (e.g., testNull like express) ...</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00153">PathCondAllocator.cpp:153</a></div></div>
742
742
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5a8c25d74ffc2a8f8dbd20faab4d9803"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5a8c25d74ffc2a8f8dbd20faab4d9803">SVF::PathCondAllocator::condOr</a></div><div class="ttdeci">Condition * condOr(Condition *lhs, Condition *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00087">PathCondAllocator.h:87</a></div></div>
743
- <div class="ttc" id="namespaceSVF_html_a3436a988bf80c021cd8022fb445b66d5"><div class="ttname"><a href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">SVF::succ_const_iterator</a></div><div class="ttdeci">llvm::succ_const_iterator succ_const_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00122">BasicTypes.h:122</a></div></div>
743
+ <div class="ttc" id="namespaceSVF_html_a3436a988bf80c021cd8022fb445b66d5"><div class="ttname"><a href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">SVF::succ_const_iterator</a></div><div class="ttdeci">llvm::succ_const_iterator succ_const_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00121">BasicTypes.h:121</a></div></div>
744
744
  <div class="ttc" id="SVFBasicTypes_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFBasicTypes_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00173">SVFBasicTypes.h:173</a></div></div>
745
- <div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
745
+ <div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00113">BasicTypes.h:113</a></div></div>
746
746
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
747
747
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ab0e41d1eacfc6ee2cf42a9ce69cdcb61"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ab0e41d1eacfc6ee2cf42a9ce69cdcb61">SVF::PathCondAllocator::condAnd</a></div><div class="ttdeci">Condition * condAnd(Condition *lhs, Condition *rhs)</div><div class="ttdoc">Condition operations. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00083">PathCondAllocator.h:83</a></div></div>
748
748
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ac578894f959845164e1343384d60def1"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ac578894f959845164e1343384d60def1">SVF::PathCondAllocator::CFWorkList</a></div><div class="ttdeci">FIFOWorkList&lt; const BasicBlock * &gt; CFWorkList</div><div class="ttdoc">worklist for control-flow guard computation </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00059">PathCondAllocator.h:59</a></div></div>
@@ -1022,7 +1022,7 @@ Private Attributes</h2></td></tr>
1022
1022
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a1295e2c2c0a9c1a3744ba3927b95363e"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a1295e2c2c0a9c1a3744ba3927b95363e">SVF::PathCondAllocator::getPostDT</a></div><div class="ttdeci">PostDominatorTree * getPostDT(const Function *fun)</div><div class="ttdoc">Get Postdominators. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00153">PathCondAllocator.h:153</a></div></div>
1023
1023
  <div class="ttc" id="namespaceSVF_html_a02be4933b76c2baa7fdbe8b290e12bb3"><div class="ttname"><a href="namespaceSVF.html#a02be4933b76c2baa7fdbe8b290e12bb3">SVF::SmallBBVector</a></div><div class="ttdeci">llvm::SmallVector&lt; llvm::BasicBlock *, 8 &gt; SmallBBVector</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00118">SVFBasicTypes.h:118</a></div></div>
1024
1024
  <div class="ttc" id="namespaceSVF_html_a77e088bfe47c0b0ddcbbe0693dec6fe5"><div class="ttname"><a href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">SVF::LoopInfo</a></div><div class="ttdeci">llvm::LoopInfo LoopInfo</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
1025
- <div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
1025
+ <div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00113">BasicTypes.h:113</a></div></div>
1026
1026
  <div class="ttc" id="namespaceSVF_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="SVFBasicTypes_8h_source.html#l00104">SVFBasicTypes.h:104</a></div></div>
1027
1027
  <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
1028
1028
  <div class="ttc" id="namespaceSVF_html_abf85e29310b2e4df8925d00a5c081314"><div class="ttname"><a href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVF::Loop</a></div><div class="ttdeci">llvm::Loop Loop</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
@@ -1608,7 +1608,7 @@ Private Attributes</h2></td></tr>
1608
1608
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
1609
1609
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a1a6bde0db54c91fba7e6bac0acff664a"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">SVF::PathCondAllocator::getTrueCond</a></div><div class="ttdeci">Condition * getTrueCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00095">PathCondAllocator.h:95</a></div></div>
1610
1610
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a496a23bc37dfdea32c536e9ebe9a4b88"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a496a23bc37dfdea32c536e9ebe9a4b88">SVF::PathCondAllocator::getDT</a></div><div class="ttdeci">DominatorTree * getDT(const Function *fun)</div><div class="ttdoc">Get dominators. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00148">PathCondAllocator.h:148</a></div></div>
1611
- <div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00113">BasicTypes.h:113</a></div></div>
1611
+ <div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00112">BasicTypes.h:112</a></div></div>
1612
1612
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ac1ed60a8f59a55811c97c83def3bb739"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ac1ed60a8f59a55811c97c83def3bb739">SVF::PathCondAllocator::condNeg</a></div><div class="ttdeci">Condition * condNeg(Condition *cond)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00091">PathCondAllocator.h:91</a></div></div>
1613
1613
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5ab573cce84584c44778611ba6f4d99c"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5ab573cce84584c44778611ba6f4d99c">SVF::PathCondAllocator::ComputeIntraVFGGuard</a></div><div class="ttdeci">virtual Condition * ComputeIntraVFGGuard(const BasicBlock *src, const BasicBlock *dst)</div><div class="ttdoc">Guard Computation for a value-flow (between two basic blocks) </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00498">PathCondAllocator.cpp:498</a></div></div>
1614
1614
  </div><!-- fragment -->
@@ -1735,7 +1735,7 @@ Private Attributes</h2></td></tr>
1735
1735
  <p class="definition">Definition at line <a class="el" href="PathCondAllocator_8cpp_source.html#l00428">428</a> of file <a class="el" href="PathCondAllocator_8cpp_source.html">PathCondAllocator.cpp</a>.</p>
1736
1736
  <div class="fragment"><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;{</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = bb-&gt;getParent();</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; FunToExitBBsMap::const_iterator it = <a class="code" href="classSVF_1_1PathCondAllocator.html#ad35f1bdb406a85c5bfdcbbc15642853b">funToExitBBsMap</a>.find(fun);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">if</span>(it!=<a class="code" href="classSVF_1_1PathCondAllocator.html#ad35f1bdb406a85c5bfdcbbc15642853b">funToExitBBsMap</a>.end())</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; {</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <a class="code" href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">PostDominatorTree</a>* pdt = <a class="code" href="classSVF_1_1PathCondAllocator.html#a1295e2c2c0a9c1a3744ba3927b95363e">getPostDT</a>(fun);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span>&amp; bit : it-&gt;second)</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; {</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">if</span>(pdt-&gt;dominates(bit,bb))</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; }</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;}</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a1295e2c2c0a9c1a3744ba3927b95363e"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a1295e2c2c0a9c1a3744ba3927b95363e">SVF::PathCondAllocator::getPostDT</a></div><div class="ttdeci">PostDominatorTree * getPostDT(const Function *fun)</div><div class="ttdoc">Get Postdominators. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00153">PathCondAllocator.h:153</a></div></div>
1737
1737
  <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ad35f1bdb406a85c5bfdcbbc15642853b"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ad35f1bdb406a85c5bfdcbbc15642853b">SVF::PathCondAllocator::funToExitBBsMap</a></div><div class="ttdeci">FunToExitBBsMap funToExitBBsMap</div><div class="ttdoc">map a function to all its basic blocks calling program exit </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00291">PathCondAllocator.h:291</a></div></div>
1738
- <div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
1738
+ <div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00113">BasicTypes.h:113</a></div></div>
1739
1739
  <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
1740
1740
  </div><!-- fragment -->
1741
1741
  </div>
@@ -866,7 +866,7 @@ template&lt;typename Key , typename KeySet , typename Data , typename DataSet &g
866
866
  <p>Add var into loc's IN updated set. Called when var's pts in loc's IN set is changed. </p>
867
867
 
868
868
  <p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00727">727</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
869
- <div class="fragment"><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVFUtil::insertKey</a>(var, <a class="code" href="classSVF_1_1PersistentIncDFPTData.html#a106391cd8eefab1740b54cd9bbacccad">inUpdatedVarMap</a>[loc]);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aeecfaf26800dcebf0b079395126bc7f7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVF::SVFUtil::insertKey</a></div><div class="ttdeci">void insertKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Inserts an element into a Set/CondSet (with ::insert). </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00304">SVFUtil.h:304</a></div></div>
869
+ <div class="fragment"><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVFUtil::insertKey</a>(var, <a class="code" href="classSVF_1_1PersistentIncDFPTData.html#a106391cd8eefab1740b54cd9bbacccad">inUpdatedVarMap</a>[loc]);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aeecfaf26800dcebf0b079395126bc7f7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVF::SVFUtil::insertKey</a></div><div class="ttdeci">void insertKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Inserts an element into a Set/CondSet (with ::insert). </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00319">SVFUtil.h:319</a></div></div>
870
870
  <div class="ttc" id="classSVF_1_1PersistentIncDFPTData_html_a106391cd8eefab1740b54cd9bbacccad"><div class="ttname"><a href="classSVF_1_1PersistentIncDFPTData.html#a106391cd8eefab1740b54cd9bbacccad">SVF::PersistentIncDFPTData::inUpdatedVarMap</a></div><div class="ttdeci">UpdatedVarMap inUpdatedVarMap</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00787">PersistentPointsToDS.h:787</a></div></div>
871
871
  </div><!-- fragment -->
872
872
  </div>
@@ -911,7 +911,7 @@ template&lt;typename Key , typename KeySet , typename Data , typename DataSet &g
911
911
 
912
912
  <p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00757">757</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
913
913
  <div class="fragment"><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; {</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVFUtil::insertKey</a>(var, <a class="code" href="classSVF_1_1PersistentIncDFPTData.html#a054f8e2a0668387c092b2802e64a4df0">outUpdatedVarMap</a>[loc]);</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; }</div><div class="ttc" id="classSVF_1_1PersistentIncDFPTData_html_a054f8e2a0668387c092b2802e64a4df0"><div class="ttname"><a href="classSVF_1_1PersistentIncDFPTData.html#a054f8e2a0668387c092b2802e64a4df0">SVF::PersistentIncDFPTData::outUpdatedVarMap</a></div><div class="ttdeci">UpdatedVarMap outUpdatedVarMap</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00786">PersistentPointsToDS.h:786</a></div></div>
914
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aeecfaf26800dcebf0b079395126bc7f7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVF::SVFUtil::insertKey</a></div><div class="ttdeci">void insertKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Inserts an element into a Set/CondSet (with ::insert). </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00304">SVFUtil.h:304</a></div></div>
914
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aeecfaf26800dcebf0b079395126bc7f7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVF::SVFUtil::insertKey</a></div><div class="ttdeci">void insertKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Inserts an element into a Set/CondSet (with ::insert). </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00319">SVFUtil.h:319</a></div></div>
915
915
  </div><!-- fragment -->
916
916
  </div>
917
917
  </div>
@@ -686,7 +686,7 @@ template&lt;typename Key, typename KeySet, typename Data, typename DataSet&gt; <
686
686
  </div><div class="memdoc">
687
687
 
688
688
  <p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00166">166</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
689
- <div class="fragment"><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1PTData.html#a46fa3ec6462f3dda19549340281bb219">rev</a>)</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aee74719d33695e4da6fee5fc83f745d9">SVFUtil::removeKey</a>(k, revSet);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aee74719d33695e4da6fee5fc83f745d9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aee74719d33695e4da6fee5fc83f745d9">SVF::SVFUtil::removeKey</a></div><div class="ttdeci">void removeKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Removes an element from a Set/CondSet (or anything implementing ::erase). </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00317">SVFUtil.h:317</a></div></div>
689
+ <div class="fragment"><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1PTData.html#a46fa3ec6462f3dda19549340281bb219">rev</a>)</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aee74719d33695e4da6fee5fc83f745d9">SVFUtil::removeKey</a>(k, revSet);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aee74719d33695e4da6fee5fc83f745d9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aee74719d33695e4da6fee5fc83f745d9">SVF::SVFUtil::removeKey</a></div><div class="ttdeci">void removeKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Removes an element from a Set/CondSet (or anything implementing ::erase). </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00332">SVFUtil.h:332</a></div></div>
690
690
  <div class="ttc" id="classSVF_1_1PTData_html_a46fa3ec6462f3dda19549340281bb219"><div class="ttname"><a href="classSVF_1_1PTData.html#a46fa3ec6462f3dda19549340281bb219">SVF::PTData::rev</a></div><div class="ttdeci">bool rev</div><div class="ttdoc">Whether we maintain reverse points-to sets or not. </div><div class="ttdef"><b>Definition:</b> <a href="AbstractPointsToDS_8h_source.html#l00107">AbstractPointsToDS.h:107</a></div></div>
691
691
  </div><!-- fragment -->
692
692
  </div>
@@ -1006,7 +1006,7 @@ template&lt;typename Key, typename KeySet, typename Data, typename DataSet&gt; <
1006
1006
 
1007
1007
  <p class="definition">Definition at line <a class="el" href="PersistentPointsToDS_8h_source.html#l00144">144</a> of file <a class="el" href="PersistentPointsToDS_8h_source.html">PersistentPointsToDS.h</a>.</p>
1008
1008
  <div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">PointsToID</a> dstId = <a class="code" href="classSVF_1_1PersistentPTData.html#a483c690c6cf19e258bdf7bb13e77976e">ptsMap</a>[dstKey];</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="namespaceSVF.html#ae545a88267bd2246de827cf590675aca">PointsToID</a> newDstId = <a class="code" href="classSVF_1_1PersistentPTData.html#a146a25bf9ae76f4c3c117433df9d382f">ptCache</a>.<a class="code" href="classSVF_1_1PersistentPointsToCache.html#a178b49cca2c22e874ff9e772cc4df72b">unionPts</a>(dstId, srcId);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">bool</span> changed = newDstId != dstId;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">if</span> (changed)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="classSVF_1_1PersistentPTData.html#a483c690c6cf19e258bdf7bb13e77976e">ptsMap</a>[dstKey] = newDstId;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="comment">// Reverse points-to only needs to be handled when dst&#39;s</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="comment">// points-to set has changed (i.e., do it the first time only).</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (this-&gt;<a class="code" href="classSVF_1_1PTData.html#a46fa3ec6462f3dda19549340281bb219">rev</a>)</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">const</span> DataSet &amp;srcPts = <a class="code" href="classSVF_1_1PersistentPTData.html#a146a25bf9ae76f4c3c117433df9d382f">ptCache</a>.<a class="code" href="classSVF_1_1PersistentPointsToCache.html#ab2888b033a29de3af48d377dc2fe70aa">getActualPts</a>(srcId);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> Data &amp;d : srcPts) <a class="code" href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVFUtil::insertKey</a>(dstKey, <a class="code" href="classSVF_1_1PersistentPTData.html#a7b43ad5045ebdaa86f2587ea3f2f9563">revPtsMap</a>[d]);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div><div class="ttc" id="classSVF_1_1PersistentPTData_html_a146a25bf9ae76f4c3c117433df9d382f"><div class="ttname"><a href="classSVF_1_1PersistentPTData.html#a146a25bf9ae76f4c3c117433df9d382f">SVF::PersistentPTData::ptCache</a></div><div class="ttdeci">PersistentPointsToCache&lt; DataSet &gt; &amp; ptCache</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00183">PersistentPointsToDS.h:183</a></div></div>
1009
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aeecfaf26800dcebf0b079395126bc7f7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVF::SVFUtil::insertKey</a></div><div class="ttdeci">void insertKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Inserts an element into a Set/CondSet (with ::insert). </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00304">SVFUtil.h:304</a></div></div>
1009
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aeecfaf26800dcebf0b079395126bc7f7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVF::SVFUtil::insertKey</a></div><div class="ttdeci">void insertKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Inserts an element into a Set/CondSet (with ::insert). </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00319">SVFUtil.h:319</a></div></div>
1010
1010
  <div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_a178b49cca2c22e874ff9e772cc4df72b"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#a178b49cca2c22e874ff9e772cc4df72b">SVF::PersistentPointsToCache::unionPts</a></div><div class="ttdeci">PointsToID unionPts(PointsToID lhs, PointsToID rhs)</div><div class="ttdoc">Unions lhs and rhs and returns their union&amp;#39;s ID. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#l00112">PersistentPointsToCache.h:112</a></div></div>
1011
1011
  <div class="ttc" id="classSVF_1_1PersistentPTData_html_a7b43ad5045ebdaa86f2587ea3f2f9563"><div class="ttname"><a href="classSVF_1_1PersistentPTData.html#a7b43ad5045ebdaa86f2587ea3f2f9563">SVF::PersistentPTData::revPtsMap</a></div><div class="ttdeci">RevPtsMap revPtsMap</div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToDS_8h_source.html#l00185">PersistentPointsToDS.h:185</a></div></div>
1012
1012
  <div class="ttc" id="classSVF_1_1PersistentPointsToCache_html_ab2888b033a29de3af48d377dc2fe70aa"><div class="ttname"><a href="classSVF_1_1PersistentPointsToCache.html#ab2888b033a29de3af48d377dc2fe70aa">SVF::PersistentPointsToCache::getActualPts</a></div><div class="ttdeci">const Data &amp; getActualPts(PointsToID id) const</div><div class="ttdoc">Returns the points-to set which id represents. id must be stored in the cache. </div><div class="ttdef"><b>Definition:</b> <a href="PersistentPointsToCache_8h_source.html#l00104">PersistentPointsToCache.h:104</a></div></div>