svf-tools 1.0.336 → 1.0.337

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 (167) hide show
  1. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -3
  5. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  6. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
  7. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
  10. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
  12. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +4 -4
  13. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +5 -2
  15. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +17 -17
  17. package/SVF-doxygen/html/html/ICFG_8h_source.html +38 -37
  18. package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +7 -7
  22. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +4 -4
  23. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +21 -24
  24. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +42 -43
  25. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp.html +1 -0
  27. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +6 -5
  28. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +40 -40
  29. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +6 -6
  30. package/SVF-doxygen/html/html/SVFIR_8h_source.html +6 -6
  31. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +22 -21
  32. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +47 -47
  33. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +4 -4
  34. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/html/VFGNode_8h_source.html +4 -4
  38. package/SVF-doxygen/html/html/VFG_8cpp_source.html +9 -9
  39. package/SVF-doxygen/html/html/VFG_8h_source.html +8 -8
  40. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  42. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +187 -188
  43. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +7 -10
  44. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +160 -161
  45. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -5
  46. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +199 -200
  47. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +0 -3
  48. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +202 -203
  49. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +0 -3
  50. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +195 -196
  51. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +0 -3
  52. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +196 -197
  53. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +0 -3
  54. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +205 -206
  55. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +0 -3
  56. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  57. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +193 -194
  58. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +0 -3
  59. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +116 -117
  60. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +9 -12
  61. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +18 -18
  62. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +32 -32
  63. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +4 -4
  64. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +2 -2
  65. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +19 -19
  66. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +104 -105
  67. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +5 -8
  68. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +3 -3
  69. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +182 -183
  70. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +11 -14
  71. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +5 -5
  72. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  73. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +219 -220
  74. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +0 -3
  75. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +180 -181
  76. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +9 -12
  77. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +212 -213
  78. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +17 -20
  79. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
  80. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +244 -245
  81. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +5 -8
  82. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
  84. package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +27 -26
  85. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +183 -116
  86. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +10 -5
  87. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +9 -9
  88. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +26 -25
  89. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +2 -2
  90. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
  91. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +4 -4
  94. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +2 -2
  95. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +37 -36
  97. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +27 -3
  98. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +78 -79
  99. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +104 -144
  100. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +2 -2
  101. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +6 -6
  103. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +122 -115
  104. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +4 -4
  105. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +171 -172
  107. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +0 -3
  108. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +2 -2
  109. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +11 -11
  110. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +11 -11
  111. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +161 -162
  113. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -6
  114. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +2 -2
  115. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +25 -25
  116. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +11 -11
  117. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +2 -2
  118. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +254 -255
  119. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -5
  120. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
  121. package/SVF-doxygen/html/html/functions_d.html +0 -3
  122. package/SVF-doxygen/html/html/functions_func_d.html +0 -3
  123. package/SVF-doxygen/html/html/functions_func_i.html +13 -10
  124. package/SVF-doxygen/html/html/functions_i.html +10 -6
  125. package/SVF-doxygen/html/html/functions_l.html +6 -6
  126. package/SVF-doxygen/html/html/functions_n.html +3 -3
  127. package/SVF-doxygen/html/html/functions_p.html +9 -9
  128. package/SVF-doxygen/html/html/functions_r.html +1 -1
  129. package/SVF-doxygen/html/html/functions_rela.html +3 -0
  130. package/SVF-doxygen/html/html/functions_s.html +14 -12
  131. package/SVF-doxygen/html/html/functions_t.html +7 -5
  132. package/SVF-doxygen/html/html/functions_v.html +6 -6
  133. package/SVF-doxygen/html/html/search/all_10.js +7 -7
  134. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  135. package/SVF-doxygen/html/html/search/all_13.js +10 -10
  136. package/SVF-doxygen/html/html/search/all_14.js +3 -3
  137. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  138. package/SVF-doxygen/html/html/search/all_16.js +3 -3
  139. package/SVF-doxygen/html/html/search/all_4.js +0 -1
  140. package/SVF-doxygen/html/html/search/all_9.js +2 -1
  141. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  142. package/SVF-doxygen/html/html/search/all_d.js +3 -3
  143. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  144. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  145. package/SVF-doxygen/html/html/search/functions_3.js +0 -1
  146. package/SVF-doxygen/html/html/search/functions_8.js +1 -0
  147. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  148. package/SVF-doxygen/html/html/search/related_4.js +1 -0
  149. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  150. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  151. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  152. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  153. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  154. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +1 -1
  155. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +1 -1
  156. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +2 -2
  157. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  158. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  159. package/include/Graphs/ICFG.h +5 -3
  160. package/include/MemoryModel/PointerAnalysis.h +0 -3
  161. package/include/MemoryModel/SVFStatements.h +5 -0
  162. package/lib/Graphs/ICFG.cpp +2 -2
  163. package/lib/MemoryModel/PointerAnalysis.cpp +1 -21
  164. package/lib/MemoryModel/SVFStatements.cpp +10 -1
  165. package/lib/SVF-FE/ICFGBuilder.cpp +17 -2
  166. package/lib/SVF-FE/SVFIRBuilder.cpp +13 -0
  167. package/package.json +1 -1
