svf-tools 1.0.463 → 1.0.466

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 (129) hide show
  1. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +6 -6
  2. package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  8. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  9. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/MSSAMuChi_8h.html +7 -1
  17. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -1
  18. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +10 -1
  22. package/SVF-doxygen/html/html/Options_8cpp_source.html +40 -39
  23. package/SVF-doxygen/html/html/Options_8h_source.html +41 -40
  24. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +2 -2
  26. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp.html +86 -0
  28. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +125 -0
  29. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +48 -43
  30. package/SVF-doxygen/html/html/SVFG_8h_source.html +41 -38
  31. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  34. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +2 -2
  39. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +5 -5
  40. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager.html +2 -2
  41. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  42. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  43. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  44. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  45. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  46. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +7 -7
  47. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
  48. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  49. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  50. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
  51. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  52. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
  53. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  54. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
  55. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +7 -7
  56. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  57. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +55 -54
  58. package/SVF-doxygen/html/html/classSVF_1_1Options.html +90 -64
  59. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +1 -1
  60. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +91 -88
  61. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +299 -113
  62. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +2 -2
  63. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +100 -97
  64. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +18 -12
  65. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +3 -3
  68. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  69. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +4 -4
  70. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
  71. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  72. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
  73. package/SVF-doxygen/html/html/dir_1870ebf480d659cc38d2dd7ac3aa8993.html +2 -0
  74. package/SVF-doxygen/html/html/files.html +4 -3
  75. package/SVF-doxygen/html/html/functions_c.html +5 -9
  76. package/SVF-doxygen/html/html/functions_func_g.html +7 -4
  77. package/SVF-doxygen/html/html/functions_func_r.html +7 -4
  78. package/SVF-doxygen/html/html/functions_func_w.html +1 -0
  79. package/SVF-doxygen/html/html/functions_g.html +10 -10
  80. package/SVF-doxygen/html/html/functions_l.html +3 -3
  81. package/SVF-doxygen/html/html/functions_n.html +3 -3
  82. package/SVF-doxygen/html/html/functions_o.html +17 -17
  83. package/SVF-doxygen/html/html/functions_p.html +10 -10
  84. package/SVF-doxygen/html/html/functions_r.html +9 -3
  85. package/SVF-doxygen/html/html/functions_s.html +14 -14
  86. package/SVF-doxygen/html/html/functions_t.html +4 -4
  87. package/SVF-doxygen/html/html/functions_v.html +3 -3
  88. package/SVF-doxygen/html/html/functions_vars_g.html +0 -3
  89. package/SVF-doxygen/html/html/functions_vars_r.html +3 -0
  90. package/SVF-doxygen/html/html/functions_vars_w.html +3 -0
  91. package/SVF-doxygen/html/html/functions_w.html +4 -0
  92. package/SVF-doxygen/html/html/globals_s.html +1 -3
  93. package/SVF-doxygen/html/html/namespaceSVF.html +40 -1
  94. package/SVF-doxygen/html/html/namespacemembers_o.html +1 -1
  95. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  96. package/SVF-doxygen/html/html/search/all_12.js +5 -3
  97. package/SVF-doxygen/html/html/search/all_13.js +13 -12
  98. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  99. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  100. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  101. package/SVF-doxygen/html/html/search/all_17.js +2 -1
  102. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  103. package/SVF-doxygen/html/html/search/all_7.js +1 -1
  104. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  105. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  106. package/SVF-doxygen/html/html/search/all_e.js +5 -5
  107. package/SVF-doxygen/html/html/search/all_f.js +4 -4
  108. package/SVF-doxygen/html/html/search/files_d.js +1 -0
  109. package/SVF-doxygen/html/html/search/functions_14.js +1 -1
  110. package/SVF-doxygen/html/html/search/functions_6.js +1 -0
  111. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  112. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  113. package/SVF-doxygen/html/html/search/variables_12.js +1 -0
  114. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  115. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  116. package/SVF-doxygen/html/html/search/variables_17.js +2 -1
  117. package/SVF-doxygen/html/html/search/variables_7.js +0 -1
  118. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  119. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +20 -20
  120. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
  121. package/include/Graphs/SVFG.h +4 -0
  122. package/include/MSSA/MSSAMuChi.h +1 -0
  123. package/include/Util/Options.h +3 -3
  124. package/lib/Graphs/SVFG.cpp +31 -27
  125. package/lib/Graphs/SVFGReadWrite.cpp +478 -0
  126. package/lib/MSSA/MemRegion.cpp +7 -0
  127. package/lib/Util/Options.cpp +11 -8
  128. package/lib/WPA/TypeAnalysis.cpp +1 -1
  129. package/package.json +1 -1
@@ -1015,7 +1015,7 @@ Private Attributes</h2></td></tr>
1015
1015
 
1016
1016
  <p class="definition">Definition at line <a class="el" href="LockAnalysis_8cpp_source.html#l00041">41</a> of file <a class="el" href="LockAnalysis_8cpp_source.html">LockAnalysis.cpp</a>.</p>
