svf-tools 1.0.579 → 1.0.580

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 (200) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +5 -5
  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/BasicTypes_8cpp.html +81 -0
  6. package/SVF-doxygen/html/html/BasicTypes_8cpp_source.html +91 -0
  7. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +2 -2
  9. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +9 -9
  10. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
  11. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  12. package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
  13. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +15 -15
  15. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  20. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/html/DCHG_8h_source.html +3 -3
  23. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
  25. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  27. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
  29. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +3 -3
  35. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -3
  38. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  39. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  40. package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
  41. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +6 -6
  42. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +9 -9
  44. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +7 -7
  45. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  47. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
  49. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  50. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +5 -5
  51. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  52. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  53. package/SVF-doxygen/html/html/MHP_8cpp_source.html +4 -4
  54. package/SVF-doxygen/html/html/MHP_8h_source.html +1 -1
  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 +2 -2
  58. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +7 -7
  59. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +3 -3
  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/MemPartition_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  64. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +4 -4
  65. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  66. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +7 -7
  67. package/SVF-doxygen/html/html/MemSSA_8h_source.html +1 -1
  68. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -3
  69. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  70. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
  71. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +9 -9
  73. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  74. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +3 -0
  75. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +3 -2
  76. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  77. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  78. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  79. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  80. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  81. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +16 -16
  82. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +6 -6
  83. package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
  84. package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
  85. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +5 -5
  86. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +4 -4
  87. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
  88. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  89. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  90. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +5 -5
  91. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +4 -4
  92. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  93. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  94. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +11 -11
  95. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  96. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +3 -3
  97. package/SVF-doxygen/html/html/TCT_8cpp_source.html +6 -6
  98. package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
  99. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +2 -2
  100. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  101. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  102. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  103. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  104. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -2
  105. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +83 -84
  106. package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
  107. package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
  108. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  109. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  110. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  111. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +5 -5
  113. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +5 -5
  116. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +14 -14
  117. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  118. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +36 -36
  120. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
  121. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +5 -5
  122. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
  123. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +5 -5
  127. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
  128. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +7 -7
  129. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +2 -2
  131. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +6 -6
  133. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +7 -7
  136. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
  137. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  138. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +17 -17
  139. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +5 -5
  140. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +13 -13
  141. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +7 -7
  142. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  143. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +5 -5
  144. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +11 -11
  145. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  146. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
  147. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +8 -8
  148. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +13 -13
  150. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +3 -3
  151. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
  152. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +5 -5
  153. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +126 -160
  154. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  155. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
  157. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +36 -36
  158. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +7 -7
  161. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +14 -14
  163. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +7 -7
  164. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +15 -15
  165. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  167. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  168. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +4 -4
  169. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  170. package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +2 -0
  171. package/SVF-doxygen/html/html/files.html +14 -13
  172. package/SVF-doxygen/html/html/functions_d.html +1 -1
  173. package/SVF-doxygen/html/html/functions_func_d.html +1 -1
  174. package/SVF-doxygen/html/html/functions_func_g.html +2 -2
  175. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  176. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  177. package/SVF-doxygen/html/html/functions_g.html +2 -2
  178. package/SVF-doxygen/html/html/functions_i.html +1 -1
  179. package/SVF-doxygen/html/html/functions_p.html +1 -1
  180. package/SVF-doxygen/html/html/namespaceSVF.html +26 -23
  181. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +11 -11
  182. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +4 -4
  183. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +23 -23
  184. package/SVF-doxygen/html/html/search/all_10.js +1 -1
  185. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  186. package/SVF-doxygen/html/html/search/all_4.js +1 -1
  187. package/SVF-doxygen/html/html/search/all_7.js +2 -2
  188. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  189. package/SVF-doxygen/html/html/search/files_1.js +1 -0
  190. package/SVF-doxygen/html/html/search/functions_3.js +1 -1
  191. package/SVF-doxygen/html/html/search/functions_6.js +2 -2
  192. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  193. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  194. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
  195. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  196. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  197. package/include/SVF-FE/BasicTypes.h +3 -0
  198. package/include/Util/BasicTypes.h +8 -101
  199. package/lib/Util/BasicTypes.cpp +110 -0
  200. package/package.json +1 -1