@@ -663,9 +663,6 @@ Protected Member Functions</h2></td></tr>
663
663
  <tr class="memitem:a74df51017ceaa389de2c2f33f3522fc3 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a74df51017ceaa389de2c2f33f3522fc3">getFunPtr</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs) const</td></tr>
664
664
  <tr class="memdesc:a74df51017ceaa389de2c2f33f3522fc3 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return function pointer PAGNode at a callsite cs. <a href="classSVF_1_1PointerAnalysis.html#a74df51017ceaa389de2c2f33f3522fc3">More...</a><br /></td></tr>
665
665
  <tr class="separator:a74df51017ceaa389de2c2f33f3522fc3 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
666
- <tr class="memitem:a3fd44d3cfc3f4ab18506870c65df32f5 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a3fd44d3cfc3f4ab18506870c65df32f5">dumpGraph</a> ()</td></tr>
667
- <tr class="memdesc:a3fd44d3cfc3f4ab18506870c65df32f5 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to dump the graph for debugging purpose. <a href="classSVF_1_1PointerAnalysis.html#a3fd44d3cfc3f4ab18506870c65df32f5">More...</a><br /></td></tr>
668
- <tr class="separator:a3fd44d3cfc3f4ab18506870c65df32f5 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
669
666
  <tr class="memitem:a73fb8e595473e0c7df1dd0de4968ad13 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">resetObjFieldSensitive</a> ()</td></tr>
670
667
  <tr class="memdesc:a73fb8e595473e0c7df1dd0de4968ad13 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset all object node as field-sensitive. <a href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">More...</a><br /></td></tr>
671
668
  <tr class="separator:a73fb8e595473e0c7df1dd0de4968ad13 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -425,7 +425,7 @@ Additional Inherited Members</h2></td></tr>
425
425
  <div class="ttc" id="classSVF_1_1AndersenStat_html_afbd6b36ac1b0addb902fe8eb5643df83"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#afbd6b36ac1b0addb902fe8eb5643df83">SVF::AndersenStat::_NumOfPWCCycles</a></div><div class="ttdeci">static u32_t _NumOfPWCCycles</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00059">WPAStat.h:59</a></div></div>
426
426
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
427
427
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a6e8c46641da751fe3369c9d5407ce415"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a6e8c46641da751fe3369c9d5407ce415">SVF::ConstraintGraph::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00317">ConsG.h:317</a></div></div>
428
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00370">PointerAnalysis.h:370</a></div></div>
428
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00367">PointerAnalysis.h:367</a></div></div>
429
429
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00387">GenericGraph.h:387</a></div></div>
430
430
  <div class="ttc" id="classSVF_1_1AndersenStat_html_aa2e3a589d376de12a1cbfb0d1ebcacb9"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#aa2e3a589d376de12a1cbfb0d1ebcacb9">SVF::AndersenStat::_NumOfNodesInCycles</a></div><div class="ttdeci">static u32_t _NumOfNodesInCycles</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00060">WPAStat.h:60</a></div></div>
431
431
  </div><!-- fragment -->
@@ -604,13 +604,13 @@ Additional Inherited Members</h2></td></tr>
604
604
  <p class="definition">Definition at line <a class="el" href="AndersenStat_8cpp_source.html#l00220">220</a> of file <a class="el" href="AndersenStat_8cpp_source.html">AndersenStat.cpp</a>.</p>