1017
1017
  <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</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; <a class="code" href="classSVF_1_1LockAnalysis.html#aa8683de99ad02fb75b175b0bb54e5f7d">collectLockUnlocksites</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a271506d5032033efae684b0d729f5b3e">buildCandidateFuncSetforLock</a>();</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"> 47</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> lockStart = <a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">PTAStat::getClk</a>(<span class="keyword">true</span>));</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; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tIntra-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tIntra-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a8a34f7544f22a87e1caf010c34abda75">analyzeIntraProcedualLock</a>();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tCollect context-sensitive locks\n&quot;</span>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tCollect context-sensitive locks\n&quot;</span>);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#ae03db88ef0ad0da2c31cf1623b32165f">collectCxtLock</a>();</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; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tInter-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tInter-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a00ccd89eff3fe8fec397df101f927cbe">analyzeLockSpanCxtStmt</a>();</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; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> lockEnd = <a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<a class="code" href="classSVF_1_1LockAnalysis.html#adadee129c04b82576b4ca3c7594cdcb2">lockTime</a> += (lockEnd - lockStart) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">Options::LockValid</a>)</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a935128c9952714fcc98febed491ee85d">validateResults</a>();</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div><div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
1018
- <div class="ttc" id="classSVF_1_1Options_html_a78b3b44f2c0dc94dc1363ca57ee76d66"><div class="ttname"><a href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">SVF::Options::LockValid</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; LockValid</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00184">Options.h:184</a></div></div>
1018
+ <div class="ttc" id="classSVF_1_1Options_html_a78b3b44f2c0dc94dc1363ca57ee76d66"><div class="ttname"><a href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">SVF::Options::LockValid</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; LockValid</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00187">Options.h:187</a></div></div>
1019
1019
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a8a34f7544f22a87e1caf010c34abda75"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a8a34f7544f22a87e1caf010c34abda75">SVF::LockAnalysis::analyzeIntraProcedualLock</a></div><div class="ttdeci">void analyzeIntraProcedualLock()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00142">LockAnalysis.cpp:142</a></div></div>
1020
1020
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
1021
1021
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00181">SVFBasicTypes.h:181</a></div></div>
@@ -697,7 +697,7 @@ Static Private Attributes</h2></td></tr>
697
697
  <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
698
698
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
699
699
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a7faecaee57dbef533dc46b2708305ab2"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a7faecaee57dbef533dc46b2708305ab2">SVF::LockAnalysis::getCSTCLS</a></div><div class="ttdeci">CxtStmtToCxtLockSet getCSTCLS()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00228">LockAnalysis.h:228</a></div></div>
700
- <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00182">Options.h:182</a></div></div>
700
+ <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00185">Options.h:185</a></div></div>
701
701
  <div class="ttc" id="classSVF_1_1LockResultValidator_html_a760c0f6f891daa4532a44c6594794bb8"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html#a760c0f6f891daa4532a44c6594794bb8">SVF::LockResultValidator::LOCK_IMPRECISE</a></div><div class="ttdeci">static const LOCK_FLAG LOCK_IMPRECISE</div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8h_source.html#l00110">LockResultValidator.h:110</a></div></div>
702
702
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
703
703
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00392">SVFUtil.cpp:392</a></div></div>
@@ -645,7 +645,7 @@ Private Member Functions</h2></td></tr>
645
645
  <div class="ttc" id="classSVF_1_1MHP_html_af769afe6ba6baccda5a497df181c9fb0"><div class="ttname"><a href="classSVF_1_1MHP.html#af769afe6ba6baccda5a497df181c9fb0">SVF::MHP::handleCall</a></div><div class="ttdeci">void handleCall(const CxtThreadStmt &amp;cts, NodeID rootTid)</div><div class="ttdoc">Handle call. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00287">MHP.cpp:287</a></div></div>
646
646
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
647
647
  <div class="ttc" id="classSVF_1_1MHP_html_a23ab5a03b7c00ba0ebac65568a83a5cc"><div class="ttname"><a href="classSVF_1_1MHP.html#a23ab5a03b7c00ba0ebac65568a83a5cc">SVF::MHP::updateSiblingThreads</a></div><div class="ttdeci">void updateSiblingThreads(NodeID tid)</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00410">MHP.cpp:410</a></div></div>
648
- <div class="ttc" id="classSVF_1_1Options_html_aa3e6c78eb346a52bbaaac2610573604a"><div class="ttname"><a href="classSVF_1_1Options.html#aa3e6c78eb346a52bbaaac2610573604a">SVF::Options::PrintInterLev</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintInterLev</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00171">Options.h:171</a></div></div>
648
+ <div class="ttc" id="classSVF_1_1Options_html_aa3e6c78eb346a52bbaaac2610573604a"><div class="ttname"><a href="classSVF_1_1Options.html#aa3e6c78eb346a52bbaaac2610573604a">SVF::Options::PrintInterLev</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintInterLev</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00174">Options.h:174</a></div></div>
649
649
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
650
650
  <div class="ttc" id="classSVF_1_1MHP_html_a6990ff8e3efe5af365c8205b7ced38ed"><div class="ttname"><a href="classSVF_1_1MHP.html#a6990ff8e3efe5af365c8205b7ced38ed">SVF::MHP::validateResults</a></div><div class="ttdeci">void validateResults()</div><div class="ttdoc">Use RCResultValidator to validate mhp results. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00638">MHP.cpp:638</a></div></div>
651
651
  <div class="ttc" id="classSVF_1_1MHP_html_a76ac9d388529f090ab6dad5829dd0753"><div class="ttname"><a href="classSVF_1_1MHP.html#a76ac9d388529f090ab6dad5829dd0753">SVF::MHP::handleRet</a></div><div class="ttdeci">void handleRet(const CxtThreadStmt &amp;cts)</div><div class="ttdoc">Handle return. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00314">MHP.cpp:314</a></div></div>
