svf-tools 1.0.313 → 1.0.314

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 (126) hide show
  1. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/html/CHG_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/MemModelBuilder_8cpp.html +90 -0
  5. package/SVF-doxygen/html/html/MemModelBuilder_8cpp_source.html +205 -0
  6. package/SVF-doxygen/html/html/MemModelBuilder_8h.html +97 -0
  7. package/SVF-doxygen/html/html/MemModelBuilder_8h_source.html +105 -0
  8. package/SVF-doxygen/html/html/MemModel_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +12 -12
  11. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +12 -12
  12. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +11 -11
  13. package/SVF-doxygen/html/html/PAGNode_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/PAG_8cpp_source.html +3 -3
  15. package/SVF-doxygen/html/html/PAG_8h_source.html +21 -21
  16. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/SVFModule_8cpp.html +1 -1
  19. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +5 -4
  20. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -59
  21. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +86 -97
  22. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/annotated.html +135 -134
  24. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +4 -4
  25. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +1 -1
  26. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  27. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +2 -2
  28. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  29. package/SVF-doxygen/html/html/classSVF_1_1MemModelBuilder-members.html +95 -0
  30. package/SVF-doxygen/html/html/classSVF_1_1MemModelBuilder.html +711 -0
  31. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  32. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +1 -1
  33. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +7 -7
  34. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +34 -34
  35. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
  36. package/SVF-doxygen/html/html/classSVF_1_1PAG.html +27 -27
  37. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +21 -21
  38. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
  39. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -2
  40. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  41. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +45 -56
  42. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +266 -778
  43. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
  44. package/SVF-doxygen/html/html/classes.html +89 -89
  45. package/SVF-doxygen/html/html/dir_5840dc76920ee0f379cd88b55fa041fd.html +1 -1
  46. package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +1 -1
  47. package/SVF-doxygen/html/html/files.html +2 -2
  48. package/SVF-doxygen/html/html/functions_a.html +1 -1
  49. package/SVF-doxygen/html/html/functions_b.html +1 -1
  50. package/SVF-doxygen/html/html/functions_c.html +10 -11
  51. package/SVF-doxygen/html/html/functions_e.html +1 -1
  52. package/SVF-doxygen/html/html/functions_f.html +3 -3
  53. package/SVF-doxygen/html/html/functions_func.html +1 -1
  54. package/SVF-doxygen/html/html/functions_func_b.html +1 -1
  55. package/SVF-doxygen/html/html/functions_func_c.html +8 -7
  56. package/SVF-doxygen/html/html/functions_func_e.html +1 -1
  57. package/SVF-doxygen/html/html/functions_func_g.html +1 -1
  58. package/SVF-doxygen/html/html/functions_func_h.html +3 -3
  59. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  60. package/SVF-doxygen/html/html/functions_func_m.html +3 -0
  61. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  62. package/SVF-doxygen/html/html/functions_func_s.html +8 -5
  63. package/SVF-doxygen/html/html/functions_g.html +1 -1
  64. package/SVF-doxygen/html/html/functions_h.html +3 -3
  65. package/SVF-doxygen/html/html/functions_i.html +4 -4
  66. package/SVF-doxygen/html/html/functions_l.html +5 -5
  67. package/SVF-doxygen/html/html/functions_m.html +4 -0
  68. package/SVF-doxygen/html/html/functions_n.html +4 -4
  69. package/SVF-doxygen/html/html/functions_p.html +10 -6
  70. package/SVF-doxygen/html/html/functions_r.html +2 -2
  71. package/SVF-doxygen/html/html/functions_rela.html +3 -0
  72. package/SVF-doxygen/html/html/functions_s.html +20 -16
  73. package/SVF-doxygen/html/html/functions_t.html +3 -3
  74. package/SVF-doxygen/html/html/functions_u.html +3 -3
  75. package/SVF-doxygen/html/html/functions_v.html +3 -3
  76. package/SVF-doxygen/html/html/functions_vars_s.html +2 -1
  77. package/SVF-doxygen/html/html/functions_w.html +3 -1
  78. package/SVF-doxygen/html/html/hierarchy.html +127 -126
  79. package/SVF-doxygen/html/html/namespaceSVF.html +2 -0
  80. package/SVF-doxygen/html/html/search/all_1.js +1 -1
  81. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  82. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  83. package/SVF-doxygen/html/html/search/all_13.js +5 -4
  84. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  85. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  86. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  87. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  88. package/SVF-doxygen/html/html/search/all_2.js +1 -1
  89. package/SVF-doxygen/html/html/search/all_3.js +7 -7
  90. package/SVF-doxygen/html/html/search/all_5.js +1 -1
  91. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  92. package/SVF-doxygen/html/html/search/all_7.js +1 -1
  93. package/SVF-doxygen/html/html/search/all_8.js +3 -3
  94. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  95. package/SVF-doxygen/html/html/search/all_c.js +2 -4
  96. package/SVF-doxygen/html/html/search/all_d.js +4 -1
  97. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  98. package/SVF-doxygen/html/html/search/classes_a.js +1 -0
  99. package/SVF-doxygen/html/html/search/files_8.js +1 -3
  100. package/SVF-doxygen/html/html/search/files_9.js +2 -0
  101. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  102. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  103. package/SVF-doxygen/html/html/search/functions_10.js +1 -0
  104. package/SVF-doxygen/html/html/search/functions_2.js +6 -6
  105. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  106. package/SVF-doxygen/html/html/search/functions_6.js +1 -1
  107. package/SVF-doxygen/html/html/search/functions_7.js +3 -3
  108. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  109. package/SVF-doxygen/html/html/search/functions_b.js +1 -0
  110. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  111. package/SVF-doxygen/html/html/search/related_3.js +1 -0
  112. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  113. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  114. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  115. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  116. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  117. package/include/SVF-FE/MemModelBuilder.h +102 -0
  118. package/include/SVF-FE/SymbolTableInfo.h +7 -32
  119. package/include/Util/NodeIDAllocator.h +1 -1
  120. package/lib/SVF-FE/MemModelBuilder.cpp +616 -0
  121. package/lib/SVF-FE/SymbolTableInfo.cpp +0 -570
  122. package/lib/Util/NodeIDAllocator.cpp +2 -1
  123. package/lib/Util/SVFModule.cpp +3 -2
  124. package/package.json +1 -1
  125. package/include/SVF-FE/LocMemModel.h +0 -35
  126. package/lib/SVF-FE/LocMemModel.cpp +0 -31
