svf-tools 1.0.474 → 1.0.475

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 (198) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +8 -7
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +2 -2
  6. package/SVF-doxygen/html/html/CHGBuilder_8cpp.html +2 -2
  7. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +20 -19
  8. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +15 -15
  9. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/Casting_8h_source.html +1 -1
  11. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  12. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  13. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  14. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +4 -4
  18. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +3 -3
  19. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +11 -10
  23. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +11 -10
  27. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +7 -7
  28. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/html/IRGraph_8h_source.html +3 -3
  30. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +24 -24
  31. package/SVF-doxygen/html/html/LLVMUtil_8h.html +111 -111
  32. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +41 -40
  33. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +11 -10
  34. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +8 -8
  35. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +14 -13
  36. package/SVF-doxygen/html/html/LocationSet_8h_source.html +9 -9
  37. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +31 -30
  38. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +23 -23
  39. package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
  40. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  41. package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +35 -34
  44. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +28 -27
  45. package/SVF-doxygen/html/html/MemSSA_8h_source.html +19 -19
  46. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +14 -14
  47. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +26 -25
  48. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +22 -22
  49. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  50. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  51. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +27 -26
  52. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +24 -24
  53. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +3 -3
  54. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  55. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
  56. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  57. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +17 -16
  58. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +37 -37
  59. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +6 -6
  60. package/SVF-doxygen/html/html/SVFIR_8h_source.html +3 -3
  61. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +3 -3
  64. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  65. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  66. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +40 -39
  67. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +16 -16
  68. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +58 -57
  69. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +24 -24
  70. package/SVF-doxygen/html/html/TCT_8h_source.html +2 -2
  71. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  72. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  74. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +2 -2
  75. package/SVF-doxygen/html/html/WPAStat_8h_source.html +5 -5
  76. package/SVF-doxygen/html/html/cfl_8cpp.html +3 -3
  77. package/SVF-doxygen/html/html/cfl_8cpp_source.html +3 -3
  78. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  79. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +14 -14
  81. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +6 -6
  82. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  83. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +3 -3
  84. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +48 -48
  85. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +4 -4
  86. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
  87. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +4 -4
  88. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +2 -2
  91. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +3 -3
  92. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  94. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  95. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +23 -23
  96. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +1 -1
  97. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +2 -2
  98. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
  99. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  101. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
  102. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +23 -23
  103. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  104. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +3 -3
  105. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +2 -2
  106. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +22 -22
  107. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +28 -28
  108. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +78 -78
  109. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +100 -100
  110. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  111. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +4 -4
  113. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +54 -54
  114. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +56 -56
  115. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +7 -7
  116. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +8 -8
  117. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  118. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +15 -15
  119. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +71 -71
  120. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +59 -59
  121. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +3 -3
  122. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +7 -7
  123. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  124. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +9 -9
  125. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +148 -148
  126. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  128. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -2
  129. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +88 -88
  131. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +65 -65
  132. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  133. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +4 -4
  137. package/SVF-doxygen/html/html/dda_8cpp.html +2 -2
  138. package/SVF-doxygen/html/html/dda_8cpp_source.html +2 -2
  139. package/SVF-doxygen/html/html/mta_8cpp.html +2 -2
  140. package/SVF-doxygen/html/html/mta_8cpp_source.html +2 -2
  141. package/SVF-doxygen/html/html/namespaceSVF.html +4 -2
  142. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +1452 -0
  143. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +41 -1409
  144. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +4 -4
  145. package/SVF-doxygen/html/html/namespacemembers.html +3 -3
  146. package/SVF-doxygen/html/html/namespacemembers_f.html +1 -1
  147. package/SVF-doxygen/html/html/namespacemembers_func.html +39 -39
  148. package/SVF-doxygen/html/html/namespacemembers_g.html +14 -14
  149. package/SVF-doxygen/html/html/namespacemembers_i.html +18 -18
  150. package/SVF-doxygen/html/html/namespacemembers_p.html +1 -1
  151. package/SVF-doxygen/html/html/namespacemembers_s.html +2 -2
  152. package/SVF-doxygen/html/html/namespaces.html +2 -1
  153. package/SVF-doxygen/html/html/saber_8cpp.html +2 -2
  154. package/SVF-doxygen/html/html/saber_8cpp_source.html +2 -2
  155. package/SVF-doxygen/html/html/search/all_1.js +3 -3
  156. package/SVF-doxygen/html/html/search/all_10.js +1 -1
  157. package/SVF-doxygen/html/html/search/all_13.js +3 -2
  158. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  159. package/SVF-doxygen/html/html/search/all_7.js +14 -14
  160. package/SVF-doxygen/html/html/search/all_9.js +18 -18
  161. package/SVF-doxygen/html/html/search/functions_0.js +3 -3
  162. package/SVF-doxygen/html/html/search/functions_11.js +2 -2
  163. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  164. package/SVF-doxygen/html/html/search/functions_6.js +14 -14
  165. package/SVF-doxygen/html/html/search/functions_8.js +18 -18
  166. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  167. package/SVF-doxygen/html/html/search/namespaces_1.js +1 -0
  168. package/SVF-doxygen/html/html/svf-ex_8cpp.html +3 -3
  169. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  170. package/SVF-doxygen/html/html/wpa_8cpp.html +2 -2
  171. package/SVF-doxygen/html/html/wpa_8cpp_source.html +2 -2
  172. package/include/MTA/MHP.h +1 -1
  173. package/include/SVF-FE/LLVMUtil.h +7 -7
  174. package/lib/Graphs/ICFG.cpp +2 -2
  175. package/lib/MSSA/MemRegion.cpp +1 -0
  176. package/lib/MSSA/MemSSA.cpp +1 -0
  177. package/lib/MTA/LockAnalysis.cpp +1 -0
  178. package/lib/MemoryModel/LocationSet.cpp +1 -0
  179. package/lib/MemoryModel/PointerAnalysis.cpp +1 -0
  180. package/lib/MemoryModel/SVFIR.cpp +1 -1
  181. package/lib/MemoryModel/SymbolTableInfo.cpp +1 -0
  182. package/lib/SABER/LeakChecker.cpp +1 -0
  183. package/lib/SABER/PathCondAllocator.cpp +1 -0
  184. package/lib/SVF-FE/CHGBuilder.cpp +1 -0
  185. package/lib/SVF-FE/CPPUtil.cpp +2 -2
  186. package/lib/SVF-FE/ICFGBuilder.cpp +1 -0
  187. package/lib/SVF-FE/LLVMUtil.cpp +32 -32
  188. package/lib/SVF-FE/SVFIRBuilder.cpp +2 -1
  189. package/lib/SVF-FE/SymbolTableBuilder.cpp +8 -7
  190. package/lib/WPA/AndersenStat.cpp +1 -0
  191. package/lib/WPA/FlowSensitiveStat.cpp +1 -0
  192. package/package.json +1 -1
  193. package/tools/CFL/cfl.cpp +1 -1
  194. package/tools/DDA/dda.cpp +1 -1
  195. package/tools/Example/svf-ex.cpp +1 -1
  196. package/tools/MTA/mta.cpp +1 -1
  197. package/tools/SABER/saber.cpp +1 -1
  198. package/tools/WPA/wpa.cpp +1 -1