@@ -460,7 +460,7 @@ Additional Inherited Members</h2></td></tr>
460
460
 
461
461
  <p class="definition">Definition at line <a class="el" href="MTAAnnotator_8cpp_source.html#l00104">104</a> of file <a class="el" href="MTAAnnotator_8cpp_source.html">MTAAnnotator.cpp</a>.</p>
462
462
  <div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; mhp = m;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; lsa = la;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">Options::AnnoFlag</a>)</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">collectLoadStoreInst</a>(mhp-&gt;<a class="code" href="classSVF_1_1MHP.html#a033936547612c54326a604f0ff1e39a6">getTCT</a>()-&gt;<a class="code" href="classSVF_1_1TCT.html#a5b087b42340d1a1b2ee37339637709d3">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>());</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div><div class="ttc" id="classSVF_1_1MTAAnnotator_html_ab84e4295f1137090bdf9e0608a4c2077"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">SVF::MTAAnnotator::collectLoadStoreInst</a></div><div class="ttdeci">void collectLoadStoreInst(SVFModule *mod)</div><div class="ttdoc">Collect all load and store instruction. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00037">MTAAnnotator.cpp:37</a></div></div>
463
- <div class="ttc" id="classSVF_1_1Options_html_ae1dadbd4c213f1bd5b8957b5c747bebd"><div class="ttname"><a href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">SVF::Options::AnnoFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AnnoFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00179">Options.h:179</a></div></div>
463
+ <div class="ttc" id="classSVF_1_1Options_html_ae1dadbd4c213f1bd5b8957b5c747bebd"><div class="ttname"><a href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">SVF::Options::AnnoFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AnnoFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00182">Options.h:182</a></div></div>
464
464
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad8b71cebf46deaf60e2cd4f6d6bb9433"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">SVF::PointerAnalysis::getModule</a></div><div class="ttdeci">SVFModule * getModule() const</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00218">PointerAnalysis.h:218</a></div></div>
465
465
  <div class="ttc" id="classSVF_1_1TCT_html_a5b087b42340d1a1b2ee37339637709d3"><div class="ttname"><a href="classSVF_1_1TCT.html#a5b087b42340d1a1b2ee37339637709d3">SVF::TCT::getPTA</a></div><div class="ttdeci">PointerAnalysis * getPTA() const</div><div class="ttdoc">Get PTA. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00172">TCT.h:172</a></div></div>
466
466
  <div class="ttc" id="classSVF_1_1MHP_html_a033936547612c54326a604f0ff1e39a6"><div class="ttname"><a href="classSVF_1_1MHP.html#a033936547612c54326a604f0ff1e39a6">SVF::MHP::getTCT</a></div><div class="ttdeci">TCT * getTCT() const</div><div class="ttdoc">Get Thread Creation Tree. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00060">MHP.h:60</a></div></div>
@@ -555,7 +555,7 @@ Additional Inherited Members</h2></td></tr>
555
555
 
556
556
  <p class="definition">Definition at line <a class="el" href="MTAAnnotator_8cpp_source.html#l00269">269</a> of file <a class="el" href="MTAAnnotator_8cpp_source.html">MTAAnnotator.cpp</a>.</p>