@@ -75,8 +75,8 @@ $(function() {
75
75
  <div class="ttc" id="classSVF_1_1PAG_html_a50d0968c6a467ab224ebc73d8beff852"><div class="ttname"><a href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">SVF::PAG::pag</a></div><div class="ttdeci">static PAG * pag</div><div class="ttdoc">Singleton pattern here to enable instance of PAG can only be created once. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00102">PAG.h:102</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1PAG_html_a838a9fa42e68b5f32853f73fa05a7c09"><div class="ttname"><a href="classSVF_1_1PAG.html#a838a9fa42e68b5f32853f73fa05a7c09">SVF::PAG::getFunRet</a></div><div class="ttdeci">const PAGNode * getFunRet(const SVFFunction *func) const</div><div class="ttdoc">Get function return list. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00426">PAG.h:426</a></div></div>
77
77
  <div class="ttc" id="classSVF_1_1PAG_html_a157df68295822a17ad07a850a230bae1"><div class="ttname"><a href="classSVF_1_1PAG.html#a157df68295822a17ad07a850a230bae1">SVF::PAG::hasCallSiteArgsMap</a></div><div class="ttdeci">bool hasCallSiteArgsMap(const CallBlockNode *cs) const</div><div class="ttdoc">Callsite has argument list. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00388">PAG.h:388</a></div></div>
78
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_acbcd5035240fab0b809c3334a27159ae"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#acbcd5035240fab0b809c3334a27159ae">SVF::SymbolTableInfo::hasValSym</a></div><div class="ttdeci">bool hasValSym(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00275">SymbolTableInfo.h:275</a></div></div>
79
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ad9cdb21e20182f3bc95f04bbb97712f3"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ad9cdb21e20182f3bc95f04bbb97712f3">SVF::SymbolTableInfo::isBlkObj</a></div><div class="ttdeci">static bool isBlkObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00192">SymbolTableInfo.h:192</a></div></div>
78
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_acbcd5035240fab0b809c3334a27159ae"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#acbcd5035240fab0b809c3334a27159ae">SVF::SymbolTableInfo::hasValSym</a></div><div class="ttdeci">bool hasValSym(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00259">SymbolTableInfo.h:259</a></div></div>
79
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ad9cdb21e20182f3bc95f04bbb97712f3"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ad9cdb21e20182f3bc95f04bbb97712f3">SVF::SymbolTableInfo::isBlkObj</a></div><div class="ttdeci">static bool isBlkObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00183">SymbolTableInfo.h:183</a></div></div>
80
80
  <div class="ttc" id="classSVF_1_1PAG_html_afaeb005000260534f63afd4b35d7a58e"><div class="ttname"><a href="classSVF_1_1PAG.html#afaeb005000260534f63afd4b35d7a58e">SVF::PAG::getUnaryPEs</a></div><div class="ttdeci">const UnaryOPList &amp; getUnaryPEs(const PAGNode *node) const</div><div class="ttdoc">Get the corresponding UnaryPEs. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00314">PAG.h:314</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00278">MemModel.h:278</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1PAG_html_ac606fa72b7f1d0b4901519f6bba02fc7"><div class="ttname"><a href="classSVF_1_1PAG.html#ac606fa72b7f1d0b4901519f6bba02fc7">SVF::PAG::releasePAG</a></div><div class="ttdeci">static void releasePAG()</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00170">PAG.h:170</a></div></div>
@@ -86,28 +86,28 @@ $(function() {
86
86
  <div class="ttc" id="classSVF_1_1PAGEdge_html"><div class="ttname"><a href="classSVF_1_1PAGEdge.html">SVF::PAGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00047">PAGEdge.h:47</a></div></div>
87
87
  <div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00385">ConsG.h:385</a></div></div>
88
88
  <div class="ttc" id="classSVF_1_1PAG_html_afc1e86e9690bb30138c9927368069f11"><div class="ttname"><a href="classSVF_1_1PAG.html#afc1e86e9690bb30138c9927368069f11">SVF::PAG::getBaseValNode</a></div><div class="ttdeci">NodeID getBaseValNode(NodeID nodeId)</div><div class="ttdoc">Base and Offset methods for Value and Object node. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00820">PAG.cpp:820</a></div></div>
89
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aebf96274e1ad2a523981487839a3025e"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aebf96274e1ad2a523981487839a3025e">SVF::SymbolTableInfo::getBlkObj</a></div><div class="ttdeci">MemObj * getBlkObj() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00212">SymbolTableInfo.h:212</a></div></div>
89
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aebf96274e1ad2a523981487839a3025e"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aebf96274e1ad2a523981487839a3025e">SVF::SymbolTableInfo::getBlkObj</a></div><div class="ttdeci">MemObj * getBlkObj() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00203">SymbolTableInfo.h:203</a></div></div>
90
90
  <div class="ttc" id="classSVF_1_1PAG_html_ab6f0bc584f351839c9dba440e8d382a0"><div class="ttname"><a href="classSVF_1_1PAG.html#ab6f0bc584f351839c9dba440e8d382a0">SVF::PAG::handleBlackHole</a></div><div class="ttdeci">static void handleBlackHole(bool b)</div><div class="ttdoc">PAG build configurations. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l01092">PAG.cpp:1092</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1PAG_html_a13028887a4b608ace787c683cbd01209"><div class="ttname"><a href="classSVF_1_1PAG.html#a13028887a4b608ace787c683cbd01209">SVF::PAG::addToInstPAGEdgeList</a></div><div class="ttdeci">void addToInstPAGEdgeList(ICFGNode *inst, PAGEdge *edge)</div><div class="ttdoc">Add a PAGEdge into instruction map. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00239">PAG.h:239</a></div></div>
92
92
  <div class="ttc" id="classSVF_1_1PAG_html_a7bd46d36d58cc8ec70d8a42e5eb93683"><div class="ttname"><a href="classSVF_1_1PAG.html#a7bd46d36d58cc8ec70d8a42e5eb93683">SVF::PAG::totalPTAPAGEdge</a></div><div class="ttdeci">u32_t totalPTAPAGEdge</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00120">PAG.h:120</a></div></div>
93
93
  <div class="ttc" id="classSVF_1_1PAG_html_a536287335ff3d05ff94b163b5334d935"><div class="ttname"><a href="classSVF_1_1PAG.html#a536287335ff3d05ff94b163b5334d935">SVF::PAG::getBlackHoleObj</a></div><div class="ttdeci">const MemObj * getBlackHoleObj() const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00693">PAG.h:693</a></div></div>
94
94
  <div class="ttc" id="classSVF_1_1PAG_html_adb2e3171f5c5fe98093c8a27c43e068c"><div class="ttname"><a href="classSVF_1_1PAG.html#adb2e3171f5c5fe98093c8a27c43e068c">SVF::PAG::addConstantObjNode</a></div><div class="ttdeci">NodeID addConstantObjNode()</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00806">PAG.h:806</a></div></div>
95
95
  <div class="ttc" id="classSVF_1_1PAG_html_a39028e2fb42dec9e0b25a48400948d48"><div class="ttname"><a href="classSVF_1_1PAG.html#a39028e2fb42dec9e0b25a48400948d48">SVF::PAG::addGepObjNode</a></div><div class="ttdeci">NodeID addGepObjNode(const MemObj *obj, const LocationSet &amp;ls)</div><div class="ttdoc">Add a field obj node, this method can only invoked by getGepObjNode. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00697">PAG.cpp:697</a></div></div>
96
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a929a20dc8f2eb4d82e93938b8339d697"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a929a20dc8f2eb4d82e93938b8339d697">SVF::SymbolTableInfo::idToObjMap</a></div><div class="ttdeci">IDToMemMapTy &amp; idToObjMap()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00347">SymbolTableInfo.h:347</a></div></div>
96
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a929a20dc8f2eb4d82e93938b8339d697"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a929a20dc8f2eb4d82e93938b8339d697">SVF::SymbolTableInfo::idToObjMap</a></div><div class="ttdeci">IDToMemMapTy &amp; idToObjMap()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00331">SymbolTableInfo.h:331</a></div></div>
97
97
  <div class="ttc" id="classSVF_1_1PAG_html_ad274c5c15ac51cea5d09ad08febe8c14"><div class="ttname"><a href="classSVF_1_1PAG.html#ad274c5c15ac51cea5d09ad08febe8c14">SVF::PAG::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00135">PAG.h:135</a></div></div>
98
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a661eb9ff1839c3af942517808414202b"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a661eb9ff1839c3af942517808414202b">SVF::SymbolTableInfo::getConstantObj</a></div><div class="ttdeci">MemObj * getConstantObj() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00216">SymbolTableInfo.h:216</a></div></div>
98
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a661eb9ff1839c3af942517808414202b"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a661eb9ff1839c3af942517808414202b">SVF::SymbolTableInfo::getConstantObj</a></div><div class="ttdeci">MemObj * getConstantObj() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00207">SymbolTableInfo.h:207</a></div></div>
99
99
  <div class="ttc" id="classSVF_1_1PAG_html_aa9b2a2aa2e0f34c659b4728e7b0fe1ba"><div class="ttname"><a href="classSVF_1_1PAG.html#aa9b2a2aa2e0f34c659b4728e7b0fe1ba">SVF::PAG::isBlkObjOrConstantObj</a></div><div class="ttdeci">bool isBlkObjOrConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00658">PAG.h:658</a></div></div>
100
100
  <div class="ttc" id="classSVF_1_1PAG_html_ae99451bef14af36312dbf45e3447bb22"><div class="ttname"><a href="classSVF_1_1PAG.html#ae99451bef14af36312dbf45e3447bb22">SVF::PAG::addFunRet</a></div><div class="ttdeci">void addFunRet(const SVFFunction *fun, const PAGNode *ret)</div><div class="ttdoc">Add function returns. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00352">PAG.h:352</a></div></div>
101
101
  <div class="ttc" id="classSVF_1_1PAG_html_a369ea2832e74716757a7d4afa7cb5d60"><div class="ttname"><a href="classSVF_1_1PAG.html#a369ea2832e74716757a7d4afa7cb5d60">SVF::PAG::FunToPAGEdgeSetMap</a></div><div class="ttdeci">Map&lt; const SVFFunction *, PAGEdgeSet &gt; FunToPAGEdgeSetMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00070">PAG.h:70</a></div></div>
102
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a05ca2987d9f8716c24e489bec53502f4"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a05ca2987d9f8716c24e489bec53502f4">SVF::SymbolTableInfo::blackholeSymID</a></div><div class="ttdeci">SymID blackholeSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00236">SymbolTableInfo.h:236</a></div></div>
102
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a05ca2987d9f8716c24e489bec53502f4"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a05ca2987d9f8716c24e489bec53502f4">SVF::SymbolTableInfo::blackholeSymID</a></div><div class="ttdeci">SymID blackholeSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00227">SymbolTableInfo.h:227</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1ObjPN_html_a63ee5624271a63c2dc4f7f3ed2dcefdf"><div class="ttname"><a href="classSVF_1_1ObjPN.html#a63ee5624271a63c2dc4f7f3ed2dcefdf">SVF::ObjPN::getMemObj</a></div><div class="ttdeci">const MemObj * getMemObj() const</div><div class="ttdoc">Return memory object. </div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00360">PAGNode.h:360</a></div></div>
104
104
  <div class="ttc" id="classSVF_1_1PAG_html_a2e17a208081f29c33180a5de2b4dd0e9"><div class="ttname"><a href="classSVF_1_1PAG.html#a2e17a208081f29c33180a5de2b4dd0e9">SVF::PAG::addDummyMemObj</a></div><div class="ttdeci">const MemObj * addDummyMemObj(NodeID i, const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00798">PAG.h:798</a></div></div>
105
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec3fd21a11f760ca8684e390c6948f02"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec3fd21a11f760ca8684e390c6948f02">SVF::SymbolTableInfo::getVarargSym</a></div><div class="ttdeci">SymID getVarargSym(const Function *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00315">SymbolTableInfo.h:315</a></div></div>
105
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec3fd21a11f760ca8684e390c6948f02"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec3fd21a11f760ca8684e390c6948f02">SVF::SymbolTableInfo::getVarargSym</a></div><div class="ttdeci">SymID getVarargSym(const Function *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00299">SymbolTableInfo.h:299</a></div></div>
106
106
  <div class="ttc" id="classSVF_1_1PAG_html_adfd70b02bb37f3e17cb7d2edda2cf047"><div class="ttname"><a href="classSVF_1_1PAG.html#adfd70b02bb37f3e17cb7d2edda2cf047">SVF::PAG::addGlobalPAGEdge</a></div><div class="ttdeci">void addGlobalPAGEdge(const PAGEdge *edge)</div><div class="ttdoc">Get global PAGEdges (not in a procedure) </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00247">PAG.h:247</a></div></div>
107
107
  <div class="ttc" id="classSVF_1_1PAG_html_a45017000af4946b27878bd1fbf58050f"><div class="ttname"><a href="classSVF_1_1PAG.html#a45017000af4946b27878bd1fbf58050f">SVF::PAG::getObject</a></div><div class="ttdeci">const MemObj * getObject(const ObjPN *node) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00597">PAG.h:597</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1PAG_html_aa8bb3b659b70041e82aee15e8a595afb"><div class="ttname"><a href="classSVF_1_1PAG.html#aa8bb3b659b70041e82aee15e8a595afb">SVF::PAG::addCallPE</a></div><div class="ttdeci">CallPE * addCallPE(NodeID src, NodeID dst, const CallBlockNode *cs)</div><div class="ttdoc">Add Call edge. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00496">PAG.cpp:496</a></div></div>
109
109
  <div class="ttc" id="classSVF_1_1PAG_html_acf01961e2d9f3eba91c6e44c1f0137af"><div class="ttname"><a href="classSVF_1_1PAG.html#acf01961e2d9f3eba91c6e44c1f0137af">SVF::PAG::addBinaryOPPE</a></div><div class="ttdeci">BinaryOPPE * addBinaryOPPE(NodeID src, NodeID dst)</div><div class="ttdoc">Add Copy edge. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00427">PAG.cpp:427</a></div></div>
110
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afc8b0b6aea972f34a0c099b75114b81e"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afc8b0b6aea972f34a0c099b75114b81e">SVF::SymbolTableInfo::getRetSym</a></div><div class="ttdeci">SymID getRetSym(const Function *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00308">SymbolTableInfo.h:308</a></div></div>
110
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afc8b0b6aea972f34a0c099b75114b81e"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afc8b0b6aea972f34a0c099b75114b81e">SVF::SymbolTableInfo::getRetSym</a></div><div class="ttdeci">SymID getRetSym(const Function *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00292">SymbolTableInfo.h:292</a></div></div>
111
111
  <div class="ttc" id="classSVF_1_1PAG_html_a79b6cf7f3c13a96513b33670ef2c8df1"><div class="ttname"><a href="classSVF_1_1PAG.html#a79b6cf7f3c13a96513b33670ef2c8df1">SVF::PAG::~PAG</a></div><div class="ttdeci">virtual ~PAG()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00179">PAG.h:179</a></div></div>
112
112
  <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#l00018">MTAResultValidator.h:18</a></div></div>
113
113
  <div class="ttc" id="classSVF_1_1PAG_html_a10e33feca283850034891af28d7da43f"><div class="ttname"><a href="classSVF_1_1PAG.html#a10e33feca283850034891af28d7da43f">SVF::PAG::addVarargNode</a></div><div class="ttdeci">NodeID addVarargNode(const SVFFunction *, PAGNode *node, NodeID i)</div><div class="ttdoc">Add a unique vararg node for a procedure. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00834">PAG.h:834</a></div></div>
@@ -123,7 +123,7 @@ $(function() {
123
123
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
124
124
  <div class="ttc" id="classSVF_1_1UnaryOPPE_html"><div class="ttname"><a href="classSVF_1_1UnaryOPPE.html">SVF::UnaryOPPE</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00324">PAGEdge.h:324</a></div></div>
125
125
  <div class="ttc" id="classSVF_1_1PAG_html_a2bd0a705705138be2bbc7e0b6ef3bf0f"><div class="ttname"><a href="classSVF_1_1PAG.html#a2bd0a705705138be2bbc7e0b6ef3bf0f">SVF::PAG::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00672">PAG.h:672</a></div></div>
126
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ad095e4a569d399cadc03ce864f61c394"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ad095e4a569d399cadc03ce864f61c394">SVF::SymbolTableInfo::isNullPtr</a></div><div class="ttdeci">static bool isNullPtr(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00188">SymbolTableInfo.h:188</a></div></div>
126
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ad095e4a569d399cadc03ce864f61c394"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ad095e4a569d399cadc03ce864f61c394">SVF::SymbolTableInfo::isNullPtr</a></div><div class="ttdeci">static bool isNullPtr(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00179">SymbolTableInfo.h:179</a></div></div>
127
127
  <div class="ttc" id="classSVF_1_1PAGEdge_html_a59eb693c90848382efa1cccb56fe82d3"><div class="ttname"><a href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">SVF::PAGEdge::PAGEdgeSetTy</a></div><div class="ttdeci">GenericNode&lt; PAGNode, PAGEdge &gt;::GEdgeSetTy PAGEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00169">PAGEdge.h:169</a></div></div>
128
128
  <div class="ttc" id="classSVF_1_1PAG_html_ac312c15d6c41f4c97e1a5f66b0036c06"><div class="ttname"><a href="classSVF_1_1PAG.html#ac312c15d6c41f4c97e1a5f66b0036c06">SVF::PAG::binaryNodeMap</a></div><div class="ttdeci">BinaryNodeMap binaryNodeMap</div><div class="ttdoc">A set of binary edges. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00094">PAG.h:94</a></div></div>
129
129
  <div class="ttc" id="classSVF_1_1PAG_html_ad8c9f6134aa97d310f8eebbd7bf9bc8f"><div class="ttname"><a href="classSVF_1_1PAG.html#ad8c9f6134aa97d310f8eebbd7bf9bc8f">SVF::PAG::getValueNodeNum</a></div><div class="ttdeci">Size_t getValueNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00448">PAG.h:448</a></div></div>
@@ -135,7 +135,7 @@ $(function() {
135
135
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a2fbc96de5f066469c2739229307bcc0c"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a2fbc96de5f066469c2739229307bcc0c">SVF::GenericGraph&lt; PAGNode, PAGEdge &gt;::edgeNum</a></div><div class="ttdeci">u32_t edgeNum</div><div class="ttdoc">total num of node </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00436">GenericGraph.h:436</a></div></div>
136
136
  <div class="ttc" id="classSVF_1_1PAG_html_a7b983e115709d3461be9f24395c87ab4"><div class="ttname"><a href="classSVF_1_1PAG.html#a7b983e115709d3461be9f24395c87ab4">SVF::PAG::CSToRetMap</a></div><div class="ttdeci">Map&lt; const RetBlockNode *, const PAGNode * &gt; CSToRetMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00068">PAG.h:68</a></div></div>
137
137
  <div class="ttc" id="classSVF_1_1StorePE_html"><div class="ttname"><a href="classSVF_1_1StorePE.html">SVF::StorePE</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00359">PAGEdge.h:359</a></div></div>
138
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a704b917b1e1dbaf9cd758fa9acc1083b"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a704b917b1e1dbaf9cd758fa9acc1083b">SVF::SymbolTableInfo::isConstantObj</a></div><div class="ttdeci">static bool isConstantObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00196">SymbolTableInfo.h:196</a></div></div>
138
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a704b917b1e1dbaf9cd758fa9acc1083b"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a704b917b1e1dbaf9cd758fa9acc1083b">SVF::SymbolTableInfo::isConstantObj</a></div><div class="ttdeci">static bool isConstantObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00187">SymbolTableInfo.h:187</a></div></div>
139
139
  <div class="ttc" id="classSVF_1_1PAG_html_ac0e8f9b3b7255479b70aecb97e9f8f00"><div class="ttname"><a href="classSVF_1_1PAG.html#ac0e8f9b3b7255479b70aecb97e9f8f00">SVF::PAG::isUnaryNode</a></div><div class="ttdeci">bool isUnaryNode(const PAGNode *node) const</div><div class="ttdoc">Whether this PAGNode is an unary node. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00304">PAG.h:304</a></div></div>
140
140
  <div class="ttc" id="classSVF_1_1PAG_html_aa26d3c84f970deaa76ae404597abf960"><div class="ttname"><a href="classSVF_1_1PAG.html#aa26d3c84f970deaa76ae404597abf960">SVF::PAG::icfg</a></div><div class="ttdeci">ICFG * icfg</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00110">PAG.h:110</a></div></div>
141
141
  <div class="ttc" id="classSVF_1_1PAG_html_a11b3e5d1aacf8a199b4ad35ce8cbca04"><div class="ttname"><a href="classSVF_1_1PAG.html#a11b3e5d1aacf8a199b4ad35ce8cbca04">SVF::PAG::FunToArgsListMap</a></div><div class="ttdeci">Map&lt; const SVFFunction *, PAGNodeList &gt; FunToArgsListMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00066">PAG.h:66</a></div></div>
@@ -150,9 +150,9 @@ $(function() {
150
150
  <div class="ttc" id="classSVF_1_1PAG_html_a98b4beb7f17585173072f3bbea20eeb6"><div class="ttname"><a href="classSVF_1_1PAG.html#a98b4beb7f17585173072f3bbea20eeb6">SVF::PAG::addDummyValNode</a></div><div class="ttdeci">NodeID addDummyValNode()</div><div class="ttdoc">Add a dummy value/object node according to node ID (llvm value is null) </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00781">PAG.h:781</a></div></div>
151
151
  <div class="ttc" id="classSVF_1_1PAG_html_a12be35fbe2d830fb23fd0173eb66c108"><div class="ttname"><a href="classSVF_1_1PAG.html#a12be35fbe2d830fb23fd0173eb66c108">SVF::PAG::getObjectNode</a></div><div class="ttdeci">NodeID getObjectNode(const MemObj *mem)</div><div class="ttdoc">getObject - return mem object id </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00562">PAG.h:562</a></div></div>
152
152
  <div class="ttc" id="classSVF_1_1PAG_html_a46ce928b6bfa06c0b4a08cd3c282f696"><div class="ttname"><a href="classSVF_1_1PAG.html#a46ce928b6bfa06c0b4a08cd3c282f696">SVF::PAG::FunToRetMap</a></div><div class="ttdeci">Map&lt; const SVFFunction *, const PAGNode * &gt; FunToRetMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00069">PAG.h:69</a></div></div>
153
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_adaed6e68c2f53260ed4c4fc38b5c4721"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">SVF::SymbolTableInfo::nullPtrSymID</a></div><div class="ttdeci">SymID nullPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00226">SymbolTableInfo.h:226</a></div></div>
153
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_adaed6e68c2f53260ed4c4fc38b5c4721"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">SVF::SymbolTableInfo::nullPtrSymID</a></div><div class="ttdeci">SymID nullPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00217">SymbolTableInfo.h:217</a></div></div>
154
154
  <div class="ttc" id="classSVF_1_1PAG_html"><div class="ttname"><a href="classSVF_1_1PAG.html">SVF::PAG</a></div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00047">PAG.h:47</a></div></div>
155
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a8f3cb8a1db34dd692ee04561f4edeebf"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a8f3cb8a1db34dd692ee04561f4edeebf">SVF::SymbolTableInfo::valSyms</a></div><div class="ttdeci">ValueToIDMapTy &amp; valSyms()</div><div class="ttdoc">Get different kinds of syms maps. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00337">SymbolTableInfo.h:337</a></div></div>
155
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a8f3cb8a1db34dd692ee04561f4edeebf"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a8f3cb8a1db34dd692ee04561f4edeebf">SVF::SymbolTableInfo::valSyms</a></div><div class="ttdeci">ValueToIDMapTy &amp; valSyms()</div><div class="ttdoc">Get different kinds of syms maps. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00321">SymbolTableInfo.h:321</a></div></div>
156
156
  <div class="ttc" id="classSVF_1_1PAG_html_ae0151d49c9199a2899d8b872dc1ebcfc"><div class="ttname"><a href="classSVF_1_1PAG.html#ae0151d49c9199a2899d8b872dc1ebcfc">SVF::PAG::getCallSiteArgsMap</a></div><div class="ttdeci">CSToArgsListMap &amp; getCallSiteArgsMap()</div><div class="ttdoc">Get callsite argument list. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00393">PAG.h:393</a></div></div>
157
157
  <div class="ttc" id="classSVF_1_1PAG_html_abe896f8fd3c8adc60bbb1a23862da8df"><div class="ttname"><a href="classSVF_1_1PAG.html#abe896f8fd3c8adc60bbb1a23862da8df">SVF::PAG::memToFieldsMap</a></div><div class="ttdeci">MemObjToFieldsMap memToFieldsMap</div><div class="ttdoc">Map a mem object id to all its fields. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00091">PAG.h:91</a></div></div>
158
158
  <div class="ttc" id="classSVF_1_1PAG_html_a6d2c4132c03661348cf61aa62f35e25b"><div class="ttname"><a href="classSVF_1_1PAG.html#a6d2c4132c03661348cf61aa62f35e25b">SVF::PAG::addDummyObjNode</a></div><div class="ttdeci">NodeID addDummyObjNode(NodeID i, const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00793">PAG.h:793</a></div></div>
@@ -172,7 +172,7 @@ $(function() {
172
172
  <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00100">SVFBasicTypes.h:100</a></div></div>
173
173
  <div class="ttc" id="classSVF_1_1PAGEdge_html_a3d5a75d4f3792f90bf6ee58776512154"><div class="ttname"><a href="classSVF_1_1PAGEdge.html#a3d5a75d4f3792f90bf6ee58776512154">SVF::PAGEdge::isPTAEdge</a></div><div class="ttdeci">bool isPTAEdge() const</div><div class="ttdoc">Whether src and dst nodes are both of pointer type. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l01005">PAG.cpp:1005</a></div></div>
174
174
  <div class="ttc" id="classSVF_1_1PAG_html_aa7cdda6d4397975f27dfa524ce7cfc80"><div class="ttname"><a href="classSVF_1_1PAG.html#aa7cdda6d4397975f27dfa524ce7cfc80">SVF::PAG::addCallSiteArgs</a></div><div class="ttdeci">void addCallSiteArgs(CallBlockNode *callBlockNode, const PAGNode *arg)</div><div class="ttdoc">Add callsite arguments. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00359">PAG.h:359</a></div></div>
175
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a65f49178a948380c2d6105178509a906"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a65f49178a948380c2d6105178509a906">SVF::SymbolTableInfo::getObj</a></div><div class="ttdeci">MemObj * getObj(SymID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00301">SymbolTableInfo.h:301</a></div></div>
175
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a65f49178a948380c2d6105178509a906"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a65f49178a948380c2d6105178509a906">SVF::SymbolTableInfo::getObj</a></div><div class="ttdeci">MemObj * getObj(SymID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00285">SymbolTableInfo.h:285</a></div></div>
176
176
  <div class="ttc" id="classSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
177
177
  <div class="ttc" id="classSVF_1_1PAG_html_adbc0b23c24bc25f96540f011a08d02f2"><div class="ttname"><a href="classSVF_1_1PAG.html#adbc0b23c24bc25f96540f011a08d02f2">SVF::PAG::getConstantObj</a></div><div class="ttdeci">const MemObj * getConstantObj() const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00697">PAG.h:697</a></div></div>
178
178
  <div class="ttc" id="classSVF_1_1PAG_html_a52e4a8cfefcde7d0acc8ae94135105a8"><div class="ttname"><a href="classSVF_1_1PAG.html#a52e4a8cfefcde7d0acc8ae94135105a8">SVF::PAG::callSiteSet</a></div><div class="ttdeci">CallSiteSet callSiteSet</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00111">PAG.h:111</a></div></div>
@@ -213,14 +213,14 @@ $(function() {
213
213
  <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; PAGNode, PAGEdge &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00338">GenericGraph.h:338</a></div></div>
214
214
  <div class="ttc" id="classSVF_1_1PAG_html_a213d27e032e81e61a72be710e5f0de74"><div class="ttname"><a href="classSVF_1_1PAG.html#a213d27e032e81e61a72be710e5f0de74">SVF::PAG::GepValPNMap</a></div><div class="ttdeci">Map&lt; const Value *, NodeLocationSetMap &gt; GepValPNMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00078">PAG.h:78</a></div></div>
215
215
  <div class="ttc" id="classSVF_1_1VariantGepPE_html"><div class="ttname"><a href="classSVF_1_1VariantGepPE.html">SVF::VariantGepPE</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00522">PAGEdge.h:522</a></div></div>
216
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ab582424fdb6d9674c1bd4466cdfbe497"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ab582424fdb6d9674c1bd4466cdfbe497">SVF::SymbolTableInfo::constantSymID</a></div><div class="ttdeci">SymID constantSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00231">SymbolTableInfo.h:231</a></div></div>
216
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ab582424fdb6d9674c1bd4466cdfbe497"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ab582424fdb6d9674c1bd4466cdfbe497">SVF::SymbolTableInfo::constantSymID</a></div><div class="ttdeci">SymID constantSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00222">SymbolTableInfo.h:222</a></div></div>
217
217
  <div class="ttc" id="classSVF_1_1PAG_html_a3b70f1f3b785d735243962e83e210652"><div class="ttname"><a href="classSVF_1_1PAG.html#a3b70f1f3b785d735243962e83e210652">SVF::PAG::PAGEdgeList</a></div><div class="ttdeci">std::vector&lt; const PAGEdge * &gt; PAGEdgeList</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00056">PAG.h:56</a></div></div>
218
218
  <div class="ttc" id="classSVF_1_1FunEntryBlockNode_html_ac1a828ebeeab311c73485ffc7b0e5867"><div class="ttname"><a href="classSVF_1_1FunEntryBlockNode.html#ac1a828ebeeab311c73485ffc7b0e5867">SVF::FunEntryBlockNode::addFormalParms</a></div><div class="ttdeci">void addFormalParms(const PAGNode *fp)</div><div class="ttdoc">Add formal parameters. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00274">ICFGNode.h:274</a></div></div>
219
219
  <div class="ttc" id="classSVF_1_1PAG_html_a51f03f1d0fdc9ccb0e0f150877e01eb1"><div class="ttname"><a href="classSVF_1_1PAG.html#a51f03f1d0fdc9ccb0e0f150877e01eb1">SVF::PAG::addRetNode</a></div><div class="ttdeci">NodeID addRetNode(const SVFFunction *val, NodeID i)</div><div class="ttdoc">Add a unique return node for a procedure. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00759">PAG.h:759</a></div></div>
220
220
  <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#l00095">SVFBasicTypes.h:95</a></div></div>
221
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afca5a68d1825326e3ec6302ce0afee66"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66">SVF::SymbolTableInfo::getObjSym</a></div><div class="ttdeci">SymID getObjSym(const Value *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00294">SymbolTableInfo.h:294</a></div></div>
221
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afca5a68d1825326e3ec6302ce0afee66"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66">SVF::SymbolTableInfo::getObjSym</a></div><div class="ttdeci">SymID getObjSym(const Value *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00278">SymbolTableInfo.h:278</a></div></div>
222
222
  <div class="ttc" id="classSVF_1_1PAG_html_a9849898bac3644021638380b60f96891"><div class="ttname"><a href="classSVF_1_1PAG.html#a9849898bac3644021638380b60f96891">SVF::PAG::ValueToEdgeMap</a></div><div class="ttdeci">Map&lt; const Value *, PAGEdgeSet &gt; ValueToEdgeMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00073">PAG.h:73</a></div></div>
223
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a2fede86948eeb07aacfed2575ea329d1"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a2fede86948eeb07aacfed2575ea329d1">SVF::SymbolTableInfo::createDummyObj</a></div><div class="ttdeci">const MemObj * createDummyObj(SymID symId, const Type *type)</div><div class="ttdoc">Can only be invoked by PAG::addDummyNode() when creaing PAG from file. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00242">SymbolTableInfo.h:242</a></div></div>
223
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a2fede86948eeb07aacfed2575ea329d1"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a2fede86948eeb07aacfed2575ea329d1">SVF::SymbolTableInfo::createDummyObj</a></div><div class="ttdeci">const MemObj * createDummyObj(SymID symId, const Type *type)</div><div class="ttdoc">Can only be invoked by PAG::addDummyNode() when creaing PAG from file. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00233">SymbolTableInfo.h:233</a></div></div>
224
224
  <div class="ttc" id="classSVF_1_1PAG_html_a19c4e63ab6129d4e7aeae8b280bb057b"><div class="ttname"><a href="classSVF_1_1PAG.html#a19c4e63ab6129d4e7aeae8b280bb057b">SVF::PAG::getFieldsAfterCollapse</a></div><div class="ttdeci">NodeBS getFieldsAfterCollapse(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00800">PAG.cpp:800</a></div></div>
225
225
  <div class="ttc" id="classSVF_1_1PAG_html_ac2e844bdb316b2ab4bc780fbf8f48914"><div class="ttname"><a href="classSVF_1_1PAG.html#ac2e844bdb316b2ab4bc780fbf8f48914">SVF::PAG::getGepValNode</a></div><div class="ttdeci">NodeID getGepValNode(const Value *curInst, NodeID base, const LocationSet &amp;ls) const</div><div class="ttdoc">Due to constaint expression, curInst is used to distinguish different instructions (e...</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00467">PAG.h:467</a></div></div>
226
226
  <div class="ttc" id="classSVF_1_1PAG_html_aad5fc74d2a9baf3630ba6546a74053e7"><div class="ttname"><a href="classSVF_1_1PAG.html#aad5fc74d2a9baf3630ba6546a74053e7">SVF::PAG::getGepObjNode</a></div><div class="ttdeci">NodeID getGepObjNode(const MemObj *obj, const LocationSet &amp;ls)</div><div class="ttdoc">Get a field PAG Object node according to base mem obj and offset. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00673">PAG.cpp:673</a></div></div>
@@ -241,13 +241,13 @@ $(function() {
241
241
  <div class="ttc" id="classSVF_1_1PAG_html_aa50bf9fbf8ff2dff0392bff0319be622"><div class="ttname"><a href="classSVF_1_1PAG.html#aa50bf9fbf8ff2dff0392bff0319be622">SVF::PAG::addCopyPE</a></div><div class="ttdeci">CopyPE * addCopyPE(NodeID src, NodeID dst)</div><div class="ttdoc">Add Copy edge. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00392">PAG.cpp:392</a></div></div>
242
242
  <div class="ttc" id="classSVF_1_1PAG_html_a4606d6ff072f5ac5974719035676792e"><div class="ttname"><a href="classSVF_1_1PAG.html#a4606d6ff072f5ac5974719035676792e">SVF::PAG::addNormalGepPE</a></div><div class="ttdeci">NormalGepPE * addNormalGepPE(NodeID src, NodeID dst, const LocationSet &amp;ls)</div><div class="ttdoc">Add Offset(Gep) edge. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00597">PAG.cpp:597</a></div></div>
243
243
  <div class="ttc" id="classSVF_1_1PAG_html_ab18ceda2810981f4d4bb47ac88705577"><div class="ttname"><a href="classSVF_1_1PAG.html#ab18ceda2810981f4d4bb47ac88705577">SVF::PAG::PAGEdgeSet</a></div><div class="ttdeci">Set&lt; const PAGEdge * &gt; PAGEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00055">PAG.h:55</a></div></div>
244
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_acba43b6e9cdf07afaf3d30351aa8df7c"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#acba43b6e9cdf07afaf3d30351aa8df7c">SVF::SymbolTableInfo::isBlkPtr</a></div><div class="ttdeci">static bool isBlkPtr(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00184">SymbolTableInfo.h:184</a></div></div>
244
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_acba43b6e9cdf07afaf3d30351aa8df7c"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#acba43b6e9cdf07afaf3d30351aa8df7c">SVF::SymbolTableInfo::isBlkPtr</a></div><div class="ttdeci">static bool isBlkPtr(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00175">SymbolTableInfo.h:175</a></div></div>
245
245
  <div class="ttc" id="classSVF_1_1PAG_html_a1aedb70211aa31a4741615e611d64397"><div class="ttname"><a href="classSVF_1_1PAG.html#a1aedb70211aa31a4741615e611d64397">SVF::PAG::PAGNodeList</a></div><div class="ttdeci">std::vector&lt; const PAGNode * &gt; PAGNodeList</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00057">PAG.h:57</a></div></div>
246
246
  <div class="ttc" id="classSVF_1_1ICFG_html_aa33426d57dc150956902945a17a29bcb"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa33426d57dc150956902945a17a29bcb">SVF::ICFG::getFunExitBlockNode</a></div><div class="ttdeci">FunExitBlockNode * getFunExitBlockNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function exit node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00239">ICFG.cpp:239</a></div></div>
247
247
  <div class="ttc" id="classSVF_1_1PAG_html_a63a8131c082052fc4a8c61430ce196af"><div class="ttname"><a href="classSVF_1_1PAG.html#a63a8131c082052fc4a8c61430ce196af">SVF::PAG::getIndCallSites</a></div><div class="ttdeci">const CallSiteSet &amp; getIndCallSites(NodeID funPtr) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00500">PAG.h:500</a></div></div>
248
248
  <div class="ttc" id="classSVF_1_1PAG_html_a71a4647b6ac6a67d69ba580b3f5cac6a"><div class="ttname"><a href="classSVF_1_1PAG.html#a71a4647b6ac6a67d69ba580b3f5cac6a">SVF::PAG::getUnaryNodeMap</a></div><div class="ttdeci">UnaryNodeMap &amp; getUnaryNodeMap()</div><div class="ttdoc">Get all unary edges. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00309">PAG.h:309</a></div></div>
249
249
  <div class="ttc" id="classSVF_1_1PAG_html_af34fb84e6a39ff6b23aa5e9381c7c80c"><div class="ttname"><a href="classSVF_1_1PAG.html#af34fb84e6a39ff6b23aa5e9381c7c80c">SVF::PAG::CallSiteSet</a></div><div class="ttdeci">Set&lt; const CallBlockNode * &gt; CallSiteSet</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00051">PAG.h:51</a></div></div>
250
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a40387a4893ae5caf58d6f786533d2f44"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a40387a4893ae5caf58d6f786533d2f44">SVF::SymbolTableInfo::getModule</a></div><div class="ttdeci">SVFModule * getModule()</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00141">SymbolTableInfo.h:141</a></div></div>
250
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a40387a4893ae5caf58d6f786533d2f44"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a40387a4893ae5caf58d6f786533d2f44">SVF::SymbolTableInfo::getModule</a></div><div class="ttdeci">SVFModule * getModule()</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00143">SymbolTableInfo.h:143</a></div></div>
251
251
  <div class="ttc" id="classSVF_1_1PAG_html_afe02872115f15623178cb1ed8f737992"><div class="ttname"><a href="classSVF_1_1PAG.html#afe02872115f15623178cb1ed8f737992">SVF::PAG::getObjectNodeNum</a></div><div class="ttdeci">Size_t getObjectNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00452">PAG.h:452</a></div></div>
252
252
  <div class="ttc" id="classSVF_1_1PAG_html_ae455de4db007a5bebffd3a9c16e0b107"><div class="ttname"><a href="classSVF_1_1PAG.html#ae455de4db007a5bebffd3a9c16e0b107">SVF::PAG::getCallSiteRet</a></div><div class="ttdeci">const PAGNode * getCallSiteRet(const RetBlockNode *cs) const</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00410">PAG.h:410</a></div></div>
253
253
  <div class="ttc" id="classSVF_1_1GepPE_html"><div class="ttname"><a href="classSVF_1_1GepPE.html">SVF::GepPE</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00432">PAGEdge.h:432</a></div></div>
@@ -255,8 +255,8 @@ $(function() {
255
255
  <div class="ttc" id="classSVF_1_1PAG_html_a05751b2d055ea53b8a3452ead8380813"><div class="ttname"><a href="classSVF_1_1PAG.html#a05751b2d055ea53b8a3452ead8380813">SVF::PAG::getInstPTAPAGEdgeList</a></div><div class="ttdeci">PAGEdgeList &amp; getInstPTAPAGEdgeList(const ICFGNode *inst)</div><div class="ttdoc">Given an instruction, get all its PTA PAGEdges. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00234">PAG.h:234</a></div></div>
256
256
  <div class="ttc" id="classSVF_1_1RetBlockNode_html_a334951fc0160a6caeb5c54ce0bddc79d"><div class="ttname"><a href="classSVF_1_1RetBlockNode.html#a334951fc0160a6caeb5c54ce0bddc79d">SVF::RetBlockNode::addActualRet</a></div><div class="ttdeci">void addActualRet(const PAGNode *ar)</div><div class="ttdoc">Add actual return parameter. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00491">ICFGNode.h:491</a></div></div>
257
257
  <div class="ttc" id="classSVF_1_1PAG_html_ad6d3a47e27f3aa9f3729fd9097da27d4"><div class="ttname"><a href="classSVF_1_1PAG.html#ad6d3a47e27f3aa9f3729fd9097da27d4">SVF::PAG::hasPTAPAGEdgeList</a></div><div class="ttdeci">bool hasPTAPAGEdgeList(const ICFGNode *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00224">PAG.h:224</a></div></div>
258
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00214">SymbolTableInfo.cpp:214</a></div></div>
259
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec7ee137f828c9d61a11df7fc2241161"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec7ee137f828c9d61a11df7fc2241161">SVF::SymbolTableInfo::getValSym</a></div><div class="ttdeci">SymID getValSym(const Value *val)</div><div class="ttdoc">Get different kinds of syms. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00260">SymbolTableInfo.h:260</a></div></div>
258
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00064">SymbolTableInfo.cpp:64</a></div></div>
259
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec7ee137f828c9d61a11df7fc2241161"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec7ee137f828c9d61a11df7fc2241161">SVF::SymbolTableInfo::getValSym</a></div><div class="ttdeci">SymID getValSym(const Value *val)</div><div class="ttdoc">Get different kinds of syms. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00244">SymbolTableInfo.h:244</a></div></div>
260
260
  <div class="ttc" id="classSVF_1_1CmpPE_html"><div class="ttname"><a href="classSVF_1_1CmpPE.html">SVF::CmpPE</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00255">PAGEdge.h:255</a></div></div>
261
261
  <div class="ttc" id="classSVF_1_1ObjPN_html"><div class="ttname"><a href="classSVF_1_1ObjPN.html">SVF::ObjPN</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00320">PAGNode.h:320</a></div></div>
262
262
  <div class="ttc" id="classSVF_1_1FunExitBlockNode_html"><div class="ttname"><a href="classSVF_1_1FunExitBlockNode.html">SVF::FunExitBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00308">ICFGNode.h:308</a></div></div>
@@ -285,7 +285,7 @@ $(function() {
285
285
  <div class="ttc" id="classSVF_1_1PAG_html_a74f9e22acb40bf952c00168a221c0b00"><div class="ttname"><a href="classSVF_1_1PAG.html#a74f9e22acb40bf952c00168a221c0b00">SVF::PAG::getModule</a></div><div class="ttdeci">SVFModule * getModule()</div><div class="ttdoc">Get LLVM Module. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00195">PAG.h:195</a></div></div>
286
286
  <div class="ttc" id="classSVF_1_1MemObj_html_ad7f7de744715c3acaf3d48822865c87b"><div class="ttname"><a href="classSVF_1_1MemObj.html#ad7f7de744715c3acaf3d48822865c87b">SVF::MemObj::getSymId</a></div><div class="ttdeci">SymID getSymId() const</div><div class="ttdoc">Get the memory object id. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00315">MemModel.h:315</a></div></div>
287
287
  <div class="ttc" id="classSVF_1_1PAG_html_a02f02a895816386501e5ba032c0c6e4c"><div class="ttname"><a href="classSVF_1_1PAG.html#a02f02a895816386501e5ba032c0c6e4c">SVF::PAG::mapValueToEdge</a></div><div class="ttdeci">void mapValueToEdge(const Value *V, PAGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00577">PAG.h:577</a></div></div>
288
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a1689fa03795200b501ae3887906e7e72"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a1689fa03795200b501ae3887906e7e72">SVF::SymbolTableInfo::blkPtrSymID</a></div><div class="ttdeci">SymID blkPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00221">SymbolTableInfo.h:221</a></div></div>
288
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a1689fa03795200b501ae3887906e7e72"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a1689fa03795200b501ae3887906e7e72">SVF::SymbolTableInfo::blkPtrSymID</a></div><div class="ttdeci">SymID blkPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00212">SymbolTableInfo.h:212</a></div></div>
289
289
  <div class="ttc" id="classSVF_1_1PAG_html_ad81e9de87891387c6fc860d964316d4f"><div class="ttname"><a href="classSVF_1_1PAG.html#ad81e9de87891387c6fc860d964316d4f">SVF::PAG::getPhiNodeMap</a></div><div class="ttdeci">PHINodeMap &amp; getPhiNodeMap()</div><div class="ttdoc">Get all phi copy edges. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00267">PAG.h:267</a></div></div>
290
290
  <div class="ttc" id="classSVF_1_1PAG_html_afc24739cd11b6a85e1e62b8a409a2e56"><div class="ttname"><a href="classSVF_1_1PAG.html#afc24739cd11b6a85e1e62b8a409a2e56">SVF::PAG::NodeOffsetMap</a></div><div class="ttdeci">Map&lt; NodeOffset, NodeID &gt; NodeOffsetMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00076">PAG.h:76</a></div></div>
291
291
  <div class="ttc" id="classSVF_1_1PAG_html_a42b57f4523f30b0f739b1285ea744766"><div class="ttname"><a href="classSVF_1_1PAG.html#a42b57f4523f30b0f739b1285ea744766">SVF::PAG::valueToEdgeMap</a></div><div class="ttdeci">ValueToEdgeMap valueToEdgeMap</div><div class="ttdoc">Map llvm::Values to all corresponding PAGEdges. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00101">PAG.h:101</a></div></div>
@@ -102,7 +102,7 @@ $(function() {
102
102
  <div class="ttc" id="classSVF_1_1PTAStat_html_ac518843a4148ecc45027ccc19a690c05"><div class="ttname"><a href="classSVF_1_1PTAStat.html#ac518843a4148ecc45027ccc19a690c05">SVF::PTAStat::NumOfCycles</a></div><div class="ttdeci">static const char * NumOfCycles</div><div class="ttdoc">Number of scc cycles detected. </div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00114">PTAStat.h:114</a></div></div>
103
103
  <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>
104
104
  <div class="ttc" id="classSVF_1_1PAG_html_acde529dcb2054bf50a0793d8aa51bb07"><div class="ttname"><a href="classSVF_1_1PAG.html#acde529dcb2054bf50a0793d8aa51bb07">SVF::PAG::getFieldObjNodeNum</a></div><div class="ttdeci">Size_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00460">PAG.h:460</a></div></div>
105
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_abc7e567209010286a68634c700d76cca"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#abc7e567209010286a68634c700d76cca">SVF::SymbolTableInfo::getMaxStructSize</a></div><div class="ttdeci">u32_t getMaxStructSize() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00329">SymbolTableInfo.h:329</a></div></div>
105
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_abc7e567209010286a68634c700d76cca"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#abc7e567209010286a68634c700d76cca">SVF::SymbolTableInfo::getMaxStructSize</a></div><div class="ttdeci">u32_t getMaxStructSize() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00313">SymbolTableInfo.h:313</a></div></div>
106
106
  <div class="ttc" id="classSVF_1_1PTAStat_html_a2d5eedfe3418a3a83c9d254ba28399eb"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a2d5eedfe3418a3a83c9d254ba28399eb">SVF::PTAStat::bitcastInstStat</a></div><div class="ttdeci">void bitcastInstStat()</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00326">PTAStat.cpp:326</a></div></div>
107
107
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1PTAStat_html_a97a8b662356fc89cdd2cb9463fa5578b"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a97a8b662356fc89cdd2cb9463fa5578b">SVF::PTAStat::NumOfCopys</a></div><div class="ttdeci">static const char * NumOfCopys</div><div class="ttdoc">PAG copy edge. </div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00069">PTAStat.h:69</a></div></div>
@@ -151,7 +151,7 @@ $(function() {
151
151
  <div class="ttc" id="PAG_8h_html"><div class="ttname"><a href="PAG_8h.html">PAG.h</a></div></div>
152
152
  <div class="ttc" id="classSVF_1_1PTAStat_html_a4aff48eaa2045ee619a8ea793a9234b8"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a4aff48eaa2045ee619a8ea793a9234b8">SVF::PTAStat::NumOfHeapObjs</a></div><div class="ttdeci">static const char * NumOfHeapObjs</div><div class="ttdoc">PAG heap object node. </div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00085">PTAStat.h:85</a></div></div>
153
153
  <div class="ttc" id="classSVF_1_1PTAStat_html_a164249b9d35606387e628529c643d119"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a164249b9d35606387e628529c643d119">SVF::PTAStat::NumOfGepFieldPointers</a></div><div class="ttdeci">static const char * NumOfGepFieldPointers</div><div class="ttdoc">PAG gep value node (field value, dynamically created dummy node) </div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00099">PTAStat.h:99</a></div></div>
154
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00214">SymbolTableInfo.cpp:214</a></div></div>
154
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00064">SymbolTableInfo.cpp:64</a></div></div>
155
155
  <div class="ttc" id="classSVF_1_1ObjPN_html"><div class="ttname"><a href="classSVF_1_1ObjPN.html">SVF::ObjPN</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00320">PAGNode.h:320</a></div></div>
156
156
  <div class="ttc" id="classSVF_1_1PTAStat_html_aefcc3638fac7034ab3542be8eb01ab58"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aefcc3638fac7034ab3542be8eb01ab58">SVF::PTAStat::NumOfPWCCycles</a></div><div class="ttdeci">static const char * NumOfPWCCycles</div><div class="ttdoc">Number of scc cycles detected. </div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00115">PTAStat.h:115</a></div></div>
157
157
  <div class="ttc" id="namespaceSVF_html_a88fd7387fcf16caf70abe265cdcf90b9"><div class="ttname"><a href="namespaceSVF.html#a88fd7387fcf16caf70abe265cdcf90b9">SVF::StringRef</a></div><div class="ttdeci">llvm::StringRef StringRef</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00102">BasicTypes.h:102</a></div></div>
@@ -161,7 +161,7 @@ $(function() {
161
161
  <div class="ttc" id="PTAType_8h_html"><div class="ttname"><a href="PTAType_8h.html">PTAType.h</a></div></div>
162
162
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a861554c2fdeaa406131c2c920b4c7908"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a861554c2fdeaa406131c2c920b4c7908">SVF::PointerAnalysis::dumpAllPts</a></div><div class="ttdeci">virtual void dumpAllPts()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00271">PointerAnalysis.h:271</a></div></div>
163
163
  <div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
164
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aa40ff2fcaba3d4297d63269b74738737"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aa40ff2fcaba3d4297d63269b74738737">SVF::SymbolTableInfo::printFlattenFields</a></div><div class="ttdeci">void printFlattenFields(const Type *type)</div><div class="ttdoc">Debug method. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l01033">SymbolTableInfo.cpp:1033</a></div></div>
164
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aa40ff2fcaba3d4297d63269b74738737"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aa40ff2fcaba3d4297d63269b74738737">SVF::SymbolTableInfo::printFlattenFields</a></div><div class="ttdeci">void printFlattenFields(const Type *type)</div><div class="ttdoc">Debug method. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00463">SymbolTableInfo.cpp:463</a></div></div>
165
165
  <div class="ttc" id="namespaceSVF_html_a67f3f86344f028cacfbeb08caaf7bb0f"><div class="ttname"><a href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">SVF::GlobalValue</a></div><div class="ttdeci">llvm::GlobalValue GlobalValue</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00082">BasicTypes.h:82</a></div></div>
166
166
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_aec884481726cfaf19c4ab8ec8d9195b7"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aec884481726cfaf19c4ab8ec8d9195b7">SVF::PointerAnalysis::aliasTestMustAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestMustAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00124">PointerAnalysis.h:124</a></div></div>
167
167
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae3b651799345d9d92b6d736dafb03f63"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">SVF::PointerAnalysis::callGraphSCC</a></div><div class="ttdeci">CallGraphSCC * callGraphSCC</div><div class="ttdoc">SCC for CallGraph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00159">PointerAnalysis.h:159</a></div></div>
@@ -177,7 +177,7 @@ $(function() {
177
177
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7477a4301d548b93958e57df389cbba0"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7477a4301d548b93958e57df389cbba0">SVF::PointerAnalysis::aliasTestMustAlias</a></div><div class="ttdeci">static const std::string aliasTestMustAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00123">PointerAnalysis.h:123</a></div></div>
178
178
  <div class="ttc" id="classSVF_1_1ThreadCallGraph_html"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html">SVF::ThreadCallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00158">ThreadCallGraph.h:158</a></div></div>
179
179
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
180
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00214">SymbolTableInfo.cpp:214</a></div></div>
180
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00064">SymbolTableInfo.cpp:64</a></div></div>
181
181
  <div class="ttc" id="classSVF_1_1ObjPN_html"><div class="ttname"><a href="classSVF_1_1ObjPN.html">SVF::ObjPN</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00320">PAGNode.h:320</a></div></div>
182
182
  <div class="ttc" id="classSVF_1_1PAGNode_html_a071f592f2b811c136db5e05a6169aa99"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a071f592f2b811c136db5e05a6169aa99">SVF::PAGNode::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00110">PAGNode.h:110</a></div></div>
183
183
  <div class="ttc" id="ICFG_8h_html"><div class="ttname"><a href="ICFG_8h.html">ICFG.h</a></div></div>
@@ -67,7 +67,7 @@ $(function() {
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
69
  <div class="textblock"><code>#include &quot;<a class="el" href="SVFModule_8h_source.html">Util/SVFModule.h</a>&quot;</code><br />
70
- <code>#include &quot;<a class="el" href="SymbolTableInfo_8h_source.html">SVF-FE/SymbolTableInfo.h</a>&quot;</code><br />
70
+ <code>#include &quot;<a class="el" href="MemModelBuilder_8h_source.html">SVF-FE/MemModelBuilder.h</a>&quot;</code><br />
71
71
  <code>#include &quot;<a class="el" href="SVFUtil_8h_source.html">Util/SVFUtil.h</a>&quot;</code><br />
72
72
  </div>
73
73
  <p><a href="SVFModule_8cpp_source.html">Go to the source code of this file.</a></p>
@@ -66,12 +66,13 @@ $(function() {
66
66
  <div class="title">SVFModule.cpp</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="SVFModule_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">//===- SVFModule.cpp -- Helper functions for pointer analysis--------------//</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;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFModule_8h.html">Util/SVFModule.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SymbolTableInfo_8h.html">SVF-FE/SymbolTableInfo.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98"> 30</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVFModule::buildSymbolTableInfo</a>()</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;{</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFModule.html#a1357c876eccedd58b3abe68875b3a570">pagReadFromTXT</a>())</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; {</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</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#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Building Symbol table ...\n&quot;</span>));</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html">SymbolTableInfo</a> *symInfo = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>();</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; symInfo-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a74481bb26d77d8c8bca91efd3e23c08e">buildMemModel</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; }</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;}</div><div class="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>
69
+ <a href="SVFModule_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">//===- SVFModule.cpp -- Helper functions for pointer analysis--------------//</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;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFModule_8h.html">Util/SVFModule.h</a>&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MemModelBuilder_8h.html">SVF-FE/MemModelBuilder.h</a>&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98"> 30</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVFModule::buildSymbolTableInfo</a>()</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;{</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFModule.html#a1357c876eccedd58b3abe68875b3a570">pagReadFromTXT</a>())</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; {</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</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#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Building Symbol table ...\n&quot;</span>));</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html">SymbolTableInfo</a> *symInfo = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>();</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1MemModelBuilder.html">MemModelBuilder</a> builder(symInfo);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; builder.<a class="code" href="classSVF_1_1MemModelBuilder.html#aa38a3ce969852945fb914bab56fe8850">buildMemModel</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; }</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;}</div><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>
70
+ <div class="ttc" id="MemModelBuilder_8h_html"><div class="ttname"><a href="MemModelBuilder_8h.html">MemModelBuilder.h</a></div></div>
70
71
  <div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
71
- <div class="ttc" id="SymbolTableInfo_8h_html"><div class="ttname"><a href="SymbolTableInfo_8h.html">SymbolTableInfo.h</a></div></div>
72
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00214">SymbolTableInfo.cpp:214</a></div></div>
72
+ <div class="ttc" id="classSVF_1_1MemModelBuilder_html_aa38a3ce969852945fb914bab56fe8850"><div class="ttname"><a href="classSVF_1_1MemModelBuilder.html#aa38a3ce969852945fb914bab56fe8850">SVF::MemModelBuilder::buildMemModel</a></div><div class="ttdeci">void buildMemModel(SVFModule *svfModule)</div><div class="ttdoc">Start building memory model. </div><div class="ttdef"><b>Definition:</b> <a href="MemModelBuilder_8cpp_source.html#l00049">MemModelBuilder.cpp:49</a></div></div>
73
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00064">SymbolTableInfo.cpp:64</a></div></div>
73
74
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
74
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a74481bb26d77d8c8bca91efd3e23c08e"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a74481bb26d77d8c8bca91efd3e23c08e">SVF::SymbolTableInfo::buildMemModel</a></div><div class="ttdeci">void buildMemModel(SVFModule *svfModule)</div><div class="ttdoc">Start building memory model. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00534">SymbolTableInfo.cpp:534</a></div></div>
75
+ <div class="ttc" id="classSVF_1_1MemModelBuilder_html"><div class="ttname"><a href="classSVF_1_1MemModelBuilder.html">SVF::MemModelBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="MemModelBuilder_8h_source.html#l00043">MemModelBuilder.h:43</a></div></div>
75
76
  <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#l00154">SVFBasicTypes.h:154</a></div></div>
76
77
  <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="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
77
78
  <div class="ttc" id="SVFModule_8h_html"><div class="ttname"><a href="SVFModule_8h.html">SVFModule.h</a></div></div>