@@ -92,7 +92,7 @@ $(function() {
92
92
  : <a class="el" href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF</a>
93
93
  </li>
94
94
  <li>processArguments()
95
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil</a>
95
+ : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">SVF::LLVMUtil</a>
96
96
  </li>
97
97
  <li>ptsToNodeBS()
98
98
  : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a86ebab122895189be57637b84adc7642">SVF::SVFUtil</a>
@@ -95,10 +95,10 @@ $(function() {
95
95
  : <a class="el" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">SVF</a>
96
96
  </li>
97
97
  <li>stripAllCasts()
98
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a69991ab4e9a7705202c1357079ab5fa8">SVF::SVFUtil</a>
98
+ : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#a38ce45ae5f017c90115ce444b44d478c">SVF::LLVMUtil</a>
99
99
  </li>
100
100
  <li>stripConstantCasts()
101
- : <a class="el" href="namespaceSVF_1_1SVFUtil.html#a86763e6a3606598580cd0172aecb5bc7">SVF::SVFUtil</a>
101
+ : <a class="el" href="namespaceSVF_1_1LLVMUtil.html#a07bd47ccfd02c5a2a6db26b537b2184f">SVF::LLVMUtil</a>
102
102
  </li>
103
103
  <li>StructType
104
104
  : <a class="el" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">SVF</a>
@@ -68,7 +68,8 @@ $(function() {
68
68
  <tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceSVF.html" target="_self">SVF</a></td><td class="desc">For isBitcode </td></tr>
69
69
  <tr id="row_1_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceSVF_1_1cppUtil.html" target="_self">cppUtil</a></td><td class="desc"></td></tr>
70
70
  <tr id="row_1_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceSVF_1_1cppUtil_1_1ctir.html" target="_self">ctir</a></td><td class="desc"></td></tr>
71
- <tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceSVF_1_1SVFUtil.html" target="_self">SVFUtil</a></td><td class="desc"></td></tr>
71
+ <tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceSVF_1_1LLVMUtil.html" target="_self">LLVMUtil</a></td><td class="desc"></td></tr>
72
+ <tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceSVF_1_1SVFUtil.html" target="_self">SVFUtil</a></td><td class="desc"></td></tr>
72
73
  </table>
73
74
  </div><!-- directory -->
74
75
  </div><!-- contents -->
@@ -241,14 +241,14 @@ Functions</h2></td></tr>
241
241
  </div><div class="memdoc">
242
242
 
243
243
  <p class="definition">Definition at line <a class="el" href="saber_8cpp_source.html#l00047">47</a> of file <a class="el" href="saber_8cpp_source.html">saber.cpp</a>.</p>
244
- <div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</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; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="stringliteral">&quot;Source-Sink Bug Detector\n&quot;</span>);</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="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</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;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a> *saber;</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; <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#a3bebf1fb890054c49ae16f9706fa38d2">LEAKCHECKER</a>)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#ae054770c30aa9b9ef72d5bc84084b472">FILECHECKER</a>)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FileChecker.html">FileChecker</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#ae783b2330e99490ef5d366605d1098cf">DFREECHECKER</a>)</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1DoubleFreeChecker.html">DoubleFreeChecker</a>();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a>(); <span class="comment">// if no checker is specified, we use leak checker as the default one.</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; saber-&gt;<a class="code" href="classSVF_1_1LeakChecker.html#ab3bb79d88d73c8b881d714921e7b5e12">runOnModule</a>(svfModule);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div><div class="ttc" id="classSVF_1_1LeakChecker_html"><div class="ttname"><a href="classSVF_1_1LeakChecker.html">SVF::LeakChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00042">LeakChecker.h:42</a></div></div>
244
+ <div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</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; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">LLVMUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="stringliteral">&quot;Source-Sink Bug Detector\n&quot;</span>);</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="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</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;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a> *saber;</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; <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#a3bebf1fb890054c49ae16f9706fa38d2">LEAKCHECKER</a>)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#ae054770c30aa9b9ef72d5bc84084b472">FILECHECKER</a>)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FileChecker.html">FileChecker</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#ae783b2330e99490ef5d366605d1098cf">DFREECHECKER</a>)</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1DoubleFreeChecker.html">DoubleFreeChecker</a>();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a>(); <span class="comment">// if no checker is specified, we use leak checker as the default one.</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; saber-&gt;<a class="code" href="classSVF_1_1LeakChecker.html#ab3bb79d88d73c8b881d714921e7b5e12">runOnModule</a>(svfModule);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div><div class="ttc" id="classSVF_1_1LeakChecker_html"><div class="ttname"><a href="classSVF_1_1LeakChecker.html">SVF::LeakChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00042">LeakChecker.h:42</a></div></div>
245
245
  <div class="ttc" id="classSVF_1_1DoubleFreeChecker_html"><div class="ttname"><a href="classSVF_1_1DoubleFreeChecker.html">SVF::DoubleFreeChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="DoubleFreeChecker_8h_source.html#l00042">DoubleFreeChecker.h:42</a></div></div>
246
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
247
246
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
248
247
  <div class="ttc" id="classSVF_1_1FileChecker_html"><div class="ttname"><a href="classSVF_1_1FileChecker.html">SVF::FileChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="FileChecker_8h_source.html#l00042">FileChecker.h:42</a></div></div>
249
248
  <div class="ttc" id="saber_8cpp_html_a3bebf1fb890054c49ae16f9706fa38d2"><div class="ttname"><a href="saber_8cpp.html#a3bebf1fb890054c49ae16f9706fa38d2">LEAKCHECKER</a></div><div class="ttdeci">static llvm::cl::opt&lt; bool &gt; LEAKCHECKER(&quot;leak&quot;, llvm::cl::init(false), llvm::cl::desc(&quot;Memory Leak Detection&quot;))</div></div>
250
249
  <div class="ttc" id="saber_8cpp_html_ae054770c30aa9b9ef72d5bc84084b472"><div class="ttname"><a href="saber_8cpp.html#ae054770c30aa9b9ef72d5bc84084b472">FILECHECKER</a></div><div class="ttdeci">static llvm::cl::opt&lt; bool &gt; FILECHECKER(&quot;fileck&quot;, llvm::cl::init(false), llvm::cl::desc(&quot;File Open/Close Detection&quot;))</div></div>
251
250
  <div class="ttc" id="saber_8cpp_html_ae783b2330e99490ef5d366605d1098cf"><div class="ttname"><a href="saber_8cpp.html#ae783b2330e99490ef5d366605d1098cf">DFREECHECKER</a></div><div class="ttdeci">static llvm::cl::opt&lt; bool &gt; DFREECHECKER(&quot;dfree&quot;, llvm::cl::init(false), llvm::cl::desc(&quot;Double Free Detection&quot;))</div></div>
251
+ <div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_accdd44093d6d145dc92edeaaff3f5732"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">SVF::LLVMUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
252
252
  <div class="ttc" id="classSVF_1_1SVFModule_html_aa03ab5272652290f30870c6e2d053d98"><div class="ttname"><a href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVF::SVFModule::buildSymbolTableInfo</a></div><div class="ttdeci">void buildSymbolTableInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8cpp_source.html#l00030">SVFModule.cpp:30</a></div></div>
253
253
  <div class="ttc" id="classSVF_1_1LeakChecker_html_ab3bb79d88d73c8b881d714921e7b5e12"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#ab3bb79d88d73c8b881d714921e7b5e12">SVF::LeakChecker::runOnModule</a></div><div class="ttdeci">virtual bool runOnModule(SVFModule *module)</div><div class="ttdoc">We start from here. </div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00068">LeakChecker.h:68</a></div></div>
254
254
  </div><!-- fragment -->
@@ -66,12 +66,11 @@ $(function() {
66
66
  <div class="title">saber.cpp</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="saber_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="comment">//===- saber.cpp -- Source-sink bug checker------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></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"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></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;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===-----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> // Saber: Software Bug Check.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> //</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> // Author: Yulei Sui,</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> */</span></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="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-FE/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LeakChecker_8h.html">SABER/LeakChecker.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FileChecker_8h.html">SABER/FileChecker.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="DoubleFreeChecker_8h.html">SABER/DoubleFreeChecker.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></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;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</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;<span class="keyword">static</span> llvm::cl::opt&lt;bool&gt; <a class="code" href="saber_8cpp.html#a3bebf1fb890054c49ae16f9706fa38d2">LEAKCHECKER</a>(<span class="stringliteral">&quot;leak&quot;</span>, llvm::cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; llvm::cl::desc(<span class="stringliteral">&quot;Memory Leak Detection&quot;</span>));</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">static</span> llvm::cl::opt&lt;bool&gt; <a class="code" href="saber_8cpp.html#ae054770c30aa9b9ef72d5bc84084b472">FILECHECKER</a>(<span class="stringliteral">&quot;fileck&quot;</span>, llvm::cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; llvm::cl::desc(<span class="stringliteral">&quot;File Open/Close Detection&quot;</span>));</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">static</span> llvm::cl::opt&lt;bool&gt; <a class="code" href="saber_8cpp.html#ae783b2330e99490ef5d366605d1098cf">DFREECHECKER</a>(<span class="stringliteral">&quot;dfree&quot;</span>, llvm::cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; llvm::cl::desc(<span class="stringliteral">&quot;Double Free Detection&quot;</span>));</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="saber_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 47</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="saber_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</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; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="stringliteral">&quot;Source-Sink Bug Detector\n&quot;</span>);</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="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</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;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a> *saber;</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; <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#a3bebf1fb890054c49ae16f9706fa38d2">LEAKCHECKER</a>)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#ae054770c30aa9b9ef72d5bc84084b472">FILECHECKER</a>)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FileChecker.html">FileChecker</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#ae783b2330e99490ef5d366605d1098cf">DFREECHECKER</a>)</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1DoubleFreeChecker.html">DoubleFreeChecker</a>();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a>(); <span class="comment">// if no checker is specified, we use leak checker as the default one.</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; saber-&gt;<a class="code" href="classSVF_1_1LeakChecker.html#ab3bb79d88d73c8b881d714921e7b5e12">runOnModule</a>(svfModule);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div><div class="ttc" id="classSVF_1_1LeakChecker_html"><div class="ttname"><a href="classSVF_1_1LeakChecker.html">SVF::LeakChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00042">LeakChecker.h:42</a></div></div>
69
+ <a href="saber_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="comment">//===- saber.cpp -- Source-sink bug checker------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></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"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></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;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===-----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> // Saber: Software Bug Check.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> //</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> // Author: Yulei Sui,</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> */</span></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="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-FE/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LeakChecker_8h.html">SABER/LeakChecker.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="FileChecker_8h.html">SABER/FileChecker.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="DoubleFreeChecker_8h.html">SABER/DoubleFreeChecker.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></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;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</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;<span class="keyword">static</span> llvm::cl::opt&lt;bool&gt; <a class="code" href="saber_8cpp.html#a3bebf1fb890054c49ae16f9706fa38d2">LEAKCHECKER</a>(<span class="stringliteral">&quot;leak&quot;</span>, llvm::cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; llvm::cl::desc(<span class="stringliteral">&quot;Memory Leak Detection&quot;</span>));</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="keyword">static</span> llvm::cl::opt&lt;bool&gt; <a class="code" href="saber_8cpp.html#ae054770c30aa9b9ef72d5bc84084b472">FILECHECKER</a>(<span class="stringliteral">&quot;fileck&quot;</span>, llvm::cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; llvm::cl::desc(<span class="stringliteral">&quot;File Open/Close Detection&quot;</span>));</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">static</span> llvm::cl::opt&lt;bool&gt; <a class="code" href="saber_8cpp.html#ae783b2330e99490ef5d366605d1098cf">DFREECHECKER</a>(<span class="stringliteral">&quot;dfree&quot;</span>, llvm::cl::init(<span class="keyword">false</span>),</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; llvm::cl::desc(<span class="stringliteral">&quot;Double Free Detection&quot;</span>));</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="saber_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 47</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="saber_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</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; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">LLVMUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="stringliteral">&quot;Source-Sink Bug Detector\n&quot;</span>);</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="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</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;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a> *saber;</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; <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#a3bebf1fb890054c49ae16f9706fa38d2">LEAKCHECKER</a>)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#ae054770c30aa9b9ef72d5bc84084b472">FILECHECKER</a>)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FileChecker.html">FileChecker</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="saber_8cpp.html#ae783b2330e99490ef5d366605d1098cf">DFREECHECKER</a>)</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1DoubleFreeChecker.html">DoubleFreeChecker</a>();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; saber = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LeakChecker.html">LeakChecker</a>(); <span class="comment">// if no checker is specified, we use leak checker as the default one.</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; saber-&gt;<a class="code" href="classSVF_1_1LeakChecker.html#ab3bb79d88d73c8b881d714921e7b5e12">runOnModule</a>(svfModule);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div><div class="ttc" id="classSVF_1_1LeakChecker_html"><div class="ttname"><a href="classSVF_1_1LeakChecker.html">SVF::LeakChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00042">LeakChecker.h:42</a></div></div>
70
70
  <div class="ttc" id="classSVF_1_1DoubleFreeChecker_html"><div class="ttname"><a href="classSVF_1_1DoubleFreeChecker.html">SVF::DoubleFreeChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="DoubleFreeChecker_8h_source.html#l00042">DoubleFreeChecker.h:42</a></div></div>
71
71
  <div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00107">CFLGraph.h:107</a></div></div>
72
72
  <div class="ttc" id="FileChecker_8h_html"><div class="ttname"><a href="FileChecker_8h.html">FileChecker.h</a></div></div>
73
73
  <div class="ttc" id="saber_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="saber_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="saber_8cpp_source.html#l00047">saber.cpp:47</a></div></div>
74
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
75
74
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
76
75
  <div class="ttc" id="LeakChecker_8h_html"><div class="ttname"><a href="LeakChecker_8h.html">LeakChecker.h</a></div></div>
77
76
  <div class="ttc" id="classSVF_1_1FileChecker_html"><div class="ttname"><a href="classSVF_1_1FileChecker.html">SVF::FileChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="FileChecker_8h_source.html#l00042">FileChecker.h:42</a></div></div>
@@ -80,6 +79,7 @@ $(function() {
80
79
  <div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
81
80
  <div class="ttc" id="saber_8cpp_html_ae783b2330e99490ef5d366605d1098cf"><div class="ttname"><a href="saber_8cpp.html#ae783b2330e99490ef5d366605d1098cf">DFREECHECKER</a></div><div class="ttdeci">static llvm::cl::opt&lt; bool &gt; DFREECHECKER(&quot;dfree&quot;, llvm::cl::init(false), llvm::cl::desc(&quot;Double Free Detection&quot;))</div></div>
82
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="namespaceSVF_1_1LLVMUtil_html_accdd44093d6d145dc92edeaaff3f5732"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732">SVF::LLVMUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00427">LLVMUtil.cpp:427</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1SVFModule_html_aa03ab5272652290f30870c6e2d053d98"><div class="ttname"><a href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVF::SVFModule::buildSymbolTableInfo</a></div><div class="ttdeci">void buildSymbolTableInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8cpp_source.html#l00030">SVFModule.cpp:30</a></div></div>
84
84
  <div class="ttc" id="classSVF_1_1LeakChecker_html_ab3bb79d88d73c8b881d714921e7b5e12"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#ab3bb79d88d73c8b881d714921e7b5e12">SVF::LeakChecker::runOnModule</a></div><div class="ttdeci">virtual bool runOnModule(SVFModule *module)</div><div class="ttdoc">We start from here. </div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00068">LeakChecker.h:68</a></div></div>
85
85
  <div class="ttc" id="LLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
@@ -421,9 +421,9 @@ var searchData=
421
421
  ['arg_5fend',['arg_end',['../classSVF_1_1CallSite.html#a46e8ffe430bb2711abaafc9d7864909e',1,'SVF::CallSite']]],
422
422
  ['arg_5fiterator',['arg_iterator',['../classSVF_1_1CallSite.html#ac1cdfe5e54026960a23142e26b3150ff',1,'SVF::CallSite']]],
423
423
  ['arg_5fsize',['arg_size',['../classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d',1,'SVF::SVFFunction::arg_size()'],['../classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27',1,'SVF::CallSite::arg_size()']]],
424
- ['argindeadfunction',['ArgInDeadFunction',['../namespaceSVF_1_1SVFUtil.html#a4543a9c0299c72deb68f2472e1ea05ce',1,'SVF::SVFUtil']]],
425
- ['arginnocallerfunction',['ArgInNoCallerFunction',['../namespaceSVF_1_1SVFUtil.html#afd690c09e01989e57899875ca97f0166',1,'SVF::SVFUtil']]],
426
- ['arginprogentryfunction',['ArgInProgEntryFunction',['../namespaceSVF_1_1SVFUtil.html#a4d4191a1c81d80bf26aac120ed880135',1,'SVF::SVFUtil']]],
424
+ ['argindeadfunction',['ArgInDeadFunction',['../namespaceSVF_1_1LLVMUtil.html#a5cbde00eef789f682df972ae71b44449',1,'SVF::LLVMUtil']]],
425
+ ['arginnocallerfunction',['ArgInNoCallerFunction',['../namespaceSVF_1_1LLVMUtil.html#ab34319e843527c98c1b34ce23ecb2d49',1,'SVF::LLVMUtil']]],
426
+ ['arginprogentryfunction',['ArgInProgEntryFunction',['../namespaceSVF_1_1LLVMUtil.html#adad59a953dd81e213db71babbbc9df2f',1,'SVF::LLVMUtil']]],
427
427
  ['argument',['Argument',['../namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801',1,'SVF']]],
428
428
  ['argumentvfgnode',['ArgumentVFGNode',['../classSVF_1_1ArgumentVFGNode.html',1,'SVF::ArgumentVFGNode'],['../classSVF_1_1ArgumentVFGNode.html#a0b35234b96e98099a289b73028bae276',1,'SVF::ArgumentVFGNode::ArgumentVFGNode()']]],
429
429
  ['array_5fcompare',['array_compare',['../cuddInt_8c.html#a7bf1f52c1a099b9c9ff70e091fc2a11b',1,'cuddInt.c']]],
@@ -198,7 +198,7 @@ var searchData=
198
198
  ['processalladdr',['processAllAddr',['../classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10',1,'SVF::Andersen::processAllAddr()'],['../classSVF_1_1Steensgaard.html#ada542b3e393f23938d37e479008e8cc0',1,'SVF::Steensgaard::processAllAddr()']]],
199
199
  ['processandersenresults',['processAndersenResults',['../classSVF_1_1IRAnnotator.html#a1dfd230ddbc751ddf6833a6dc22b84f7',1,'SVF::IRAnnotator']]],
200
200
  ['processargumentnode',['processArgumentNode',['../classSVF_1_1IRAnnotator.html#a79ce14045e7321569b95cff0b4800c08',1,'SVF::IRAnnotator']]],
201
- ['processarguments',['processArguments',['../namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50',1,'SVF::SVFUtil']]],
201
+ ['processarguments',['processArguments',['../namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732',1,'SVF::LLVMUtil']]],
202
202
  ['processbasicblocknode',['processBasicBlockNode',['../classSVF_1_1IRAnnotator.html#a6da6bf2db9dd582739e621aefc72025f',1,'SVF::IRAnnotator']]],
203
203
  ['processcast',['processCast',['../classSVF_1_1AndersenWaveDiff.html#a57c7c12ebcf06f2912e93c802c6cdd02',1,'SVF::AndersenWaveDiff']]],
204
204
  ['processce',['processCE',['../classSVF_1_1SVFIRBuilder.html#a5adf8baa546292434ba1fec48db2d0a7',1,'SVF::SVFIRBuilder']]],
@@ -2,6 +2,7 @@ var searchData=
2
2
  [
3
3
  ['cpputil',['cppUtil',['../namespaceSVF_1_1cppUtil.html',1,'SVF']]],
4
4
  ['ctir',['ctir',['../namespaceSVF_1_1cppUtil_1_1ctir.html',1,'SVF::cppUtil']]],
5
+ ['llvmutil',['LLVMUtil',['../namespaceSVF_1_1LLVMUtil.html',1,'SVF']]],
5
6
  ['s32_5ft',['s32_t',['../namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e',1,'SVF']]],
6
7
  ['s64_5ft',['s64_t',['../namespaceSVF.html#ad781b0b14e89773e774072b280658ef3',1,'SVF']]],
7
8
  ['saber_2ecpp',['saber.cpp',['../saber_8cpp.html',1,'']]],
@@ -337,9 +338,9 @@ var searchData=
337
338
  ['strerror',['strerror',['../util_8h.html#a3b960eeb937b0deb53d4a2812d342242',1,'util.h']]],
338
339
  ['stride',['stride',['../classSVF_1_1StInfo.html#a6c52ecbeeeeb0dda019c68aec687f2c2',1,'SVF::StInfo']]],
339
340
  ['strides',['strides',['../classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278',1,'SVF::ConstraintNode']]],
340
- ['stripallcasts',['stripAllCasts',['../namespaceSVF_1_1SVFUtil.html#a69991ab4e9a7705202c1357079ab5fa8',1,'SVF::SVFUtil']]],
341
+ ['stripallcasts',['stripAllCasts',['../namespaceSVF_1_1LLVMUtil.html#a38ce45ae5f017c90115ce444b44d478c',1,'SVF::LLVMUtil']]],
341
342
  ['striparray',['stripArray',['../classSVF_1_1DCHGraph.html#a6c276e661e5e63c1c84387f84c8a62e4',1,'SVF::DCHGraph']]],
342
- ['stripconstantcasts',['stripConstantCasts',['../namespaceSVF_1_1SVFUtil.html#a86763e6a3606598580cd0172aecb5bc7',1,'SVF::SVFUtil']]],
343
+ ['stripconstantcasts',['stripConstantCasts',['../namespaceSVF_1_1LLVMUtil.html#a07bd47ccfd02c5a2a6db26b537b2184f',1,'SVF::LLVMUtil']]],
343
344
  ['stripqualifiers',['stripQualifiers',['../classSVF_1_1DCHGraph.html#a175ed6ad0c9b23d5617f755ab96c76c4',1,'SVF::DCHGraph']]],
344
345
  ['stripspace',['stripSpace',['../classSVF_1_1GrammarBuilder.html#a6de372fbe80d33a5688cada0adca0bb8',1,'SVF::GrammarBuilder']]],
345
346
  ['strlen',['strlen',['../util_8h.html#a492442620ce65db20fe7297b43cbca65',1,'util.h']]],
@@ -137,7 +137,7 @@ var searchData=
137
137
  ['funcpointerprint',['FuncPointerPrint',['../classSVF_1_1Options.html#a14ceeb5d7de81a0946389159986e4955',1,'SVF::Options']]],
138
138
  ['function',['Function',['../namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1',1,'SVF']]],
139
139
  ['function_5fobj',['FUNCTION_OBJ',['../classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515',1,'SVF::ObjTypeInfo']]],
140
- ['functiondoesnotret',['functionDoesNotRet',['../namespaceSVF_1_1SVFUtil.html#a7a7e06e90a215086696effb5f5537baf',1,'SVF::SVFUtil']]],
140
+ ['functiondoesnotret',['functionDoesNotRet',['../namespaceSVF_1_1LLVMUtil.html#a651b6a1cf3665277d2241220bb145aed',1,'SVF::LLVMUtil']]],
141
141
  ['functionset',['FunctionSet',['../classSVF_1_1FlowDDA.html#ae1ec4e6e9b967a7fd36c32f21e05ba11',1,'SVF::FlowDDA::FunctionSet()'],['../classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a',1,'SVF::PTACallGraph::FunctionSet()'],['../classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41',1,'SVF::PointerAnalysis::FunctionSet()'],['../classSVF_1_1SVFGBuilder.html#a1f8e21823ddc9eb19e1fe18d9b2b8280',1,'SVF::SVFGBuilder::FunctionSet()'],['../classSVF_1_1MTASVFGBuilder.html#a287359e6d0a4613e1a149a7ec11522b7',1,'SVF::MTASVFGBuilder::FunctionSet()'],['../classSVF_1_1SVFModule.html#af33660b9938a1a78b7ae44bf429c717e',1,'SVF::SVFModule::FunctionSet()']]],
142
142
  ['functionsettype',['FunctionSetType',['../classSVF_1_1LLVMModuleSet.html#a79eb13fae9ea80e9476723c8e15183f6',1,'SVF::LLVMModuleSet::FunctionSetType()'],['../classSVF_1_1SVFModule.html#acfd1ffb4696136de493843786c799e6b',1,'SVF::SVFModule::FunctionSetType()']]],
143
143
  ['functiontoformalinsmapty',['FunctionToFormalINsMapTy',['../classSVF_1_1SVFG.html#a2b4850c833564916c7fce46d55672038',1,'SVF::SVFG']]],
@@ -116,10 +116,10 @@ var searchData=
116
116
  ['getbasicblock',['getBasicBlock',['../classSVF_1_1LoadMU.html#abcd77653329021248bb406815f8691a7',1,'SVF::LoadMU::getBasicBlock()'],['../classSVF_1_1CallMU.html#ab20ae240ad380c760b9b1f4b8b06344f',1,'SVF::CallMU::getBasicBlock()'],['../classSVF_1_1StoreCHI.html#a85eb84312c003a57b2c9c4ed7df7c239',1,'SVF::StoreCHI::getBasicBlock()'],['../classSVF_1_1CallCHI.html#a69f83ff81ea017d645aadeb46334880f',1,'SVF::CallCHI::getBasicBlock()'],['../classSVF_1_1MSSAPHI.html#a00b3ab85b31b4de91398efea41db158f',1,'SVF::MSSAPHI::getBasicBlock()']]],
117
117
  ['getbb',['getBB',['../classSVF_1_1ICFGNode.html#ac1689701c75e04481e2ae2f4482551c4',1,'SVF::ICFGNode::getBB()'],['../classSVF_1_1SVFStmt.html#a793c53e0b4f9a58099c096f0a0856495',1,'SVF::SVFStmt::getBB()']]],
118
118
  ['getbbphinum',['getBBPhiNum',['../classSVF_1_1MemSSA.html#a9bb6512999cbf9c7c03153be77c8af20',1,'SVF::MemSSA']]],
119
- ['getbbpredecessornum',['getBBPredecessorNum',['../namespaceSVF_1_1SVFUtil.html#a0e78b0b6593209d78fae1dd0a5469463',1,'SVF::SVFUtil']]],
120
- ['getbbpredecessorpos',['getBBPredecessorPos',['../namespaceSVF_1_1SVFUtil.html#ae40e2e043b04ede541688ce61048fb4e',1,'SVF::SVFUtil']]],
121
- ['getbbsuccessornum',['getBBSuccessorNum',['../namespaceSVF_1_1SVFUtil.html#a737684498679dc16a26f2411d88f36aa',1,'SVF::SVFUtil']]],
122
- ['getbbsuccessorpos',['getBBSuccessorPos',['../namespaceSVF_1_1SVFUtil.html#a1631bbbed23fbfe2204779ecc0dc2769',1,'SVF::SVFUtil']]],
119
+ ['getbbpredecessornum',['getBBPredecessorNum',['../namespaceSVF_1_1LLVMUtil.html#ae617611b584e3d899984c376a6e91987',1,'SVF::LLVMUtil']]],
120
+ ['getbbpredecessorpos',['getBBPredecessorPos',['../namespaceSVF_1_1LLVMUtil.html#a87277ee77eceaf80922d54d46103c509',1,'SVF::LLVMUtil']]],
121
+ ['getbbsuccessornum',['getBBSuccessorNum',['../namespaceSVF_1_1LLVMUtil.html#a6d9205380948e1bd00708581a64301e1',1,'SVF::LLVMUtil']]],
122
+ ['getbbsuccessorpos',['getBBSuccessorPos',['../namespaceSVF_1_1LLVMUtil.html#a5d911cede2f514e87b030e2a93919515',1,'SVF::LLVMUtil']]],
123
123
  ['getbbtophisetmap',['getBBToPhiSetMap',['../classSVF_1_1MemSSA.html#a966477062a453901da3631015fcf737d',1,'SVF::MemSSA']]],
124
124
  ['getbddexprmgr',['getBDDExprMgr',['../classSVF_1_1BDDExprManager.html#ae7be20333ab86fb5297b33923562c7a5',1,'SVF::BDDExprManager']]],
125
125
  ['getbeforebrackets',['getBeforeBrackets',['../namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234',1,'SVF::cppUtil']]],
@@ -229,7 +229,7 @@ var searchData=
229
229
  ['getcxtofcxtthread',['getCxtOfCxtThread',['../classSVF_1_1TCT.html#ab4bc72ca330b315df06f2d4d2c1a7b4f',1,'SVF::TCT']]],
230
230
  ['getcxtstmtfrominst',['getCxtStmtfromInst',['../classSVF_1_1LockAnalysis.html#afc8c13fcff7c1199f63efc198a3b5a6d',1,'SVF::LockAnalysis']]],
231
231
  ['getcxtthread',['getCxtThread',['../classSVF_1_1TCTNode.html#a21591b19f6a9267151c31178f9543ee6',1,'SVF::TCTNode']]],
232
- ['getdatalayout',['getDataLayout',['../namespaceSVF_1_1SVFUtil.html#abe0dde753f9f79e30296208eb4d97eed',1,'SVF::SVFUtil']]],
232
+ ['getdatalayout',['getDataLayout',['../namespaceSVF_1_1LLVMUtil.html#a151fd7fb2b2ebe72af7c417defbb4f4d',1,'SVF::LLVMUtil']]],
233
233
  ['getdeclaration',['getDeclaration',['../classSVF_1_1LLVMModuleSet.html#aa4a604e47daaaf95babc7aca68991000',1,'SVF::LLVMModuleSet::getDeclaration(const Function *fun) const'],['../classSVF_1_1LLVMModuleSet.html#ac0e82b950677c010a647f24245a6d127',1,'SVF::LLVMModuleSet::getDeclaration(const SVFFunction *fun) const']]],
234
234
  ['getdef',['getDef',['../classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d',1,'SVF::SVFG::getDef(const PAGNode *pagNode) const'],['../classSVF_1_1SVFG.html#a55a26b88ffe786b04184a29ae72575e7',1,'SVF::SVFG::getDef(const MRVer *mvar) const'],['../classSVF_1_1VFG.html#a7343f970332391634f79b2023bba6650',1,'SVF::VFG::getDef()'],['../classSVF_1_1MRVer.html#a492211105abe8af8ed9ad7b30eabb852',1,'SVF::MRVer::getDef()']]],
235
235
  ['getdeffunformultiplemodule',['getDefFunForMultipleModule',['../namespaceSVF_1_1SVFUtil.html#a142e650415cb81011eb59dadd3cb0637',1,'SVF::SVFUtil']]],
@@ -332,14 +332,14 @@ var searchData=
332
332
  ['getfunentrychinum',['getFunEntryChiNum',['../classSVF_1_1MemSSA.html#a15272a4ed019d1c323d1826c1bedb70f',1,'SVF::MemSSA']]],
333
333
  ['getfunentryicfgnode',['getFunEntryICFGNode',['../classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076',1,'SVF::ICFG::getFunEntryICFGNode()'],['../classSVF_1_1CallPE.html#a9c9821c4e7dd031e3f82f2b29427e53e',1,'SVF::CallPE::getFunEntryICFGNode()']]],
334
334
  ['getfunentrynode',['getFunEntryNode',['../classSVF_1_1FormalINSVFGNode.html#a765f45d67d8b99dc85eb92676ca1be4e',1,'SVF::FormalINSVFGNode']]],
335
- ['getfunexitbb',['getFunExitBB',['../namespaceSVF_1_1SVFUtil.html#a3cb226930eeaf558575e09e5b65e0223',1,'SVF::SVFUtil']]],
335
+ ['getfunexitbb',['getFunExitBB',['../namespaceSVF_1_1LLVMUtil.html#aa0e78f2e1c9c04aee478a7ecbf354800',1,'SVF::LLVMUtil']]],
336
336
  ['getfunexitblock',['getFunExitBlock',['../classSVF_1_1ICFG.html#a22d7f37a0cb2df90f73c1f2e3eaa71c6',1,'SVF::ICFG']]],
337
337
  ['getfunexiticfgnode',['getFunExitICFGNode',['../classSVF_1_1ICFG.html#af1b2d2839f811a00103df87342dfc919',1,'SVF::ICFG::getFunExitICFGNode()'],['../classSVF_1_1RetPE.html#a274adbd91750d8d6de8ba997285c1c49',1,'SVF::RetPE::getFunExitICFGNode()']]],
338
338
  ['getfunexitnode',['getFunExitNode',['../classSVF_1_1FormalOUTSVFGNode.html#ae23aa8ff8585c31071726f2b2fb1499d',1,'SVF::FormalOUTSVFGNode']]],
339
339
  ['getfunmrset',['getFunMRSet',['../classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879',1,'SVF::MRGenerator']]],
340
340
  ['getfunnameofvcallsite',['getFunNameOfVCallSite',['../namespaceSVF_1_1cppUtil.html#a0a67c31dcc44784b09dca54b4b7c624a',1,'SVF::cppUtil']]],
341
341
  ['getfunptr',['getFunPtr',['../classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f',1,'SVF::PointerAnalysis::getFunPtr()'],['../classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6',1,'SVF::SVFIR::getFunPtr()']]],
342
- ['getfunreachablebbs',['getFunReachableBBs',['../namespaceSVF_1_1SVFUtil.html#a61b29238f1f32978c7b6aded4b73244d',1,'SVF::SVFUtil']]],
342
+ ['getfunreachablebbs',['getFunReachableBBs',['../namespaceSVF_1_1LLVMUtil.html#a6e741146121afbb7114aadf3146d403a',1,'SVF::LLVMUtil']]],
343
343
  ['getfunret',['getFunRet',['../classSVF_1_1SVFIR.html#a34e27b8bcfeaafda190dcdb9169a346f',1,'SVF::SVFIR']]],
344
344
  ['getfunretmunum',['getFunRetMuNum',['../classSVF_1_1MemSSA.html#a67175188232e08f5c5374f92ff61810f',1,'SVF::MemSSA']]],
345
345
  ['getfunrets',['getFunRets',['../classSVF_1_1SVFIR.html#abd1bb12776dc9a17863a52ce2cd31958',1,'SVF::SVFIR']]],
@@ -488,7 +488,7 @@ var searchData=
488
488
  ['getmutptdataty',['getMutPTDataTy',['../classSVF_1_1CondPTAImpl.html#ab582d46731c06a7fa022bf301d6008c1',1,'SVF::CondPTAImpl']]],
489
489
  ['getname',['getName',['../classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089',1,'SVF::CHNode::getName()'],['../classSVF_1_1DCHNode.html#a089af6085dec833b58133a9e834dab54',1,'SVF::DCHNode::getName()'],['../classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4',1,'SVF::SVFValue::getName()']]],
490
490
  ['getnextcollapsenode',['getNextCollapseNode',['../classSVF_1_1ConstraintGraph.html#a006667ed55132ca0909c0e9118fea704',1,'SVF::ConstraintGraph']]],
491
- ['getnextinsts',['getNextInsts',['../classSVF_1_1MHP.html#a04357a2827d22e4e727d488d32eb5cb5',1,'SVF::MHP::getNextInsts()'],['../classSVF_1_1ForkJoinAnalysis.html#a799e14292e16b9fb322cab07f3ff5593',1,'SVF::ForkJoinAnalysis::getNextInsts()'],['../classSVF_1_1TCT.html#a97c3081d0648a8d483b07f23bbd1b6bf',1,'SVF::TCT::getNextInsts()'],['../namespaceSVF_1_1SVFUtil.html#a2f9959fa23ab4bdc65ca36fbda8c1b70',1,'SVF::SVFUtil::getNextInsts()']]],
491
+ ['getnextinsts',['getNextInsts',['../classSVF_1_1MHP.html#a04357a2827d22e4e727d488d32eb5cb5',1,'SVF::MHP::getNextInsts()'],['../classSVF_1_1ForkJoinAnalysis.html#a799e14292e16b9fb322cab07f3ff5593',1,'SVF::ForkJoinAnalysis::getNextInsts()'],['../classSVF_1_1TCT.html#a97c3081d0648a8d483b07f23bbd1b6bf',1,'SVF::TCT::getNextInsts()'],['../namespaceSVF_1_1LLVMUtil.html#a752d53b6b65d892d0e579aafe70083b4',1,'SVF::LLVMUtil::getNextInsts()']]],
492
492
  ['getnode',['getNode',['../classSVF_1_1CHGraph.html#a7beec68a60036c93a741a7152e8198b6',1,'SVF::CHGraph::getNode()'],['../structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html#ad67b19903549bef892b8b059228e4d19',1,'llvm::GraphTraits&lt; SVF::GenericGraph&lt; NodeTy, EdgeTy &gt; *&gt;::getNode()'],['../classSVF_1_1SrcSnkSolver.html#a18008d5496010aa5f54aade230bd64ff',1,'SVF::SrcSnkSolver::getNode()'],['../classSVF_1_1DCHGraph.html#a96c68bbb5ee5e939158ce0b67da2c61d',1,'SVF::DCHGraph::getNode()'],['../classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98',1,'SVF::GraphReachSolver::getNode()']]],
493
493
  ['getnodeattributes',['getNodeAttributes',['../structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html#a4b593e5e6c2e711db0f220a388bd5f11',1,'llvm::DOTGraphTraits&lt; CFLGraph * &gt;::getNodeAttributes()'],['../structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html#afcfdde52d1ed3ecbd849cbf4a16fb880',1,'llvm::DOTGraphTraits&lt; CHGraph * &gt;::getNodeAttributes()'],['../structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html#a0ce25ef874ffaa798ae7ad498274b2f7',1,'llvm::DOTGraphTraits&lt; ConstraintGraph * &gt;::getNodeAttributes()'],['../structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html#aef77eaa614a202f39964d0a0917b5140',1,'llvm::DOTGraphTraits&lt; ICFG * &gt;::getNodeAttributes()'],['../structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html#a9f6fb05fdadcba74038252a08356867d',1,'llvm::DOTGraphTraits&lt; IRGraph * &gt;::getNodeAttributes()'],['../structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html#abd16485dc137eaede56cbf8d895ea111',1,'llvm::DOTGraphTraits&lt; OfflineConsG * &gt;::getNodeAttributes()'],['../structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html#a7a75a7d83bfa57857e5855f9cf940086',1,'llvm::DOTGraphTraits&lt; PTACallGraph * &gt;::getNodeAttributes()'],['../structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html#a2efe884d285b1e4a0541e022f9ed40df',1,'llvm::DOTGraphTraits&lt; SVFG * &gt;::getNodeAttributes()'],['../structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html#a57d4a186a0319b73d69752564bf25b2a',1,'llvm::DOTGraphTraits&lt; VFG * &gt;::getNodeAttributes()'],['../structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html#a2b3151a123d6c22dc5d6fa81b3ea4a83',1,'llvm::DOTGraphTraits&lt; TCT * &gt;::getNodeAttributes()']]],
494
494
  ['getnodeid',['getNodeID',['../structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html#ac79255244b6b59876be19266ff214afb',1,'llvm::GraphTraits&lt; Inverse&lt; SVF::GenericNode&lt; NodeTy, EdgeTy &gt; *&gt; &gt;::getNodeID()'],['../structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html#a29ec19f4829cfe458c1eaab47e6fe8c0',1,'llvm::GraphTraits&lt; SVF::GenericGraph&lt; NodeTy, EdgeTy &gt; *&gt;::getNodeID()']]],
@@ -574,7 +574,7 @@ var searchData=
574
574
  ['getpointstolist',['getPointsToList',['../classSVF_1_1MRGenerator.html#a6d86c8ebe87cb54f39e52daa7ffb0e2e',1,'SVF::MRGenerator']]],
575
575
  ['getpostdt',['getPostDT',['../classSVF_1_1TCT.html#ae4d26d2a77e45104523cfc481012bccc',1,'SVF::TCT::getPostDT()'],['../classSVF_1_1PathCondAllocator.html#a1295e2c2c0a9c1a3744ba3927b95363e',1,'SVF::PathCondAllocator::getPostDT()'],['../classSVF_1_1PTACFInfoBuilder.html#a00e3339dab62325354e8ecd8251da0f1',1,'SVF::PTACFInfoBuilder::getPostDT()']]],
576
576
  ['getpredicate',['getPredicate',['../classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632',1,'SVF::CmpStmt']]],
577
- ['getprevinsts',['getPrevInsts',['../namespaceSVF_1_1SVFUtil.html#a7e3a8d6cb1715db9518579fb60181d5b',1,'SVF::SVFUtil']]],
577
+ ['getprevinsts',['getPrevInsts',['../namespaceSVF_1_1LLVMUtil.html#af904cd58192dccb85572cfa95f5ea670',1,'SVF::LLVMUtil']]],
578
578
  ['getpreviousmemoryaccessinst',['getPreviousMemoryAccessInst',['../classSVF_1_1LockResultValidator.html#a0be1cdab3c36835044e3b26d5d8402e6',1,'SVF::LockResultValidator::getPreviousMemoryAccessInst()'],['../classSVF_1_1MTAResultValidator.html#ab3ba3c6d9c40e97febdab0e7d4ad9a3e',1,'SVF::MTAResultValidator::getPreviousMemoryAccessInst()'],['../classSVF_1_1RaceResultValidator.html#ad029f7a9a5161191a44d1e841f9d6114',1,'SVF::RaceResultValidator::getPreviousMemoryAccessInst()']]],
579
579
  ['getprevnodes',['getPrevNodes',['../classSVF_1_1MTASVFGBuilder.html#a7b034f9f8f01823ecfb7f6c17e47b502',1,'SVF::MTASVFGBuilder']]],
580
580
  ['getproc',['getProc',['../classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189',1,'SVF::CxtProc']]],
@@ -592,7 +592,7 @@ var searchData=
592
592
  ['getptcache',['getPtCache',['../classSVF_1_1BVDataPTAImpl.html#a34d87fa1988b78f032735b5fc2803792',1,'SVF::BVDataPTAImpl']]],
593
593
  ['getptdataty',['getPTDataTy',['../classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81',1,'SVF::BVDataPTAImpl::getPTDataTy()'],['../classSVF_1_1CondPTAImpl.html#a35cb1fd6e18cdc8e8466ee94846bc553',1,'SVF::CondPTAImpl::getPTDataTy()']]],
594
594
  ['getptdty',['getPTDTY',['../classSVF_1_1PTData.html#adfcbaefe1c058d9ddf14aa3da07e1daf',1,'SVF::PTData']]],
595
- ['getptrelementtype',['getPtrElementType',['../namespaceSVF_1_1SVFUtil.html#a8e7f56fa15cea924a09cd6903de2606c',1,'SVF::SVFUtil']]],
595
+ ['getptrelementtype',['getPtrElementType',['../namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870',1,'SVF::LLVMUtil']]],
596
596
  ['getptrnodeid',['getPtrNodeID',['../classSVF_1_1ContextDDA.html#a6ae16be6774994932aaa594c9b9cb397',1,'SVF::ContextDDA::getPtrNodeID()'],['../classSVF_1_1DDAVFSolver.html#a3fa002d4ba4194ffde62ecbdd361a24d',1,'SVF::DDAVFSolver::getPtrNodeID()'],['../classSVF_1_1FlowDDA.html#a9749c82c1164adb17e2ae53e725ded9a',1,'SVF::FlowDDA::getPtrNodeID()']]],
597
597
  ['getpts',['getPts',['../classSVF_1_1CFLAlias.html#ad7bde2bfe158e9c3643927583ce145c9',1,'SVF::CFLAlias::getPts()'],['../classSVF_1_1PTData.html#a9ae6037637d8b9acb323333f491f4a7d',1,'SVF::PTData::getPts()'],['../classSVF_1_1VersionedPTData.html#adcba3355f96357493d8a7520ff00cc97',1,'SVF::VersionedPTData::getPts()'],['../classSVF_1_1MutablePTData.html#abe4230f3ba78fc660ea291fda36ffa62',1,'SVF::MutablePTData::getPts()'],['../classSVF_1_1MutableDiffPTData.html#ac2f494da9379c336bb81a0dc438b5af9',1,'SVF::MutableDiffPTData::getPts()'],['../classSVF_1_1MutableDFPTData.html#a4cbb9131a89c5c48367fb927693b5c6b',1,'SVF::MutableDFPTData::getPts()'],['../classSVF_1_1MutableVersionedPTData.html#aaf519166d2e0ca3c81088b52a1cf3066',1,'SVF::MutableVersionedPTData::getPts(const Key &amp;vk) override'],['../classSVF_1_1MutableVersionedPTData.html#afcc34f6cedca6a8f151b1a7251832818',1,'SVF::MutableVersionedPTData::getPts(const VersionedKey &amp;vk) override'],['../classSVF_1_1PersistentPTData.html#a34f8226202e1654d4e67916b21ec4d99',1,'SVF::PersistentPTData::getPts()'],['../classSVF_1_1PersistentDiffPTData.html#a9982ecf42416756a0729a28e8713cfed',1,'SVF::PersistentDiffPTData::getPts()'],['../classSVF_1_1PersistentDFPTData.html#a5f6a01d0bb40a718bc14f2cc1bb98a13',1,'SVF::PersistentDFPTData::getPts()'],['../classSVF_1_1PersistentVersionedPTData.html#afe80884fa8227e50f28631e20aa6fdf6',1,'SVF::PersistentVersionedPTData::getPts(const Key &amp;vk) override'],['../classSVF_1_1PersistentVersionedPTData.html#a9b81d20e54d08e36edbff43549b1e820',1,'SVF::PersistentVersionedPTData::getPts(const VersionedKey &amp;vk) override'],['../classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec',1,'SVF::PointerAnalysis::getPts()'],['../classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb',1,'SVF::BVDataPTAImpl::getPts()'],['../classSVF_1_1CondPTAImpl.html#a63fa2b3a96696ffc67a119c1ba5ce748',1,'SVF::CondPTAImpl::getPts(CVar id)'],['../classSVF_1_1CondPTAImpl.html#a0b96ba98239186d6d676f9540da9e590',1,'SVF::CondPTAImpl::getPts(NodeID ptr)'],['../classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639',1,'SVF::Andersen::getPts()'],['../classSVF_1_1Steensgaard.html#adbcb9af660ab9bb0202bd32342280486',1,'SVF::Steensgaard::getPts()']]],
598
598
  ['getptsmap',['getPtsMap',['../classSVF_1_1MutablePTData.html#a8838058efe94b62553bb5416fdc2ec5b',1,'SVF::MutablePTData::getPtsMap()'],['../classSVF_1_1MutableDiffPTData.html#a8261a24cfb34056f3720cd6fbc0a4870',1,'SVF::MutableDiffPTData::getPtsMap()'],['../classSVF_1_1MutableDFPTData.html#a8b1814326e71f6c6fd31d5aef0592a1d',1,'SVF::MutableDFPTData::getPtsMap()'],['../classSVF_1_1CondPTAImpl.html#a979486e35b529fbc62b2974899627113',1,'SVF::CondPTAImpl::getPtsMap()']]],
@@ -603,7 +603,7 @@ var searchData=
603
603
  ['getrefinfoforcall',['getRefInfoForCall',['../classSVF_1_1MRGenerator.html#a965a31712341b1fc02e667f325423ca2',1,'SVF::MRGenerator']]],
604
604
  ['getrefsideeffectofcallsite',['getRefSideEffectOfCallSite',['../classSVF_1_1MRGenerator.html#a62757aa995a6a01b484c60df2f51c53d',1,'SVF::MRGenerator']]],
605
605
  ['getrefsideeffectoffunction',['getRefSideEffectOfFunction',['../classSVF_1_1MRGenerator.html#ac0007c8808654ca74feef0d8568378b9',1,'SVF::MRGenerator']]],
606
- ['getreftypeofheapallocorstatic',['getRefTypeOfHeapAllocOrStatic',['../namespaceSVF_1_1SVFUtil.html#a9232d260dc83d3a25cd98195ba76567a',1,'SVF::SVFUtil::getRefTypeOfHeapAllocOrStatic(const CallSite cs)'],['../namespaceSVF_1_1SVFUtil.html#a642f8284fbb260dd81fb29d5fadf6822',1,'SVF::SVFUtil::getRefTypeOfHeapAllocOrStatic(const Instruction *inst)']]],
606
+ ['getreftypeofheapallocorstatic',['getRefTypeOfHeapAllocOrStatic',['../namespaceSVF_1_1LLVMUtil.html#a3e94ca73410d21c1a852123e44961ff9',1,'SVF::LLVMUtil::getRefTypeOfHeapAllocOrStatic(const CallSite cs)'],['../namespaceSVF_1_1LLVMUtil.html#aa81614cdb6a2a912638d5dc980480af7',1,'SVF::LLVMUtil::getRefTypeOfHeapAllocOrStatic(const Instruction *inst)']]],
607
607
  ['getregionsize',['getRegionSize',['../classSVF_1_1MemRegion.html#a99f106d47fd67f1ae53e144d72a223c9',1,'SVF::MemRegion']]],
608
608
  ['getreliantversions',['getReliantVersions',['../classSVF_1_1VersionedFlowSensitive.html#ae83c62a01196991d116ef5c36cb51e31',1,'SVF::VersionedFlowSensitive']]],
609
609
  ['getrep',['getRep',['../classSVF_1_1ConstraintGraph.html#acd1f0ce7936ced59bfaf04956a0f8214',1,'SVF::ConstraintGraph']]],
@@ -715,12 +715,12 @@ var searchData=
715
715
  ['gettype',['getType',['../classSVF_1_1SVFVar.html#adaaf24b8b6ec06476cea112533c24066',1,'SVF::SVFVar::getType()'],['../classSVF_1_1ObjVar.html#aa1004c9973fb974ba1e52df80978321d',1,'SVF::ObjVar::getType()'],['../classSVF_1_1GepValVar.html#a2760700f067c6a2fbc4e6e626b603bc4',1,'SVF::GepValVar::getType()'],['../classSVF_1_1GepObjVar.html#ab2348a9378f1c64cf5c176b21a655d14',1,'SVF::GepObjVar::getType()'],['../classSVF_1_1MemObj.html#aa4fa7a1b86d66692ffffeaee0e187216',1,'SVF::MemObj::getType()'],['../classSVF_1_1ObjTypeInfo.html#a706cdc47e78732853252d5a4af85653a',1,'SVF::ObjTypeInfo::getType()'],['../classSVF_1_1MSSAMU.html#a9a542febe746d1389d34e5e31a3253c9',1,'SVF::MSSAMU::getType()'],['../classSVF_1_1MSSADEF.html#a4cabef62b821efb0c88efb304fd0a70c',1,'SVF::MSSADEF::getType()'],['../classSVF_1_1SaberCheckerAPI.html#ab0cdd9671c406e8d881f0a057fe44081',1,'SVF::SaberCheckerAPI::getType()'],['../classSVF_1_1DCHNode.html#aaf4036d892bdae02a01d31bfe3db2153',1,'SVF::DCHNode::getType()'],['../classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de',1,'SVF::CallSite::getType()'],['../classSVF_1_1ThreadAPI.html#a768a655dffc5fcf1d63e2a0b3f2930f4',1,'SVF::ThreadAPI::getType()'],['../classSVF_1_1TypeBasedHeapCloning.html#a219edef6c013a953ed12ee3c56bde6de',1,'SVF::TypeBasedHeapCloning::getType()']]],
716
716
  ['gettypedefs',['getTypedefs',['../classSVF_1_1DCHNode.html#ac77edc44c3c5acc185c27c018837d066',1,'SVF::DCHNode']]],
717
717
  ['gettypefromctirmetadata',['getTypeFromCTirMetadata',['../classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7',1,'SVF::FlowSensitiveTBHC::getTypeFromCTirMetadata()'],['../classSVF_1_1TypeBasedHeapCloning.html#ac4565775cced4444ba007e310c4a02d8',1,'SVF::TypeBasedHeapCloning::getTypeFromCTirMetadata()']]],
718
- ['gettypeofheapalloc',['getTypeOfHeapAlloc',['../namespaceSVF_1_1SVFUtil.html#a973113323e30a01fd904b35ac18d40ce',1,'SVF::SVFUtil']]],
719
- ['gettypesizeinbytes',['getTypeSizeInBytes',['../namespaceSVF_1_1SVFUtil.html#a86fec3512ea1fc724cf567f52d348678',1,'SVF::SVFUtil::getTypeSizeInBytes(const Type *type)'],['../namespaceSVF_1_1SVFUtil.html#a1dadc280bc2df41b82167ed236985dd5',1,'SVF::SVFUtil::getTypeSizeInBytes(const StructType *sty, u32_t field_index)']]],
718
+ ['gettypeofheapalloc',['getTypeOfHeapAlloc',['../namespaceSVF_1_1LLVMUtil.html#a2fff71a75bb595865e1ff32d1addda71',1,'SVF::LLVMUtil']]],
719
+ ['gettypesizeinbytes',['getTypeSizeInBytes',['../namespaceSVF_1_1LLVMUtil.html#a09683d4d88a50fa621809c734465f94d',1,'SVF::LLVMUtil::getTypeSizeInBytes(const Type *type)'],['../namespaceSVF_1_1LLVMUtil.html#a2b5fdf455c5dd40c0baa60185e5e41c6',1,'SVF::LLVMUtil::getTypeSizeInBytes(const StructType *sty, u32_t field_index)']]],
720
720
  ['gettypesystem',['getTypeSystem',['../classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe',1,'SVF::PointerAnalysis']]],
721
721
  ['getunaryopvfgnode',['getUnaryOPVFGNode',['../classSVF_1_1VFG.html#a1ba67eb17437a1a47c230614c1e3d9fd',1,'SVF::VFG']]],
722
722
  ['getunifyexit',['getUnifyExit',['../classSVF_1_1MergeFunctionRets.html#a0644ac0f560911632855d9129f3d71ca',1,'SVF::MergeFunctionRets']]],
723
- ['getuniqueuseviacastinst',['getUniqueUseViaCastInst',['../namespaceSVF_1_1SVFUtil.html#ad72b3529e87e71767c6d226821cfddb3',1,'SVF::SVFUtil']]],
723
+ ['getuniqueuseviacastinst',['getUniqueUseViaCastInst',['../namespaceSVF_1_1LLVMUtil.html#a837d19c740902c419206287bdb21273b',1,'SVF::LLVMUtil']]],
724
724
  ['getvalsym',['getValSym',['../classSVF_1_1SymbolTableInfo.html#ac71fd3165008ad8c1b8419da832af8fb',1,'SVF::SymbolTableInfo']]],
725
725
  ['getvalue',['getValue',['../classSVF_1_1VFGNode.html#a5ac80149696c243f77e4b4d25ad44898',1,'SVF::VFGNode::getValue()'],['../classSVF_1_1StmtVFGNode.html#ab51f462a26bc03cd5e2379be98a4dd3b',1,'SVF::StmtVFGNode::getValue()'],['../classSVF_1_1CmpVFGNode.html#a166ac2df82ebfcb77d50b71ce573e1eb',1,'SVF::CmpVFGNode::getValue()'],['../classSVF_1_1BinaryOPVFGNode.html#ad4c45bbfd044502106c41ba70f568463',1,'SVF::BinaryOPVFGNode::getValue()'],['../classSVF_1_1PHIVFGNode.html#a188a4d3ae95fe01dc59784d076f28aef',1,'SVF::PHIVFGNode::getValue()'],['../classSVF_1_1ArgumentVFGNode.html#aaf6a78630b0365d50dd7b4394215d3a1',1,'SVF::ArgumentVFGNode::getValue()'],['../classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882',1,'SVF::SVFStmt::getValue()'],['../classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40',1,'SVF::SVFVar::getValue()'],['../classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3',1,'SVF::MemObj::getValue()'],['../classSVF_1_1SVFValue.html#a50f77757ac9c37a9501eb48deccdfef1',1,'SVF::SVFValue::getValue()']]],
726
726
  ['getvalueedges',['getValueEdges',['../classSVF_1_1IRGraph.html#a7710f6795d971d7a8b5683835c4c0fb8',1,'SVF::IRGraph']]],