557
557
  <div class="fragment"><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;{</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">Options::AnnoFlag</a>)</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">for</span> (InstSet::iterator it = <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>.begin(), eit = <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a5513a9f2a5b89ab5f90549552fb2b20f">annotateDRCheck</a>(const_cast&lt;Instruction*&gt;(*it));</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">for</span> (InstSet::iterator it = <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>.begin(), eit = <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a5513a9f2a5b89ab5f90549552fb2b20f">annotateDRCheck</a>(const_cast&lt;Instruction*&gt;(*it));</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; }</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;}</div><div class="ttc" id="classSVF_1_1MTAAnnotator_html_a469851829bf1105fe8faac44b4abbfdd"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">SVF::MTAAnnotator::loadset</a></div><div class="ttdeci">InstSet loadset</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00087">MTAAnnotator.h:87</a></div></div>
558
- <div class="ttc" id="classSVF_1_1Options_html_ae1dadbd4c213f1bd5b8957b5c747bebd"><div class="ttname"><a href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">SVF::Options::AnnoFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AnnoFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00179">Options.h:179</a></div></div>
558
+ <div class="ttc" id="classSVF_1_1Options_html_ae1dadbd4c213f1bd5b8957b5c747bebd"><div class="ttname"><a href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">SVF::Options::AnnoFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AnnoFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00182">Options.h:182</a></div></div>
559
559
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a5513a9f2a5b89ab5f90549552fb2b20f"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a5513a9f2a5b89ab5f90549552fb2b20f">SVF::MTAAnnotator::annotateDRCheck</a></div><div class="ttdeci">void annotateDRCheck(Instruction *inst)</div><div class="ttdoc">Annotation. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00018">MTAAnnotator.cpp:18</a></div></div>
560
560
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a37df9f2416685c535be2faa01e162f3a"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">SVF::MTAAnnotator::storeset</a></div><div class="ttdeci">InstSet storeset</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00088">MTAAnnotator.h:88</a></div></div>
561
561
  </div><!-- fragment -->
@@ -583,7 +583,7 @@ Additional Inherited Members</h2></td></tr>
583
583
  <p class="definition">Definition at line <a class="el" href="MTAAnnotator_8cpp_source.html#l00199">199</a> of file <a class="el" href="MTAAnnotator_8cpp_source.html">MTAAnnotator.cpp</a>.</p>
584
584
  <div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;{</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordtype">bool</span> AnnoMHP = <a class="code" href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">Options::AnnoFlag</a> &amp; <a class="code" href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b">ANNO_MHP</a>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordtype">bool</span> AnnoAlias = <a class="code" href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">Options::AnnoFlag</a> &amp; <a class="code" href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1">ANNO_ALIAS</a>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (!AnnoMHP &amp;&amp; !AnnoAlias)</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;Run annotator prune Alias or MHP pairs\n&quot;</span>));</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0">InstSet</a> needannost;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0">InstSet</a> needannold;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">for</span> (InstSet::iterator it1 = <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>.begin(), eit1 = <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>.end(); it1 != eit1; ++it1)</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">for</span> (InstSet::iterator it2 = it1, eit2 = <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>.end(); it2 != eit2; ++it2)</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">if</span>(!pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(<a class="code" href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">getStoreOperand</a>(*it1), <a class="code" href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">getStoreOperand</a>(*it2)))</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span> (AnnoMHP)</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>-&gt;<a class="code" href="classSVF_1_1MHP.html#a9989f2d200cec6c387d63f452b8eac6b">mayHappenInParallel</a>(*it1, *it2) &amp;&amp; !<a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>-&gt;<a class="code" href="classSVF_1_1LockAnalysis.html#a4d4501d62bf51475662b6ba66e6380aa">isProtectedByCommonLock</a>(*it1, *it2))</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; needannost.insert(*it1);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; needannost.insert(*it2);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; needannost.insert(*it1);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; needannost.insert(*it2);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; }</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">for</span> (InstSet::iterator it2 = <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>.begin(), eit2 = <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>.end(); it2 != eit2; ++it2)</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span>(!pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(<a class="code" href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">getStoreOperand</a>(*it1), <a class="code" href="classSVF_1_1MTAAnnotator.html#a399e53d065bc34af428a1ba89a04972b">getLoadOperand</a>(*it2)))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">if</span> (AnnoMHP)</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>-&gt;<a class="code" href="classSVF_1_1MHP.html#a9989f2d200cec6c387d63f452b8eac6b">mayHappenInParallel</a>(*it1, *it2) &amp;&amp; !<a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>-&gt;<a class="code" href="classSVF_1_1LockAnalysis.html#a4d4501d62bf51475662b6ba66e6380aa">isProtectedByCommonLock</a>(*it1, *it2))</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; needannost.insert(*it1);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; needannold.insert(*it2);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; }</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; needannost.insert(*it1);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; needannold.insert(*it2);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a> = needannost;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a> = needannold;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">if</span> (AnnoMHP)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">numOfMHPSt</a> = <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>.size();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">numOfMHPLd</a> = <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>.size();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (AnnoAlias)</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; {</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">numOfAliasSt</a> = <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>.size();</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">numOfAliasLd</a> = <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>.size();</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; }</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;}</div><div class="ttc" id="classSVF_1_1MTAAnnotator_html_a469851829bf1105fe8faac44b4abbfdd"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">SVF::MTAAnnotator::loadset</a></div><div class="ttdeci">InstSet loadset</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00087">MTAAnnotator.h:87</a></div></div>
585
585
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a49434afd0d7beb9f5d6580e8f672889c"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">SVF::MTAAnnotator::getStoreOperand</a></div><div class="ttdeci">const Value * getStoreOperand(const Instruction *inst)</div><div class="ttdoc">Get operand of store and load. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00071">MTAAnnotator.cpp:71</a></div></div>
586
- <div class="ttc" id="classSVF_1_1Options_html_ae1dadbd4c213f1bd5b8957b5c747bebd"><div class="ttname"><a href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">SVF::Options::AnnoFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AnnoFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00179">Options.h:179</a></div></div>
586
+ <div class="ttc" id="classSVF_1_1Options_html_ae1dadbd4c213f1bd5b8957b5c747bebd"><div class="ttname"><a href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">SVF::Options::AnnoFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AnnoFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00182">Options.h:182</a></div></div>
587
587
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
588
588
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a29e0123620ab072fddc45331c6aa46e8"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">SVF::MTAAnnotator::numOfMHPLd</a></div><div class="ttdeci">u32_t numOfMHPLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00102">MTAAnnotator.h:102</a></div></div>
589
589
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_aa1572c2a9f260ff66c9da661fd669a5f"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">SVF::MTAAnnotator::numOfAliasLd</a></div><div class="ttdeci">u32_t numOfAliasLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00100">MTAAnnotator.h:100</a></div></div>
@@ -635,7 +635,7 @@ Additional Inherited Members</h2></td></tr>
635
635
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a49434afd0d7beb9f5d6580e8f672889c"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">SVF::MTAAnnotator::getStoreOperand</a></div><div class="ttdeci">const Value * getStoreOperand(const Instruction *inst)</div><div class="ttdoc">Get operand of store and load. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00071">MTAAnnotator.cpp:71</a></div></div>
636
636
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00077">GenericGraph.h:77</a></div></div>
637
637
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
638
- <div class="ttc" id="classSVF_1_1Options_html_ae1dadbd4c213f1bd5b8957b5c747bebd"><div class="ttname"><a href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">SVF::Options::AnnoFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AnnoFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00179">Options.h:179</a></div></div>
638
+ <div class="ttc" id="classSVF_1_1Options_html_ae1dadbd4c213f1bd5b8957b5c747bebd"><div class="ttname"><a href="classSVF_1_1Options.html#ae1dadbd4c213f1bd5b8957b5c747bebd">SVF::Options::AnnoFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AnnoFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00182">Options.h:182</a></div></div>
639
639
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
640
640
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVF::SVFStmt::Addr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
641
641
  <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#l00180">PointsTo.h:180</a></div></div>
@@ -1102,7 +1102,7 @@ Static Private Attributes</h2></td></tr>
1102
1102
  <div class="ttc" id="classSVF_1_1TCTNode_html_a21591b19f6a9267151c31178f9543ee6"><div class="ttname"><a href="classSVF_1_1TCTNode.html#a21591b19f6a9267151c31178f9543ee6">SVF::TCTNode::getCxtThread</a></div><div class="ttdeci">const CxtThread &amp; getCxtThread() const</div><div class="ttdoc">Get CxtThread. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00082">TCT.h:82</a></div></div>
1103
1103
  <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00104">SVFBasicTypes.h:104</a></div></div>
1104
1104
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_a245c967245e5a693eaf7f60782143d7a"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a245c967245e5a693eaf7f60782143d7a">SVF::MTAResultValidator::vthdToCxt</a></div><div class="ttdeci">vthdToCxtMap vthdToCxt</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00137">MTAResultValidator.h:137</a></div></div>
1105
- <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00182">Options.h:182</a></div></div>
1105
+ <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00185">Options.h:185</a></div></div>
1106
1106
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_a615623a08324ee155cb527a3b57e8c19"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a615623a08324ee155cb527a3b57e8c19">SVF::MTAResultValidator::rthdTovthd</a></div><div class="ttdeci">rthdTovthdMap rthdTovthd</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00139">MTAResultValidator.h:139</a></div></div>
1107
1107
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream &amp; errs()</div><div class="ttdoc">Overwrite llvm::errs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00055">SVFUtil.h:55</a></div></div>
1108
1108
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
@@ -1147,7 +1147,7 @@ Static Private Attributes</h2></td></tr>
1147
1147
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_a1c34f6a65688a3261ec27a35e9b9601b"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a1c34f6a65688a3261ec27a35e9b9601b">SVF::MTAResultValidator::INTERLEV_UNSOUND</a></div><div class="ttdeci">static const INTERLEV_FLAG INTERLEV_UNSOUND</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00147">MTAResultValidator.h:147</a></div></div>
1148
1148
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_a3f3cc6bcc79e4125ef9a49857442319d"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a3f3cc6bcc79e4125ef9a49857442319d">SVF::MTAResultValidator::INTERLEV_IMPRECISE</a></div><div class="ttdeci">static const INTERLEV_FLAG INTERLEV_IMPRECISE</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00146">MTAResultValidator.h:146</a></div></div>
1149
1149
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_ac76235240be9684bc71fd924ed83b05b"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#ac76235240be9684bc71fd924ed83b05b">SVF::MTAResultValidator::INTERLEV_TRUE</a></div><div class="ttdeci">static const INTERLEV_FLAG INTERLEV_TRUE</div><div class="ttdoc">Constant INTERLEV_FLAG values. </div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00145">MTAResultValidator.h:145</a></div></div>
1150
- <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00182">Options.h:182</a></div></div>
1150
+ <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00185">Options.h:185</a></div></div>
1151
1151
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_a615623a08324ee155cb527a3b57e8c19"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a615623a08324ee155cb527a3b57e8c19">SVF::MTAResultValidator::rthdTovthd</a></div><div class="ttdeci">rthdTovthdMap rthdTovthd</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00139">MTAResultValidator.h:139</a></div></div>
1152
1152
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
1153
1153
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_a8e26b7fe85478eef7b3d0551ab59d9c7"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a8e26b7fe85478eef7b3d0551ab59d9c7">SVF::MTAResultValidator::INTERLEV_FLAG</a></div><div class="ttdeci">int INTERLEV_FLAG</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00025">MTAResultValidator.h:25</a></div></div>
@@ -1195,7 +1195,7 @@ Static Private Attributes</h2></td></tr>
1195
1195
  <div class="ttc" id="classSVF_1_1TCTNode_html"><div class="ttname"><a href="classSVF_1_1TCTNode.html">SVF::TCTNode</a></div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00066">TCT.h:66</a></div></div>
1196
1196
  <div class="ttc" id="classSVF_1_1TCT_html_a7b4ad0b052e1f8b6869733eef15f4e4d"><div class="ttname"><a href="classSVF_1_1TCT.html#a7b4ad0b052e1f8b6869733eef15f4e4d">SVF::TCT::getTCTNode</a></div><div class="ttdeci">TCTNode * getTCTNode(NodeID id) const</div><div class="ttdoc">Get TCT node. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00177">TCT.h:177</a></div></div>
1197
1197
  <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00104">SVFBasicTypes.h:104</a></div></div>
1198
- <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00182">Options.h:182</a></div></div>
1198
+ <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00185">Options.h:185</a></div></div>
1199
1199
  <div class="ttc" id="classSVF_1_1TCT_html_af47837e30a80e8d6684f3ee6001afb7a"><div class="ttname"><a href="classSVF_1_1TCT.html#af47837e30a80e8d6684f3ee6001afb7a">SVF::TCT::getChildrenEnd</a></div><div class="ttdeci">ThreadCreateEdgeSet::const_iterator getChildrenEnd(const TCTNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00192">TCT.h:192</a></div></div>
1200
1200
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_a615623a08324ee155cb527a3b57e8c19"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a615623a08324ee155cb527a3b57e8c19">SVF::MTAResultValidator::rthdTovthd</a></div><div class="ttdeci">rthdTovthdMap rthdTovthd</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00139">MTAResultValidator.h:139</a></div></div>
1201
1201
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
@@ -607,9 +607,9 @@ Additional Inherited Members</h2></td></tr>
607
607
  <div class="fragment"><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; <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">getMSSA</a>();</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">buildSVFG</a>();</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a80353cd2e4f7f7f006071b59c2cb3b9b">ADDEDGE_NOEDGE</a> != <a class="code" href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">Options::AddModelFlag</a>)</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; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;FSMPTA adding edge\n&quot;</span>));</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;FSMPTA adding edge\n&quot;</span>));</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a1010ef4fc52e312f2b22867a63a5810d">connectMHPEdges</a>(mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>());</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="keywordflow">if</span> (mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>())</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">performStat</a>();</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;}</div><div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a80353cd2e4f7f7f006071b59c2cb3b9b"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a80353cd2e4f7f7f006071b59c2cb3b9b">SVF::MTASVFGBuilder::ADDEDGE_NOEDGE</a></div><div class="ttdeci">static const u32_t ADDEDGE_NOEDGE</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00161">FSMPTA.h:161</a></div></div>