@@ -106,7 +106,7 @@ $(function() {
106
106
  <div class="ttc" id="classSVF_1_1Andersen_html_a8ba593bd16d4436310f2f25e75687c57"><div class="ttname"><a href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">SVF::Andersen::addCopyEdge</a></div><div class="ttdeci">virtual bool addCopyEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add copy edge on constraint graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00298">Andersen.h:298</a></div></div>
107
107
  <div class="ttc" id="namespaceSVF_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="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1AndersenSCD_html_aaee864bb1fc5b5d4643e145d80ecfb8b"><div class="ttname"><a href="classSVF_1_1AndersenSCD.html#aaee864bb1fc5b5d4643e145d80ecfb8b">SVF::AndersenSCD::processPWC</a></div><div class="ttdeci">virtual void processPWC(ConstraintNode *rep)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSCD_8cpp_source.html#l00163">AndersenSCD.cpp:163</a></div></div>
109
- <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00387">BasicTypes.h:387</a></div></div>
109
+ <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00294">BasicTypes.h:294</a></div></div>
110
110
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad95c842964e6ca46e51fb763fefec585"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">SVF::PointerAnalysis::CallSiteToFunPtrMap</a></div><div class="ttdeci">SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00104">PointerAnalysis.h:104</a></div></div>
111
111
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
112
112
  <div class="ttc" id="classSVF_1_1AddrCGEdge_html"><div class="ttname"><a href="classSVF_1_1AddrCGEdge.html">SVF::AddrCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00093">ConsGEdge.h:93</a></div></div>
@@ -89,7 +89,7 @@ $(function() {
89
89
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
90
90
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_ab1868f04de44f6fe1e9ac14f3d4ee56b"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">SVF::ConstraintNode::const_iterator</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00045">ConsGNode.h:45</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
92
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00115">BasicTypes.h:115</a></div></div>
92
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
93
93
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a69aae96fc1c99bf108075e5061f50f9e"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a69aae96fc1c99bf108075e5061f50f9e">SVF::AndersenBase::numOfProcessedLoad</a></div><div class="ttdeci">static u32_t numOfProcessedLoad</div><div class="ttdoc">Number of processed Gep edge. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00126">Andersen.h:126</a></div></div>
94
94
  <div class="ttc" id="classSVF_1_1Andersen_html_a6c60b761ddf3d6bf08c8a9c3f6fd9f0b"><div class="ttname"><a href="classSVF_1_1Andersen.html#a6c60b761ddf3d6bf08c8a9c3f6fd9f0b">SVF::Andersen::updateCallGraph</a></div><div class="ttdeci">virtual bool updateCallGraph(const CallSiteToFunPtrMap &amp;callsites)</div><div class="ttdoc">Update call graph for the input indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00627">Andersen.cpp:627</a></div></div>
95
95
  <div class="ttc" id="classSVF_1_1GepCGEdge_html"><div class="ttname"><a href="classSVF_1_1GepCGEdge.html">SVF::GepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00225">ConsGEdge.h:225</a></div></div>
@@ -97,7 +97,7 @@ $(function() {
97
97
  <div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
98
98
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
99
99
  <div class="ttc" id="classSVF_1_1Options_html_adfc1a5c6098d3867e29fc65ca9ffa1cc"><div class="ttname"><a href="classSVF_1_1Options.html#adfc1a5c6098d3867e29fc65ca9ffa1cc">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00037">Options.h:37</a></div></div>
100
- <div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00395">BasicTypes.h:395</a></div></div>
100
+ <div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00302">BasicTypes.h:302</a></div></div>
101
101
  <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
102
102
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00267">SVFUtil.cpp:267</a></div></div>
103
103
  <div class="ttc" id="namespaceSVF_html_ac82022f3f81965c3ce9b26c299f537a7"><div class="ttname"><a href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">SVF::NodePairSet</a></div><div class="ttdeci">Set&lt; NodePair &gt; NodePairSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00123">SVFBasicTypes.h:123</a></div></div>
@@ -185,12 +185,12 @@ $(function() {
185
185
  <div class="ttc" id="classSVF_1_1Andersen_html_ad90c8cf193bd81870ce8dd88c9580e2c"><div class="ttname"><a href="classSVF_1_1Andersen.html#ad90c8cf193bd81870ce8dd88c9580e2c">SVF::Andersen::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00201">Andersen.cpp:201</a></div></div>
186
186
  <div class="ttc" id="namespaceSVF_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="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
187
187
  <div class="ttc" id="classSVF_1_1AndersenBase_html_adaf738bee77a4b1fbb8d42911fabdb49"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#adaf738bee77a4b1fbb8d42911fabdb49">SVF::AndersenBase::AveragePointsToSetSize</a></div><div class="ttdeci">static u32_t AveragePointsToSetSize</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00135">Andersen.h:135</a></div></div>
188
- <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00387">BasicTypes.h:387</a></div></div>
188
+ <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00294">BasicTypes.h:294</a></div></div>
189
189
  <div class="ttc" id="classSVF_1_1Options_html_a8459d43a21bcf8a50fc55d14fcf5a81e"><div class="ttname"><a href="classSVF_1_1Options.html#a8459d43a21bcf8a50fc55d14fcf5a81e">SVF::Options::ClusterAnder</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterAnder</div><div class="ttdoc">Whether to stage Andersen&amp;#39;s with Steensgaard and cluster based on that data. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00040">Options.h:40</a></div></div>
190
190
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad95c842964e6ca46e51fb763fefec585"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">SVF::PointerAnalysis::CallSiteToFunPtrMap</a></div><div class="ttdeci">SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00104">PointerAnalysis.h:104</a></div></div>
191
191
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
192
192
  <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
193
- <div class="ttc" id="classSVF_1_1CallSite_html_a9b7d53a345875e4e6c72eb23ac6475de"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de">SVF::CallSite::getType</a></div><div class="ttdeci">Type * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00403">BasicTypes.h:403</a></div></div>
193
+ <div class="ttc" id="classSVF_1_1CallSite_html_a9b7d53a345875e4e6c72eb23ac6475de"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de">SVF::CallSite::getType</a></div><div class="ttdeci">Type * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00310">BasicTypes.h:310</a></div></div>
194
194
  <div class="ttc" id="classSVF_1_1LocationSet_html"><div class="ttname"><a href="classSVF_1_1LocationSet.html">SVF::LocationSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00048">LocationSet.h:48</a></div></div>
195
195
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_a19c1ed324f65f4cc58dd2fd21ed4a971"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a19c1ed324f65f4cc58dd2fd21ed4a971">SVF::ConstraintNode::incomingAddrsBegin</a></div><div class="ttdeci">const_iterator incomingAddrsBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00181">ConsGNode.h:181</a></div></div>
196
196
  <div class="ttc" id="SVFBasicTypes_8h_html_a7a295e02c56a93cf9206dd9d3b18dd17"><div class="ttname"><a href="SVFBasicTypes_8h.html#a7a295e02c56a93cf9206dd9d3b18dd17">DPAGBuild</a></div><div class="ttdeci">#define DPAGBuild</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00162">SVFBasicTypes.h:162</a></div></div>
@@ -200,7 +200,7 @@ $(function() {
200
200
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ad40b196c2c699bd115529b806d20de25"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25">SVF::AndersenBase::timeOfCollapse</a></div><div class="ttdeci">static double timeOfCollapse</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00134">Andersen.h:134</a></div></div>
201
201
  <div class="ttc" id="classSVF_1_1Options_html_a620fe156ba70f997eace0ccb0d2c9f67"><div class="ttname"><a href="classSVF_1_1Options.html#a620fe156ba70f997eace0ccb0d2c9f67">SVF::Options::AnderTimeLimit</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; AnderTimeLimit</div><div class="ttdoc">Time limit for the Andersen&amp;#39;s analyses. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00074">Options.h:74</a></div></div>
202
202
  <div class="ttc" id="classSVF_1_1Andersen_html_ae6b1e54a389abc68994219e39539127e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">SVF::Andersen::mergeSrcToTgt</a></div><div class="ttdeci">virtual bool mergeSrcToTgt(NodeID srcId, NodeID tgtId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00779">Andersen.cpp:779</a></div></div>
203
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3c1fa59deae39c75c72c97e47326d982"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00167">BasicTypes.h:167</a></div></div>
203
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3c1fa59deae39c75c72c97e47326d982"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00166">BasicTypes.h:166</a></div></div>
204
204
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_ae8ac9ad8e766b961c7ce06d7219f37af"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ae8ac9ad8e766b961c7ce06d7219f37af">SVF::ConstraintNode::incomingAddrsEnd</a></div><div class="ttdeci">const_iterator incomingAddrsEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00185">ConsGNode.h:185</a></div></div>
205
205
  <div class="ttc" id="classSVF_1_1Andersen_html_ac86ffd334568e4df5c08b3c827018bef"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">SVF::Andersen::mergeSccCycle</a></div><div class="ttdeci">void mergeSccCycle()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00479">Andersen.cpp:479</a></div></div>
206
206
  <div class="ttc" id="classSVF_1_1AndersenStat_html"><div class="ttname"><a href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00048">WPAStat.h:48</a></div></div>
@@ -89,7 +89,7 @@ $(function() {
89
89
  <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00378">Andersen.h:378</a></div></div>
90
90
  <div class="ttc" id="classSVF_1_1Andersen_html_a2f88b6035ecb480f7d11afe6bc666541"><div class="ttname"><a href="classSVF_1_1Andersen.html#a2f88b6035ecb480f7d11afe6bc666541">SVF::Andersen::callsite2DummyValPN</a></div><div class="ttdeci">CallSite2DummyValPN callsite2DummyValPN</div><div class="ttdoc">Map an instruction to a dummy obj which created at an indirect callsite, which invokes a heap allocat...</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00239">Andersen.h:239</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1DiffPTData_html_a0f422f826bb378ebb34199f0378e351d"><div class="ttname"><a href="classSVF_1_1DiffPTData.html#a0f422f826bb378ebb34199f0378e351d">SVF::DiffPTData::updatePropaPtsMap</a></div><div class="ttdeci">virtual void updatePropaPtsMap(Key &amp;src, Key &amp;dst)=0</div></div>
92
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00115">BasicTypes.h:115</a></div></div>
92
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
93
93
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a69aae96fc1c99bf108075e5061f50f9e"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a69aae96fc1c99bf108075e5061f50f9e">SVF::AndersenBase::numOfProcessedLoad</a></div><div class="ttdeci">static u32_t numOfProcessedLoad</div><div class="ttdoc">Number of processed Gep edge. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00126">Andersen.h:126</a></div></div>
94
94
  <div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00177">WPASolver.h:177</a></div></div>
95
95
  <div class="ttc" id="classSVF_1_1GepCGEdge_html"><div class="ttname"><a href="classSVF_1_1GepCGEdge.html">SVF::GepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00225">ConsGEdge.h:225</a></div></div>
@@ -165,7 +165,7 @@ $(function() {
165
165
  <div class="ttc" id="classSVF_1_1Andersen_html_a8ba593bd16d4436310f2f25e75687c57"><div class="ttname"><a href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">SVF::Andersen::addCopyEdge</a></div><div class="ttdeci">virtual bool addCopyEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add copy edge on constraint graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00298">Andersen.h:298</a></div></div>
166
166
  <div class="ttc" id="namespaceSVF_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="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
167
167
  <div class="ttc" id="classSVF_1_1AndersenBase_html_adaf738bee77a4b1fbb8d42911fabdb49"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#adaf738bee77a4b1fbb8d42911fabdb49">SVF::AndersenBase::AveragePointsToSetSize</a></div><div class="ttdeci">static u32_t AveragePointsToSetSize</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00135">Andersen.h:135</a></div></div>
168
- <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00387">BasicTypes.h:387</a></div></div>
168
+ <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00294">BasicTypes.h:294</a></div></div>
169
169
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad95c842964e6ca46e51fb763fefec585"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">SVF::PointerAnalysis::CallSiteToFunPtrMap</a></div><div class="ttdeci">SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00104">PointerAnalysis.h:104</a></div></div>
170
170
  <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
171
171
  <div class="ttc" id="classSVF_1_1DiffPTData_html_a7784c4a76aa41149975840af8b32c2a9"><div class="ttname"><a href="classSVF_1_1DiffPTData.html#a7784c4a76aa41149975840af8b32c2a9">SVF::DiffPTData::clearPropaPts</a></div><div class="ttdeci">virtual void clearPropaPts(Key &amp;var)=0</div><div class="ttdoc">Clear propagated points-to set of var. </div></div>
@@ -81,7 +81,7 @@ $(function() {
81
81
  <div class="ttc" id="classSVF_1_1Annotator_html_a556138c152d52921d6f0a709a826a93a"><div class="ttname"><a href="classSVF_1_1Annotator.html#a556138c152d52921d6f0a709a826a93a">SVF::Annotator::SB_INFESIBLE</a></div><div class="ttdeci">const char * SB_INFESIBLE</div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00177">Annotator.h:177</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1Annotator_html_a11d7bfcb525e4fb74e3031dd9a2635fe"><div class="ttname"><a href="classSVF_1_1Annotator.html#a11d7bfcb525e4fb74e3031dd9a2635fe">SVF::Annotator::hasDRNotCheckFlag</a></div><div class="ttdeci">bool hasDRNotCheckFlag(const Instruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00067">Annotator.h:67</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1Annotator_html_a77ae10cccf9eeece8adf7dd00821e836"><div class="ttname"><a href="classSVF_1_1Annotator.html#a77ae10cccf9eeece8adf7dd00821e836">SVF::Annotator::~Annotator</a></div><div class="ttdeci">virtual ~Annotator()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00037">Annotator.h:37</a></div></div>
84
- <div class="ttc" id="namespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
84
+ <div class="ttc" id="namespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1Annotator_html_abc2d4a40ac8a0d70428b5066266f861c"><div class="ttname"><a href="classSVF_1_1Annotator.html#abc2d4a40ac8a0d70428b5066266f861c">SVF::Annotator::hasDRCheckFlag</a></div><div class="ttdeci">bool hasDRCheckFlag(const Instruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00086">Annotator.h:86</a></div></div>
86
86
  <div class="ttc" id="namespaceSVF_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="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
87
87
  <div class="ttc" id="classSVF_1_1Annotator_html_ad1424270d91f70dee1461b6301ce8091"><div class="ttname"><a href="classSVF_1_1Annotator.html#ad1424270d91f70dee1461b6301ce8091">SVF::Annotator::addMDTag</a></div><div class="ttdeci">void addMDTag(Instruction *inst, std::string str)</div><div class="ttdoc">Simple add/remove meta data information. </div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00099">Annotator.h:99</a></div></div>
@@ -0,0 +1,81 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.13"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/lib/Util/BasicTypes.cpp File Reference</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.13 -->
33
+ <script type="text/javascript">
34
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
+ </script>
36
+ <script type="text/javascript" src="menudata.js"></script>
37
+ <script type="text/javascript" src="menu.js"></script>
38
+ <script type="text/javascript">
39
+ $(function() {
40
+ initMenu('',true,false,'search.php','Search');
41
+ $(document).ready(function() { init_search(); });
42
+ });
43
+ </script>
44
+ <div id="main-nav"></div>
45
+ <!-- window showing the filter options -->
46
+ <div id="MSearchSelectWindow"
47
+ onmouseover="return searchBox.OnSearchSelectShow()"
48
+ onmouseout="return searchBox.OnSearchSelectHide()"
49
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
50
+ </div>
51
+
52
+ <!-- iframe showing the search results (closed by default) -->
53
+ <div id="MSearchResultsWindow">
54
+ <iframe src="javascript:void(0)" frameborder="0"
55
+ name="MSearchResults" id="MSearchResults">
56
+ </iframe>
57
+ </div>
58
+
59
+ <div id="nav-path" class="navpath">
60
+ <ul>
61
+ <li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_862d3276083eaac55caed79b9120bf29.html">Util</a></li> </ul>
62
+ </div>
63
+ </div><!-- top -->
64
+ <div class="header">
65
+ <div class="headertitle">
66
+ <div class="title">BasicTypes.cpp File Reference</div> </div>
67
+ </div><!--header-->
68
+ <div class="contents">
69
+ <div class="textblock"><code>#include &quot;<a class="el" href="Util_2BasicTypes_8h_source.html">Util/BasicTypes.h</a>&quot;</code><br />
70
+ <code>#include &quot;<a class="el" href="SVFUtil_8h_source.html">Util/SVFUtil.h</a>&quot;</code><br />
71
+ </div>
72
+ <p><a href="BasicTypes_8cpp_source.html">Go to the source code of this file.</a></p>
73
+ </div><!-- contents -->
74
+ <!-- start footer part -->
75
+ <hr class="footer"/><address class="footer"><small>
76
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
77
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
78
+ </a> 1.8.13
79
+ </small></address>
80
+ </body>
81
+ </html>
@@ -0,0 +1,91 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.13"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/lib/Util/BasicTypes.cpp Source File</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.13 -->
33
+ <script type="text/javascript">
34
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35
+ </script>
36
+ <script type="text/javascript" src="menudata.js"></script>
37
+ <script type="text/javascript" src="menu.js"></script>
38
+ <script type="text/javascript">
39
+ $(function() {
40
+ initMenu('',true,false,'search.php','Search');
41
+ $(document).ready(function() { init_search(); });
42
+ });
43
+ </script>
44
+ <div id="main-nav"></div>
45
+ <!-- window showing the filter options -->
46
+ <div id="MSearchSelectWindow"
47
+ onmouseover="return searchBox.OnSearchSelectShow()"
48
+ onmouseout="return searchBox.OnSearchSelectHide()"
49
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
50
+ </div>
51
+
52
+ <!-- iframe showing the search results (closed by default) -->
53
+ <div id="MSearchResultsWindow">
54
+ <iframe src="javascript:void(0)" frameborder="0"
55
+ name="MSearchResults" id="MSearchResults">
56
+ </iframe>
57
+ </div>
58
+
59
+ <div id="nav-path" class="navpath">
60
+ <ul>
61
+ <li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_862d3276083eaac55caed79b9120bf29.html">Util</a></li> </ul>
62
+ </div>
63
+ </div><!-- top -->
64
+ <div class="header">
65
+ <div class="headertitle">
66
+ <div class="title">BasicTypes.cpp</div> </div>
67
+ </div><!--header-->
68
+ <div class="contents">
69
+ <a href="BasicTypes_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Util_2BasicTypes_8h.html">Util/BasicTypes.h</a>&quot;</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>&quot;</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVFUtil.html">SVFUtil</a>;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a5e68fc5ef70bddb78fece39fdea37d41"> 8</a></span>&#160;<span class="keyword">const</span> std::vector&lt;const BasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a5e68fc5ef70bddb78fece39fdea37d41">SVFFunction::getLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*, std::vector&lt;const BasicBlock*&gt;</a>&gt;::const_iterator mapIter = bb2LoopMap.find(bb);</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <span class="keywordflow">if</span>(mapIter != bb2LoopMap.end())</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <span class="keywordflow">return</span> mapIter-&gt;second;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; {</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; assert(<a class="code" href="classSVF_1_1SVFFunction.html#a8d9140ca8da3d17135faa9dfcc6ecc43">SVFFunction::hasLoopInfo</a>(bb) &amp;&amp; <span class="stringliteral">&quot;loopinfo does not exit(bb not in a loop)&quot;</span>);</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; abort();</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; }</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;}</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ad37d4e8003373738ca4e0a9489119bc6"> 20</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#ad37d4e8003373738ca4e0a9489119bc6">SVFFunction::getExitBlocksOfLoop</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bb, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const BasicBlock*&gt;</a>&amp; exitbbs)<span class="keyword"> const</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a8d9140ca8da3d17135faa9dfcc6ecc43">SVFFunction::hasLoopInfo</a>(bb))</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; {</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">const</span> std::vector&lt;const BasicBlock*&gt; blocks = getLoopInfo(bb);</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordflow">if</span> (!blocks.empty())</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* block : blocks)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">succ_const_iterator</a> succIt = succ_begin(block); succIt != succ_end(block); succIt++)</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* succ = *succIt;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">if</span> ((std::find(blocks.begin(), blocks.end(), succ)==blocks.end()))</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; exitbbs.insert(succ);</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; }</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; }</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; }</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; }</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;}</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a8cd83e389a55630e08559392d6004b32"> 40</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a8cd83e389a55630e08559392d6004b32">SVFFunction::dominate</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">if</span> (bbKey == bbValue)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="comment">// An unreachable node is dominated by anything.</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">if</span> (isUnreachable(bbValue))</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; {</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; }</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// And dominates nothing.</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (isUnreachable(bbKey))</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; dtBBsMap = getDomTreeMap();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;::const_iterator mapIter = dtBBsMap.find(bbKey);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (mapIter != dtBBsMap.end())</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const BasicBlock*&gt;</a> &amp; dtBBs = mapIter-&gt;second;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">if</span> (dtBBs.find(bbValue) != dtBBs.end())</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; }</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aecb578309d89d324f5cd7fc8e1925eeb"> 71</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#aecb578309d89d324f5cd7fc8e1925eeb">SVFFunction::postDominate</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (bbKey == bbValue)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// An unreachable node is dominated by anything.</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span> (isUnreachable(bbValue))</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// And dominates nothing.</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (isUnreachable(bbKey))</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; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; dtBBsMap = getPostDomTreeMap();</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;::const_iterator mapIter = dtBBsMap.find(bbKey);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span> (mapIter != dtBBsMap.end())</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const BasicBlock*&gt;</a> &amp; dtBBs = mapIter-&gt;second;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (dtBBs.find(bbValue) != dtBBs.end())</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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"><a class="line" href="classSVF_1_1SVFFunction.html#abcba9b1b7d7ede561a154417c09ced6c"> 101</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#abcba9b1b7d7ede561a154417c09ced6c">SVFFunction::isLoopHeader</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (hasLoopInfo(bb))</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">const</span> std::vector&lt;const BasicBlock*&gt;&amp; blocks = getLoopInfo(bb);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; assert(!blocks.empty() &amp;&amp; <span class="stringliteral">&quot;no available loop info?&quot;</span>);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> blocks.front() == bb;</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; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}</div><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#l00070">BasicTypes.h:70</a></div></div>
70
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_aecb578309d89d324f5cd7fc8e1925eeb"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aecb578309d89d324f5cd7fc8e1925eeb">SVF::SVFFunction::postDominate</a></div><div class="ttdeci">bool postDominate(const BasicBlock *bbKey, const BasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8cpp_source.html#l00071">BasicTypes.cpp:71</a></div></div>
71
+ <div class="ttc" id="Util_2BasicTypes_8h_html"><div class="ttname"><a href="Util_2BasicTypes_8h.html">BasicTypes.h</a></div></div>
72
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a8d9140ca8da3d17135faa9dfcc6ecc43"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8d9140ca8da3d17135faa9dfcc6ecc43">SVF::SVFFunction::hasLoopInfo</a></div><div class="ttdeci">bool hasLoopInfo(const BasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00211">BasicTypes.h:211</a></div></div>
73
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_abcba9b1b7d7ede561a154417c09ced6c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#abcba9b1b7d7ede561a154417c09ced6c">SVF::SVFFunction::isLoopHeader</a></div><div class="ttdeci">bool isLoopHeader(const BasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8cpp_source.html#l00101">BasicTypes.cpp:101</a></div></div>
74
+ <div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
75
+ <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00110">SVFBasicTypes.h:110</a></div></div>
76
+ <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#l00106">BasicTypes.h:106</a></div></div>
77
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ad37d4e8003373738ca4e0a9489119bc6"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad37d4e8003373738ca4e0a9489119bc6">SVF::SVFFunction::getExitBlocksOfLoop</a></div><div class="ttdeci">void getExitBlocksOfLoop(const BasicBlock *bb, Set&lt; const BasicBlock *&gt; &amp;exitbbs) const</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8cpp_source.html#l00020">BasicTypes.cpp:20</a></div></div>
78
+ <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#l00105">SVFBasicTypes.h:105</a></div></div>
79
+ <div class="ttc" id="namespaceSVFUtil_html"><div class="ttname"><a href="namespaceSVFUtil.html">SVFUtil</a></div></div>
80
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a8cd83e389a55630e08559392d6004b32"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8cd83e389a55630e08559392d6004b32">SVF::SVFFunction::dominate</a></div><div class="ttdeci">bool dominate(const BasicBlock *bbKey, const BasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8cpp_source.html#l00040">BasicTypes.cpp:40</a></div></div>
81
+ <div class="ttc" id="namespaceSVF_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="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
82
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a5e68fc5ef70bddb78fece39fdea37d41"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a5e68fc5ef70bddb78fece39fdea37d41">SVF::SVFFunction::getLoopInfo</a></div><div class="ttdeci">const std::vector&lt; const BasicBlock * &gt; &amp; getLoopInfo(const BasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8cpp_source.html#l00008">BasicTypes.cpp:8</a></div></div>
83
+ </div><!-- fragment --></div><!-- contents -->
84
+ <!-- start footer part -->
85
+ <hr class="footer"/><address class="footer"><small>
86
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
87
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
88
+ </a> 1.8.13
89
+ </small></address>
90
+ </body>
91
+ </html>