605
605
  <div class="fragment"><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;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a> = 0;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> iter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eiter = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; iter != eiter; ++iter)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> pagNodeId = iter-&gt;first;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = iter-&gt;second;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a60bed99a7fd939873118698b058ccc4a">isTopLevelPtr</a>() == <span class="keyword">false</span>)</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">PAGEdge::SVFStmtSetTy</a>&amp; inComingStore = pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a76964ef7d4842a469d7720881499d8a6">getIncomingEdges</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">PAGEdge::Store</a>);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">PAGEdge::SVFStmtSetTy</a>&amp; outGoingLoad = pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a927733580b47be5ffcfced44ba9fd6c3">getOutgoingEdges</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">PAGEdge::Load</a>);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">if</span> (inComingStore.empty()==<span class="keyword">false</span> || outGoingLoad.empty()==<span class="keyword">false</span>)</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts = <a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(pagNodeId);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">containBlackHoleNode</a>(pts))</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7">_NumOfBlackholePtr</a>++;</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> (<a class="code" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">containConstantNode</a>(pts))</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">_NumOfConstantPtr</a>++;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span>(pts.<a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>())</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; std::string str;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValVar&gt;(pagNode) &amp;&amp; !SVFUtil::isa&lt;DummyObjVar&gt;(pagNode) )</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="comment">// if a pointer is in dead function, we do not care</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">isPtrInDeadFunction</a>(pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>()) == <span class="keyword">false</span>)</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;##Null Pointer : (NodeID &quot;</span> &lt;&lt; pagNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; &lt;&lt; <span class="stringliteral">&quot;) PtrName:&quot;</span> &lt;&lt; pagNode-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>()-&gt;getName();</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(rawstr.str());</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="comment">//pagNode-&gt;getValue()-&gt;dump();</span></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; }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">_NumOfNullPtr</a>++;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;##Null Pointer : (NodeID &quot;</span> &lt;&lt; pagNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(rawstr.str());</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; }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</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="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00361">GenericGraph.h:361</a></div></div>
606
606
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a8af8dd60987c4c99ea3727d9db87c187"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">SVF::AndersenStat::pta</a></div><div class="ttdeci">AndersenBase * pta</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00052">WPAStat.h:52</a></div></div>
607
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a56368369bc37e37b13f19e5eb1890063"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">SVF::PointerAnalysis::containBlackHoleNode</a></div><div class="ttdeci">bool containBlackHoleNode(const PointsTo &amp;pts)</div><div class="ttdoc">Determine whether a points-to contains a black hole or constant node. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00308">PointerAnalysis.h:308</a></div></div>
607
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a56368369bc37e37b13f19e5eb1890063"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">SVF::PointerAnalysis::containBlackHoleNode</a></div><div class="ttdeci">bool containBlackHoleNode(const PointsTo &amp;pts)</div><div class="ttdoc">Determine whether a points-to contains a black hole or constant node. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00305">PointerAnalysis.h:305</a></div></div>
608
608
  <div class="ttc" id="classSVF_1_1AndersenStat_html_ab8f8152b5e6127f2d9bdcbd22083da67"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">SVF::AndersenStat::_NumOfConstantPtr</a></div><div class="ttdeci">u32_t _NumOfConstantPtr</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00063">WPAStat.h:63</a></div></div>
609
609
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVF::SVFStmt::Load</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
610
610
  <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>
611
611
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a8cd7b6c6fd8b030b1421d95a086359f4"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVF::SVFStmt::SVFStmtSetTy</a></div><div class="ttdeci">GenericNode&lt; SVFVar, SVFStmt &gt;::GEdgeSetTy SVFStmtSetTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00178">SVFStatements.h:178</a></div></div>
612
612
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
613
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_afa7d9f6209904acd7893ae583e28dafd"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">SVF::PointerAnalysis::containConstantNode</a></div><div class="ttdeci">bool containConstantNode(const PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00312">PointerAnalysis.h:312</a></div></div>
613
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_afa7d9f6209904acd7893ae583e28dafd"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">SVF::PointerAnalysis::containConstantNode</a></div><div class="ttdeci">bool containConstantNode(const PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00309">PointerAnalysis.h:309</a></div></div>
614
614
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00069">SVFUtil.cpp:69</a></div></div>
615
615
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
616
616
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a4dcfe3e66a16813350ec8dffd47c5644"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">SVF::SVFUtil::isPtrInDeadFunction</a></div><div class="ttdeci">bool isPtrInDeadFunction(const Value *value)</div><div class="ttdoc">Return true if this is value in a dead function (function without any caller) </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00158">LLVMUtil.cpp:158</a></div></div>