608
608
  <div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
609
609
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
610
- <div class="ttc" id="classSVF_1_1SVFG_html_adc9fbb4553472b238d6c3bb5062279cb"><div class="ttname"><a href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">SVF::SVFG::performStat</a></div><div class="ttdeci">void performStat()</div><div class="ttdoc">Perform statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00751">SVFG.cpp:751</a></div></div>
610
+ <div class="ttc" id="classSVF_1_1SVFG_html_adc9fbb4553472b238d6c3bb5062279cb"><div class="ttname"><a href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">SVF::SVFG::performStat</a></div><div class="ttdeci">void performStat()</div><div class="ttdoc">Perform statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00755">SVFG.cpp:755</a></div></div>
611
611
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00367">PointerAnalysis.h:367</a></div></div>
612
- <div class="ttc" id="classSVF_1_1Options_html_af129d2ff94af3f6830c0678cb4b72371"><div class="ttname"><a href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">SVF::Options::AddModelFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AddModelFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00165">Options.h:165</a></div></div>
612
+ <div class="ttc" id="classSVF_1_1Options_html_af129d2ff94af3f6830c0678cb4b72371"><div class="ttname"><a href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">SVF::Options::AddModelFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AddModelFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00168">Options.h:168</a></div></div>
613
613
  <div class="ttc" id="classSVF_1_1SVFG_html_a0920e9f9896531959d74ae61013d96d6"><div class="ttname"><a href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">SVF::SVFG::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Start building SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00224">SVFG.cpp:224</a></div></div>
614
614
  <div class="ttc" id="classSVF_1_1MemSSA_html"><div class="ttname"><a href="classSVF_1_1MemSSA.html">SVF::MemSSA</a></div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00046">MemSSA.h:46</a></div></div>
615
615
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
@@ -695,7 +695,7 @@ Additional Inherited Members</h2></td></tr>
695
695
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a46d39980440040fc0ca50b3df7eead1a"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a46d39980440040fc0ca50b3df7eead1a">SVF::MTASVFGBuilder::collectLoadStoreSVFGNodes</a></div><div class="ttdeci">void collectLoadStoreSVFGNodes()</div><div class="ttdoc">Collect all loads/stores SVFGNodes. </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00042">FSMPTA.cpp:42</a></div></div>
696
696
  <div class="ttc" id="classSVF_1_1PCG_html"><div class="ttname"><a href="classSVF_1_1PCG.html">SVF::PCG</a></div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00028">PCG.h:28</a></div></div>
697
697
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a5532751632ece036b3d6741908573b36"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a5532751632ece036b3d6741908573b36">SVF::MTASVFGBuilder::readPrecision</a></div><div class="ttdeci">void readPrecision()</div><div class="ttdoc">For o, n2-o-&gt;n1, n1 and n2 are write. Foreach n3:n1-&gt;n3, n2-&gt;n3; then remove n2-&gt;n1. </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00635">FSMPTA.cpp:635</a></div></div>
698
- <div class="ttc" id="classSVF_1_1Options_html_af129d2ff94af3f6830c0678cb4b72371"><div class="ttname"><a href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">SVF::Options::AddModelFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AddModelFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00165">Options.h:165</a></div></div>
698
+ <div class="ttc" id="classSVF_1_1Options_html_af129d2ff94af3f6830c0678cb4b72371"><div class="ttname"><a href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">SVF::Options::AddModelFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AddModelFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00168">Options.h:168</a></div></div>
699
699
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a24921d1b1d79d7ef0b358be8d7a9e2c4"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a24921d1b1d79d7ef0b358be8d7a9e2c4">SVF::MTASVFGBuilder::handleStoreLoad</a></div><div class="ttdeci">void handleStoreLoad(const StmtSVFGNode *n1, const StmtSVFGNode *n2, PointerAnalysis *pta)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00461">FSMPTA.cpp:461</a></div></div>
700
700
  <div class="ttc" id="classSVF_1_1PCG_html_a50b677ec622247a464cee7f0f45c5a53"><div class="ttname"><a href="classSVF_1_1PCG.html#a50b677ec622247a464cee7f0f45c5a53">SVF::PCG::analyze</a></div><div class="ttdeci">virtual bool analyze()</div><div class="ttdoc">We start the pass here. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00022">PCG.cpp:22</a></div></div>
701
701
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a91ff57e51b0650963b4b5541fa0f7056"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a91ff57e51b0650963b4b5541fa0f7056">SVF::MTASVFGBuilder::handleStoreStoreNonSparse</a></div><div class="ttdeci">void handleStoreStoreNonSparse(const StmtSVFGNode *n1, const StmtSVFGNode *n2, PointerAnalysis *pta)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00452">FSMPTA.cpp:452</a></div></div>
@@ -709,11 +709,11 @@ Additional Inherited Members</h2></td></tr>
709
709
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
710
710
  <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00159">SVFBasicTypes.h:159</a></div></div>
711
711
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a29a14309cfa1d7c4454fb1237704e487"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a29a14309cfa1d7c4454fb1237704e487">SVF::MTASVFGBuilder::handleStoreStore</a></div><div class="ttdeci">void handleStoreStore(const StmtSVFGNode *n1, const StmtSVFGNode *n2, PointerAnalysis *pta)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00495">FSMPTA.cpp:495</a></div></div>
712
- <div class="ttc" id="classSVF_1_1Options_html_af2f66307e1d51947676f622c98ef0762"><div class="ttname"><a href="classSVF_1_1Options.html#af2f66307e1d51947676f622c98ef0762">SVF::Options::UsePCG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; UsePCG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00162">Options.h:162</a></div></div>
712
+ <div class="ttc" id="classSVF_1_1Options_html_af2f66307e1d51947676f622c98ef0762"><div class="ttname"><a href="classSVF_1_1Options.html#af2f66307e1d51947676f622c98ef0762">SVF::Options::UsePCG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; UsePCG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00165">Options.h:165</a></div></div>
713
713
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a1c0de33bba2f05f14140d872c345ab38"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a1c0de33bba2f05f14140d872c345ab38">SVF::MTASVFGBuilder::edge2pts</a></div><div class="ttdeci">Map&lt; NodeIDPair, PointsTo &gt; edge2pts</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00148">FSMPTA.h:148</a></div></div>
714
714
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
715
715
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a82b52f8e70f51353cbd7476a509ff523"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a82b52f8e70f51353cbd7476a509ff523">SVF::MTASVFGBuilder::handleStoreLoadNonSparse</a></div><div class="ttdeci">void handleStoreLoadNonSparse(const StmtSVFGNode *n1, const StmtSVFGNode *n2, PointerAnalysis *pta)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00442">FSMPTA.cpp:442</a></div></div>
716
- <div class="ttc" id="classSVF_1_1Options_html_a6bec8aed8673d10d65cc3df9fad3383b"><div class="ttname"><a href="classSVF_1_1Options.html#a6bec8aed8673d10d65cc3df9fad3383b">SVF::Options::ReadPrecisionTDEdge</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ReadPrecisionTDEdge</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00164">Options.h:164</a></div></div>
716
+ <div class="ttc" id="classSVF_1_1Options_html_a6bec8aed8673d10d65cc3df9fad3383b"><div class="ttname"><a href="classSVF_1_1Options.html#a6bec8aed8673d10d65cc3df9fad3383b">SVF::Options::ReadPrecisionTDEdge</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ReadPrecisionTDEdge</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00167">Options.h:167</a></div></div>
717
717
  <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00154">SVFBasicTypes.h:154</a></div></div>
718
718
  </div><!-- fragment -->
719
719
  </div>
@@ -893,7 +893,7 @@ Additional Inherited Members</h2></td></tr>
893
893
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class. </div></div>
894
894
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_aae94dd9031a6662d509627e602aef532"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">SVF::StmtVFGNode::getInst</a></div><div class="ttdeci">const Instruction * getInst() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00185">VFGNode.h:185</a></div></div>
895
895
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a21b3ee74434730fc792624d2eae2b168"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a21b3ee74434730fc792624d2eae2b168">SVF::MTASVFGBuilder::ADDEDGE_NOMHP</a></div><div class="ttdeci">static const u32_t ADDEDGE_NOMHP</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00164">FSMPTA.h:164</a></div></div>
896
- <div class="ttc" id="classSVF_1_1Options_html_af129d2ff94af3f6830c0678cb4b72371"><div class="ttname"><a href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">SVF::Options::AddModelFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AddModelFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00165">Options.h:165</a></div></div>
896
+ <div class="ttc" id="classSVF_1_1Options_html_af129d2ff94af3f6830c0678cb4b72371"><div class="ttname"><a href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">SVF::Options::AddModelFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AddModelFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00168">Options.h:168</a></div></div>
897
897
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a2e654f80c3680cd434fd04932a309a2d"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a2e654f80c3680cd434fd04932a309a2d">SVF::MTASVFGBuilder::addTDEdges</a></div><div class="ttdeci">SVFGEdge * addTDEdges(NodeID srcId, NodeID dstId, PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00103">FSMPTA.cpp:103</a></div></div>
898
898
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a9b81d7b2c238d443acadc748c6bd018d"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a9b81d7b2c238d443acadc748c6bd018d">SVF::MTASVFGBuilder::ADDEDGE_NOALIAS</a></div><div class="ttdeci">static const u32_t ADDEDGE_NOALIAS</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00165">FSMPTA.h:165</a></div></div>
899
899
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a82634524fba304c012980421b35ed8bd"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a82634524fba304c012980421b35ed8bd">SVF::MTASVFGBuilder::ADDEDGE_NOLOCK</a></div><div class="ttdeci">static const u32_t ADDEDGE_NOLOCK</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00166">FSMPTA.h:166</a></div></div>
@@ -1056,7 +1056,7 @@ Additional Inherited Members</h2></td></tr>
1056
1056
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class. </div></div>
1057
1057
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_aae94dd9031a6662d509627e602aef532"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">SVF::StmtVFGNode::getInst</a></div><div class="ttdeci">const Instruction * getInst() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00185">VFGNode.h:185</a></div></div>
1058
1058
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a21b3ee74434730fc792624d2eae2b168"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a21b3ee74434730fc792624d2eae2b168">SVF::MTASVFGBuilder::ADDEDGE_NOMHP</a></div><div class="ttdeci">static const u32_t ADDEDGE_NOMHP</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00164">FSMPTA.h:164</a></div></div>
1059
- <div class="ttc" id="classSVF_1_1Options_html_af129d2ff94af3f6830c0678cb4b72371"><div class="ttname"><a href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">SVF::Options::AddModelFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AddModelFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00165">Options.h:165</a></div></div>
1059
+ <div class="ttc" id="classSVF_1_1Options_html_af129d2ff94af3f6830c0678cb4b72371"><div class="ttname"><a href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">SVF::Options::AddModelFlag</a></div><div class="ttdeci">static const llvm::cl::opt&lt; u32_t &gt; AddModelFlag</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00168">Options.h:168</a></div></div>
1060
1060
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a2e654f80c3680cd434fd04932a309a2d"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a2e654f80c3680cd434fd04932a309a2d">SVF::MTASVFGBuilder::addTDEdges</a></div><div class="ttdeci">SVFGEdge * addTDEdges(NodeID srcId, NodeID dstId, PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00103">FSMPTA.cpp:103</a></div></div>
1061
1061
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a9b81d7b2c238d443acadc748c6bd018d"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a9b81d7b2c238d443acadc748c6bd018d">SVF::MTASVFGBuilder::ADDEDGE_NOALIAS</a></div><div class="ttdeci">static const u32_t ADDEDGE_NOALIAS</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00165">FSMPTA.h:165</a></div></div>
1062
1062
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a82634524fba304c012980421b35ed8bd"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a82634524fba304c012980421b35ed8bd">SVF::MTASVFGBuilder::ADDEDGE_NOLOCK</a></div><div class="ttdeci">static const u32_t ADDEDGE_NOLOCK</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00166">FSMPTA.h:166</a></div></div>
@@ -474,7 +474,7 @@ Additional Inherited Members</h2></td></tr>
474
474
  <div class="ttc" id="SVF-FE_2BasicTypes_8h_html_a9a4df49ba7ca3ad32d65e5ecf2dad707"><div class="ttname"><a href="SVF-FE_2BasicTypes_8h.html#a9a4df49ba7ca3ad32d65e5ecf2dad707">const_inst_iterator</a></div><div class="ttdeci">llvm::const_inst_iterator const_inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00112">BasicTypes.h:112</a></div></div>
475
475
  <div class="ttc" id="CFLGrammar_8txt_html_acc7b4cf736579c4d83be2316d5a9e5f2"><div class="ttname"><a href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00008">CFLGrammar.txt:8</a></div></div>
476
476
  <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00140">BasicTypes.h:140</a></div></div>
477
- <div class="ttc" id="classSVF_1_1Options_html_aa78f442ee8d7272e98396fd86dea4993"><div class="ttname"><a href="classSVF_1_1Options.html#aa78f442ee8d7272e98396fd86dea4993">SVF::Options::AllPairMHP</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; AllPairMHP</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00186">Options.h:186</a></div></div>
477
+ <div class="ttc" id="classSVF_1_1Options_html_aa78f442ee8d7272e98396fd86dea4993"><div class="ttname"><a href="classSVF_1_1Options.html#aa78f442ee8d7272e98396fd86dea4993">SVF::Options::AllPairMHP</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; AllPairMHP</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00189">Options.h:189</a></div></div>
478
478
  <div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00155">SVFModule.h:155</a></div></div>
479
479
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_adadee129c04b82576b4ca3c7594cdcb2"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#adadee129c04b82576b4ca3c7594cdcb2">SVF::LockAnalysis::lockTime</a></div><div class="ttdeci">double lockTime</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00492">LockAnalysis.h:492</a></div></div>
480
480
  <div class="ttc" id="classSVF_1_1SVFModule_html_a709371b13dcf500277f8bc275bdb23c7"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a709371b13dcf500277f8bc275bdb23c7">SVF::SVFModule::iterator</a></div><div class="ttdeci">FunctionSetType::iterator iterator</div><div class="ttdoc">Iterators type def. </div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00051">SVFModule.h:51</a></div></div>