svf-tools 1.0.433 → 1.0.436

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 (115) hide show
  1. package/.gitignore +1 -0
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
  8. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  11. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  12. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
  15. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
  16. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +40 -41
  17. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -7
  18. package/SVF-doxygen/html/html/ICFG_8h_source.html +3 -3
  19. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +5 -5
  20. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/MHP_8h_source.html +1 -1
  25. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  26. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +4 -4
  28. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  29. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/MemSSA_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/PCG_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +3 -3
  34. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  35. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +3 -3
  37. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  41. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -3
  43. package/SVF-doxygen/html/html/SVFG_8h_source.html +3 -3
  44. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -4
  45. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/SVFIR_8h_source.html +5 -5
  48. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
  49. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  50. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  52. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  54. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  55. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  57. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +1 -1
  58. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  59. package/SVF-doxygen/html/html/VFG_8cpp_source.html +4 -4
  60. package/SVF-doxygen/html/html/VFG_8h_source.html +2 -2
  61. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  62. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  64. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  65. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +3 -3
  67. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  68. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
  69. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +35 -35
  71. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
  72. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
  73. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
  74. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +4 -4
  75. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  76. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
  77. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
  78. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +1 -1
  79. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +18 -44
  80. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  81. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +6 -6
  82. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +4 -4
  83. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
  84. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +15 -15
  86. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +4 -4
  87. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
  88. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +10 -10
  89. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
  90. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +3 -3
  91. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +3 -3
  93. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +11 -11
  95. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +26 -26
  96. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +3 -3
  97. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +10 -10
  99. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +4 -5
  100. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
  101. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +9 -9
  102. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  104. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +6 -6
  106. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +3 -3
  108. package/SVF-doxygen/html/html/functions_f.html +19 -18
  109. package/SVF-doxygen/html/html/functions_vars_f.html +0 -1
  110. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  111. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  112. package/include/Graphs/ICFGNode.h +0 -1
  113. package/lib/Graphs/ICFG.cpp +1 -1
  114. package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -4
  115. package/package.json +1 -1
@@ -2286,7 +2286,7 @@ Additional Inherited Members</h2></td></tr>
2286
2286
  <div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</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="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
2287
2287
  <div class="ttc" id="classSVF_1_1SVFIR_html_a95f77211550ec2374d57779d88cf5138"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a95f77211550ec2374d57779d88cf5138">SVF::SVFIR::hasCallSiteArgsMap</a></div><div class="ttdeci">bool hasCallSiteArgsMap(const CallICFGNode *cs) const</div><div class="ttdoc">Callsite has argument list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00232">SVFIR.h:232</a></div></div>
2288
2288
  <div class="ttc" id="classSVF_1_1SVFVar_html_a3b61042079a6c9dc395f38925c6a1271"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">SVF::SVFVar::isPointer</a></div><div class="ttdeci">virtual bool isPointer() const</div><div class="ttdoc">Whether it is a pointer. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00117">SVFVariables.h:117</a></div></div>
2289
- <div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00459">ICFGNode.h:459</a></div></div>
2289
+ <div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00458">ICFGNode.h:458</a></div></div>
2290
2290
  <div class="ttc" id="classSVF_1_1SVFIR_html_a2a1e8ce39bf8deace3c344d5f05fe6ac"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2a1e8ce39bf8deace3c344d5f05fe6ac">SVF::SVFIR::getCallSiteArgsList</a></div><div class="ttdeci">const SVFVarList &amp; getCallSiteArgsList(const CallICFGNode *cs) const</div><div class="ttdoc">Get callsite argument list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00242">SVFIR.h:242</a></div></div>
2291
2291
  <div class="ttc" id="classSVF_1_1VFG_html_ab4e8ab307ad6beb46812a60ebd31ae3b"><div class="ttname"><a href="classSVF_1_1VFG.html#ab4e8ab307ad6beb46812a60ebd31ae3b">SVF::VFG::connectFRetAndARet</a></div><div class="ttdeci">virtual void connectFRetAndARet(const PAGNode *funReturn, const PAGNode *csReturn, CallSiteID csId, VFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect formal-ret and actual ret. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00389">VFG.h:389</a></div></div>
2292
2292
  <div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00089">SVFBasicTypes.h:89</a></div></div>
@@ -2295,7 +2295,7 @@ Additional Inherited Members</h2></td></tr>
2295
2295
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa148e3e14ebad8460e32079f2f44413a"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa148e3e14ebad8460e32079f2f44413a">SVF::SVFIR::getFunArgsList</a></div><div class="ttdeci">const SVFVarList &amp; getFunArgsList(const SVFFunction *func) const</div><div class="ttdoc">Get function arguments list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00225">SVFIR.h:225</a></div></div>
2296
2296
  <div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00046">ICFG.h:46</a></div></div>
2297
2297
  <div class="ttc" id="classSVF_1_1SVFIR_html_afe8274c3b7317fccef5314662a182046"><div class="ttname"><a href="classSVF_1_1SVFIR.html#afe8274c3b7317fccef5314662a182046">SVF::SVFIR::funHasRet</a></div><div class="ttdeci">bool funHasRet(const SVFFunction *func) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00276">SVFIR.h:276</a></div></div>
2298
- <div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00381">ICFGNode.h:381</a></div></div>
2298
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00380">ICFGNode.h:380</a></div></div>
2299
2299
  <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00195">BasicTypes.h:195</a></div></div>
2300
2300
  <div class="ttc" id="classSVF_1_1SVFIR_html_a34e27b8bcfeaafda190dcdb9169a346f"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a34e27b8bcfeaafda190dcdb9169a346f">SVF::SVFIR::getFunRet</a></div><div class="ttdeci">const SVFVar * getFunRet(const SVFFunction *func) const</div><div class="ttdoc">Get function return list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00270">SVFIR.h:270</a></div></div>
2301
2301
  <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>
@@ -2371,9 +2371,9 @@ Additional Inherited Members</h2></td></tr>
2371
2371
  <div class="ttc" id="classSVF_1_1VFG_html_a6fd24c001a6daedf591974ba27140461"><div class="ttname"><a href="classSVF_1_1VFG.html#a6fd24c001a6daedf591974ba27140461">SVF::VFG::addInterEdgeFromAPToFP</a></div><div class="ttdeci">VFGEdge * addInterEdgeFromAPToFP(ActualParmVFGNode *src, FormalParmVFGNode *dst, CallSiteID csId)</div><div class="ttdoc">Add inter VF edge from actual to formal parameters. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00356">VFG.h:356</a></div></div>
2372
2372
  <div class="ttc" id="classSVF_1_1TDForkPE_html"><div class="ttname"><a href="classSVF_1_1TDForkPE.html">SVF::TDForkPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01001">SVFStatements.h:1001</a></div></div>
2373
2373
  <div class="ttc" id="classSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00963">VFGNode.h:963</a></div></div>
2374
- <div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00381">ICFGNode.h:381</a></div></div>
2374
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00380">ICFGNode.h:380</a></div></div>
2375
2375
  <div class="ttc" id="classSVF_1_1VFG_html_abd05b599b383c759455aff99963b7b41"><div class="ttname"><a href="classSVF_1_1VFG.html#abd05b599b383c759455aff99963b7b41">SVF::VFG::addInterEdgeFromFRToAR</a></div><div class="ttdeci">VFGEdge * addInterEdgeFromFRToAR(FormalRetVFGNode *src, ActualRetVFGNode *dst, CallSiteID csId)</div><div class="ttdoc">Add inter VF edge from callee return to callsite receive parameter. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00361">VFG.h:361</a></div></div>
2376
- <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
2376
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
2377
2377
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
2378
2378
  <div class="ttc" id="classSVF_1_1VFG_html_a7343f970332391634f79b2023bba6650"><div class="ttname"><a href="classSVF_1_1VFG.html#a7343f970332391634f79b2023bba6650">SVF::VFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00414">VFG.h:414</a></div></div>
2379
2379
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
@@ -3811,10 +3811,10 @@ Additional Inherited Members</h2></td></tr>
3811
3811
  <div class="fragment"><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160;{</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a0bdac7337a393ad2e21a33ec1978ca3f">VFGEdgeSetTy</a> vfEdgesAtIndCallSite;</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; PointerAnalysis::CallEdgeMap::const_iterator iter = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>().begin();</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; PointerAnalysis::CallEdgeMap::const_iterator eiter = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>().end();</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="keywordflow">for</span> (; iter != eiter; iter++)</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; {</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* newcs = iter-&gt;first;</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(newcs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">isIndirectCall</a>() &amp;&amp; <span class="stringliteral">&quot;this is not an indirect call?&quot;</span>);</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">PointerAnalysis::FunctionSet</a> &amp; functions = iter-&gt;second;</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordflow">for</span> (PointerAnalysis::FunctionSet::const_iterator func_iter = functions.begin(); func_iter != functions.end(); func_iter++)</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; {</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func = *func_iter;</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <a class="code" href="classSVF_1_1VFG.html#aa055ce3c4fe1cde5529cd63dd1ef2ed6">connectCallerAndCallee</a>(newcs, func, vfEdgesAtIndCallSite);</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; }</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; }</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160;}</div><div class="ttc" id="classSVF_1_1VFG_html_a0bdac7337a393ad2e21a33ec1978ca3f"><div class="ttname"><a href="classSVF_1_1VFG.html#a0bdac7337a393ad2e21a33ec1978ca3f">SVF::VFG::VFGEdgeSetTy</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy VFGEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00077">VFG.h:77</a></div></div>
3812
3812
  <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>
3813
3813
  <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00179">BasicTypes.h:179</a></div></div>
3814
- <div class="ttc" id="classSVF_1_1CallICFGNode_html_aa11226a2e4fa6a7b1d78006cc8ca0518"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">SVF::CallICFGNode::isIndirectCall</a></div><div class="ttdeci">bool isIndirectCall() const</div><div class="ttdoc">Return true if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00412">ICFGNode.h:412</a></div></div>
3814
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html_aa11226a2e4fa6a7b1d78006cc8ca0518"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">SVF::CallICFGNode::isIndirectCall</a></div><div class="ttdeci">bool isIndirectCall() const</div><div class="ttdoc">Return true if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00411">ICFGNode.h:411</a></div></div>
3815
3815
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac1422cd8b449fdb4a1f7c539364e4c41"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">SVF::PointerAnalysis::FunctionSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00110">PointerAnalysis.h:110</a></div></div>
3816
3816
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a1ca30dfa42702071b65d363c76d25cbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">SVF::PointerAnalysis::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap &amp; getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00379">PointerAnalysis.h:379</a></div></div>
3817
- <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
3817
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
3818
3818
  <div class="ttc" id="classSVF_1_1VFG_html_aa055ce3c4fe1cde5529cd63dd1ef2ed6"><div class="ttname"><a href="classSVF_1_1VFG.html#aa055ce3c4fe1cde5529cd63dd1ef2ed6">SVF::VFG::connectCallerAndCallee</a></div><div class="ttdeci">virtual void connectCallerAndCallee(const CallICFGNode *cs, const SVFFunction *callee, VFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect VFG nodes between caller and callee for indirect call site. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00906">VFG.cpp:906</a></div></div>
3819
3819
  </div><!-- fragment -->
3820
3820
  </div>
@@ -1230,7 +1230,7 @@ Additional Inherited Members</h2></td></tr>
1230
1230
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00178">PointerAnalysis.h:178</a></div></div>
1231
1231
  <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#l00101">SVFBasicTypes.h:101</a></div></div>
1232
1232
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a9a4b0c6672288b9201ab254b4c49548d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a9a4b0c6672288b9201ab254b4c49548d">SVF::PTACallGraph::getIndCallSitesInvokingCallee</a></div><div class="ttdeci">void getIndCallSitesInvokingCallee(const SVFFunction *callee, PTACallGraphEdge::CallInstSet &amp;csSet)</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00246">PTACallGraph.cpp:246</a></div></div>
1233
- <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
1233
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
1234
1234
  <div class="ttc" id="classSVF_1_1SVFG_html_ae2cff3c963136f474fac0a66aa8cff7b"><div class="ttname"><a href="classSVF_1_1SVFG.html#ae2cff3c963136f474fac0a66aa8cff7b">SVF::SVFG::isFunEntrySVFGNode</a></div><div class="ttdeci">const SVFFunction * isFunEntrySVFGNode(const SVFGNode *node) const</div><div class="ttdoc">Whether a node is function entry SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00698">SVFG.cpp:698</a></div></div>
1235
1235
  <div class="ttc" id="classSVF_1_1SVFG_html_ad189e45b0c810e68566ccc3bdb3f2e59"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad189e45b0c810e68566ccc3bdb3f2e59">SVF::SVFG::isCallSiteRetSVFGNode</a></div><div class="ttdeci">const CallICFGNode * isCallSiteRetSVFGNode(const SVFGNode *node) const</div><div class="ttdoc">Whether a node is callsite return SVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00724">SVFG.cpp:724</a></div></div>
1236
1236
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a5cfee013a1a5821ef0c449842dd8690d"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">SVF::FlowSensitive::ander</a></div><div class="ttdeci">AndersenWaveDiff * ander</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00284">FlowSensitive.h:284</a></div></div>
@@ -364,7 +364,7 @@ Private Attributes</h2></td></tr>
364
364
  <div class="ttc" id="classSVF_1_1Options_html_a30cbb0b3633c769c92f4625680ec17e3"><div class="ttname"><a href="classSVF_1_1Options.html#a30cbb0b3633c769c92f4625680ec17e3">SVF::Options::AnderSVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; AnderSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00249">Options.h:249</a></div></div>
365
365
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">SVF::PointerAnalysis::AndersenWaveDiff_WPA</a></div><div class="ttdoc">Diff wave propagation andersen-style WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00072">PointerAnalysis.h:72</a></div></div>
366
366
  <div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00046">ICFG.h:46</a></div></div>
367
- <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
367
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
368
368
  <div class="ttc" id="classSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00138">SVFG.h:138</a></div></div>
369
369
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
370
370
  <div class="ttc" id="classSVF_1_1MRGenerator_html_ac14c99ee6064fc9cf30120a83c78e702"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator::getModRefInfo</a></div><div class="ttdeci">ModRefInfo getModRefInfo(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00719">MemRegion.cpp:719</a></div></div>
@@ -459,7 +459,7 @@ Private Attributes</h2></td></tr>
459
459
  <div class="ttc" id="classSVF_1_1Options_html_a30cbb0b3633c769c92f4625680ec17e3"><div class="ttname"><a href="classSVF_1_1Options.html#a30cbb0b3633c769c92f4625680ec17e3">SVF::Options::AnderSVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; AnderSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00249">Options.h:249</a></div></div>
460
460
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">SVF::PointerAnalysis::AndersenWaveDiff_WPA</a></div><div class="ttdoc">Diff wave propagation andersen-style WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00072">PointerAnalysis.h:72</a></div></div>
461
461
  <div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00046">ICFG.h:46</a></div></div>
462
- <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
462
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
463
463
  <div class="ttc" id="classSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00138">SVFG.h:138</a></div></div>
464
464
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
465
465
  <div class="ttc" id="classSVF_1_1MRGenerator_html_ac14c99ee6064fc9cf30120a83c78e702"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator::getModRefInfo</a></div><div class="ttdeci">ModRefInfo getModRefInfo(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00719">MemRegion.cpp:719</a></div></div>
@@ -513,7 +513,7 @@ Private Attributes</h2></td></tr>
513
513
  <div class="ttc" id="classSVF_1_1Options_html_a30cbb0b3633c769c92f4625680ec17e3"><div class="ttname"><a href="classSVF_1_1Options.html#a30cbb0b3633c769c92f4625680ec17e3">SVF::Options::AnderSVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; AnderSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00249">Options.h:249</a></div></div>
514
514
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">SVF::PointerAnalysis::AndersenWaveDiff_WPA</a></div><div class="ttdoc">Diff wave propagation andersen-style WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00072">PointerAnalysis.h:72</a></div></div>
515
515
  <div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00046">ICFG.h:46</a></div></div>
516
- <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
516
+ <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
517
517
  <div class="ttc" id="classSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00138">SVFG.h:138</a></div></div>
518
518
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
519
519
  <div class="ttc" id="classSVF_1_1MRGenerator_html_ac14c99ee6064fc9cf30120a83c78e702"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac14c99ee6064fc9cf30120a83c78e702">SVF::MRGenerator::getModRefInfo</a></div><div class="ttdeci">ModRefInfo getModRefInfo(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00719">MemRegion.cpp:719</a></div></div>
@@ -361,7 +361,6 @@ $(function() {
361
361
  , <a class="el" href="classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c">SVF::EntryCHI&lt; Cond &gt;</a>
362
362
  , <a class="el" href="classSVF_1_1FormalParmVFGNode.html#ad8f56074e213d2e7dc1d22a1b0765f8c">SVF::FormalParmVFGNode</a>
363
363
  , <a class="el" href="classSVF_1_1FormalRetVFGNode.html#ae267daf3681188e6e74f656a73d21be3">SVF::FormalRetVFGNode</a>
364
- , <a class="el" href="classSVF_1_1FunExitICFGNode.html#adfcebc33f3c36b8145074d370dfa1cb9">SVF::FunExitICFGNode</a>
365
364
  , <a class="el" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">SVF::ICFGNode</a>
366
365
  , <a class="el" href="classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978">SVF::InterMSSAPHISVFGNode</a>
367
366
  , <a class="el" href="classSVF_1_1InterPHIVFGNode.html#a5aa8e8a10a5c30f2f4669c9190e18740">SVF::InterPHIVFGNode</a>
@@ -460,12 +459,12 @@ $(function() {
460
459
  <li>FunptrDDAClient()
461
460
  : <a class="el" href="classSVF_1_1FunptrDDAClient.html#a5aae3bed289371605ad831ae5a6ad6b5">SVF::FunptrDDAClient</a>
462
461
  </li>
463
- <li>FunPtrToCallSitesMap
464
- : <a class="el" href="classSVF_1_1SVFIR.html#ae0aab46dbf1e02d7ec6f754970f485f9">SVF::SVFIR</a>
465
- </li>
466
462
  <li>funPtrToCallSitesMap
467
463
  : <a class="el" href="classSVF_1_1SVFIR.html#af9c840e4b82fe9fd9493eabaa2b52bd5">SVF::SVFIR</a>
468
464
  </li>
465
+ <li>FunPtrToCallSitesMap
466
+ : <a class="el" href="classSVF_1_1SVFIR.html#ae0aab46dbf1e02d7ec6f754970f485f9">SVF::SVFIR</a>
467
+ </li>
469
468
  <li>FunRet
470
469
  : <a class="el" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ac8494021a71efb0f6df237ff12561c8d">SVF::VFGNode</a>
471
470
  </li>
@@ -484,24 +483,24 @@ $(function() {
484
483
  <li>FunToArgsListMap
485
484
  : <a class="el" href="classSVF_1_1SVFIR.html#a4541aa617c79f7922fe8e21c0f2b6b63">SVF::SVFIR</a>
486
485
  </li>
487
- <li>FunToCallGraphNodeMap
488
- : <a class="el" href="classSVF_1_1PTACallGraph.html#a049bc978a93f0db1fe91efb6feb22b14">SVF::PTACallGraph</a>
489
- </li>
490
486
  <li>funToCallGraphNodeMap
491
487
  : <a class="el" href="classSVF_1_1PTACallGraph.html#a97986d6e6732c78b04cc053f0e9d1367">SVF::PTACallGraph</a>
492
488
  </li>
493
- <li>FunToDTMap
494
- : <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#a69109de5fddf4042037bc6d66563a9e5">SVF::PTACFInfoBuilder</a>
489
+ <li>FunToCallGraphNodeMap
490
+ : <a class="el" href="classSVF_1_1PTACallGraph.html#a049bc978a93f0db1fe91efb6feb22b14">SVF::PTACallGraph</a>
495
491
  </li>
496
492
  <li>funToDTMap
497
493
  : <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#a99580fd5a2cc7185d26198c53efe422d">SVF::PTACFInfoBuilder</a>
498
494
  </li>
499
- <li>funToEntryChiSetMap
500
- : <a class="el" href="classSVF_1_1MemSSA.html#a59314f6ce17919574d687a08a38b55ec">SVF::MemSSA</a>
495
+ <li>FunToDTMap
496
+ : <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#a69109de5fddf4042037bc6d66563a9e5">SVF::PTACFInfoBuilder</a>
501
497
  </li>
502
498
  <li>FunToEntryChiSetMap
503
499
  : <a class="el" href="classSVF_1_1MemSSA.html#ac34aa1ac96600bfc27b3c2eb0b1510ca">SVF::MemSSA</a>
504
500
  </li>
501
+ <li>funToEntryChiSetMap
502
+ : <a class="el" href="classSVF_1_1MemSSA.html#a59314f6ce17919574d687a08a38b55ec">SVF::MemSSA</a>
503
+ </li>
505
504
  <li>funToExitBBsMap
506
505
  : <a class="el" href="classSVF_1_1PathCondAllocator.html#ad35f1bdb406a85c5bfdcbbc15642853b">SVF::PathCondAllocator</a>
507
506
  </li>
@@ -534,20 +533,22 @@ $(function() {
534
533
  </li>
535
534
  <li>FunToLoopInfoMap
536
535
  : <a class="el" href="classSVF_1_1MTA.html#a2473be56f2861ad101f65a65e02dff8d">SVF::MTA</a>
537
- , <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#ad76c187197c73fad8dd0c8bdb57b10f7">SVF::PTACFInfoBuilder</a>
538
536
  </li>
539
537
  <li>funToLoopInfoMap
540
538
  : <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#a155db92ff5057abcb929c0ca8e8bee89">SVF::PTACFInfoBuilder</a>
541
539
  </li>
540
+ <li>FunToLoopInfoMap
541
+ : <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#ad76c187197c73fad8dd0c8bdb57b10f7">SVF::PTACFInfoBuilder</a>
542
+ </li>
542
543
  <li>funToModsMap
543
544
  : <a class="el" href="classSVF_1_1MRGenerator.html#a2c94bfa19ad8d1d6360b12693c8b891d">SVF::MRGenerator</a>
544
545
  </li>
545
- <li>FunToMRsMap
546
- : <a class="el" href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b">SVF::MRGenerator</a>
547
- </li>
548
546
  <li>funToMRsMap
549
547
  : <a class="el" href="classSVF_1_1MRGenerator.html#a3e74c3706ffcc14f378771b417dcbb96">SVF::MRGenerator</a>
550
548
  </li>
549
+ <li>FunToMRsMap
550
+ : <a class="el" href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b">SVF::MRGenerator</a>
551
+ </li>
551
552
  <li>FunToNodeBSMap
552
553
  : <a class="el" href="classSVF_1_1MRGenerator.html#ab01e492f002c73e2c89eb0b4c8f9647d">SVF::MRGenerator</a>
553
554
  </li>
@@ -557,12 +558,12 @@ $(function() {
557
558
  <li>funToPDTMap
558
559
  : <a class="el" href="classSVF_1_1PTACFInfoBuilder.html#a11a1bb877406f45ea4c8f7c4678bfa15">SVF::PTACFInfoBuilder</a>
559
560
  </li>
560
- <li>FunToPointsToMap
561
- : <a class="el" href="classSVF_1_1MRGenerator.html#ad492e2940936fc7df06127f0cb94d47a">SVF::MRGenerator</a>
562
- </li>
563
561
  <li>funToPointsToMap
564
562
  : <a class="el" href="classSVF_1_1MRGenerator.html#a05c7a5ddbe3079f63be76c35298d1c2b">SVF::MRGenerator</a>
565
563
  </li>
564
+ <li>FunToPointsToMap
565
+ : <a class="el" href="classSVF_1_1MRGenerator.html#ad492e2940936fc7df06127f0cb94d47a">SVF::MRGenerator</a>
566
+ </li>
566
567
  <li>FunToPointsTosMap
567
568
  : <a class="el" href="classSVF_1_1MRGenerator.html#a6b8bbb60126105cc77c1a6a4c46677fd">SVF::MRGenerator</a>
568
569
  </li>
@@ -182,7 +182,6 @@ $(function() {
182
182
  , <a class="el" href="classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c">SVF::EntryCHI&lt; Cond &gt;</a>
183
183
  , <a class="el" href="classSVF_1_1FormalParmVFGNode.html#ad8f56074e213d2e7dc1d22a1b0765f8c">SVF::FormalParmVFGNode</a>
184
184
  , <a class="el" href="classSVF_1_1FormalRetVFGNode.html#ae267daf3681188e6e74f656a73d21be3">SVF::FormalRetVFGNode</a>
185
- , <a class="el" href="classSVF_1_1FunExitICFGNode.html#adfcebc33f3c36b8145074d370dfa1cb9">SVF::FunExitICFGNode</a>
186
185
  , <a class="el" href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">SVF::ICFGNode</a>
187
186
  , <a class="el" href="classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978">SVF::InterMSSAPHISVFGNode</a>
188
187
  , <a class="el" href="classSVF_1_1InterPHIVFGNode.html#a5aa8e8a10a5c30f2f4669c9190e18740">SVF::InterPHIVFGNode</a>
@@ -121,7 +121,7 @@ var searchData=
121
121
  ['fullreachable',['fullReachable',['../classSVF_1_1ProgSlice.html#a632db4b2e69848955925746ac721d94f',1,'SVF::ProgSlice']]],
122
122
  ['fullsvfg',['FULLSVFG',['../classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a5a28e6fd51e73e076091d4b6f4e61eaa',1,'SVF::VFG']]],
123
123
  ['fullsvfg_5fopt',['FULLSVFG_OPT',['../classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0',1,'SVF::VFG']]],
124
- ['fun',['fun',['../classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be',1,'SVF::ICFGNode::fun()'],['../classSVF_1_1FunExitICFGNode.html#adfcebc33f3c36b8145074d370dfa1cb9',1,'SVF::FunExitICFGNode::fun()'],['../classSVF_1_1PTACallGraphNode.html#a1453299fc45dc51d2c9842ff4de1b860',1,'SVF::PTACallGraphNode::fun()'],['../classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978',1,'SVF::InterMSSAPHISVFGNode::fun()'],['../classSVF_1_1FormalParmVFGNode.html#ad8f56074e213d2e7dc1d22a1b0765f8c',1,'SVF::FormalParmVFGNode::fun()'],['../classSVF_1_1FormalRetVFGNode.html#ae267daf3681188e6e74f656a73d21be3',1,'SVF::FormalRetVFGNode::fun()'],['../classSVF_1_1InterPHIVFGNode.html#a5aa8e8a10a5c30f2f4669c9190e18740',1,'SVF::InterPHIVFGNode::fun()'],['../classSVF_1_1RetMU.html#a4982f6fffac4f4775e27f994677a9f2c',1,'SVF::RetMU::fun()'],['../classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c',1,'SVF::EntryCHI::fun()'],['../classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623',1,'SVF::SVFFunction::fun()'],['../classSVF_1_1CxtProc.html#a70b6a2ae40bd7e4b08ddcb6d6b0289df',1,'SVF::CxtProc::fun()']]],
124
+ ['fun',['fun',['../classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be',1,'SVF::ICFGNode::fun()'],['../classSVF_1_1PTACallGraphNode.html#a1453299fc45dc51d2c9842ff4de1b860',1,'SVF::PTACallGraphNode::fun()'],['../classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978',1,'SVF::InterMSSAPHISVFGNode::fun()'],['../classSVF_1_1FormalParmVFGNode.html#ad8f56074e213d2e7dc1d22a1b0765f8c',1,'SVF::FormalParmVFGNode::fun()'],['../classSVF_1_1FormalRetVFGNode.html#ae267daf3681188e6e74f656a73d21be3',1,'SVF::FormalRetVFGNode::fun()'],['../classSVF_1_1InterPHIVFGNode.html#a5aa8e8a10a5c30f2f4669c9190e18740',1,'SVF::InterPHIVFGNode::fun()'],['../classSVF_1_1RetMU.html#a4982f6fffac4f4775e27f994677a9f2c',1,'SVF::RetMU::fun()'],['../classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c',1,'SVF::EntryCHI::fun()'],['../classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623',1,'SVF::SVFFunction::fun()'],['../classSVF_1_1CxtProc.html#a70b6a2ae40bd7e4b08ddcb6d6b0289df',1,'SVF::CxtProc::fun()']]],
125
125
  ['funargslistmap',['funArgsListMap',['../classSVF_1_1SVFIR.html#a864c465fbfdbbbdcc7fc8bbe26737903',1,'SVF::SVFIR']]],
126
126
  ['func2loopinfomap',['func2LoopInfoMap',['../classSVF_1_1MTA.html#a427ebcf1f00b601087e5b098c18cc29a',1,'SVF::MTA']]],
127
127
  ['func2scevmap',['func2ScevMap',['../classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5',1,'SVF::MTA']]],
@@ -35,7 +35,7 @@ var searchData=
35
35
  ['fstimelimit',['FsTimeLimit',['../classSVF_1_1Options.html#ad03c4697dd4da2b6adde112e3ee1884b',1,'SVF::Options']]],
36
36
  ['fulljoin',['fullJoin',['../classSVF_1_1ForkJoinAnalysis.html#a4193a30050195cd9aaafd58511b66ccc',1,'SVF::ForkJoinAnalysis']]],
37
37
  ['fullreachable',['fullReachable',['../classSVF_1_1ProgSlice.html#a632db4b2e69848955925746ac721d94f',1,'SVF::ProgSlice']]],
38
- ['fun',['fun',['../classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be',1,'SVF::ICFGNode::fun()'],['../classSVF_1_1FunExitICFGNode.html#adfcebc33f3c36b8145074d370dfa1cb9',1,'SVF::FunExitICFGNode::fun()'],['../classSVF_1_1PTACallGraphNode.html#a1453299fc45dc51d2c9842ff4de1b860',1,'SVF::PTACallGraphNode::fun()'],['../classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978',1,'SVF::InterMSSAPHISVFGNode::fun()'],['../classSVF_1_1FormalParmVFGNode.html#ad8f56074e213d2e7dc1d22a1b0765f8c',1,'SVF::FormalParmVFGNode::fun()'],['../classSVF_1_1FormalRetVFGNode.html#ae267daf3681188e6e74f656a73d21be3',1,'SVF::FormalRetVFGNode::fun()'],['../classSVF_1_1InterPHIVFGNode.html#a5aa8e8a10a5c30f2f4669c9190e18740',1,'SVF::InterPHIVFGNode::fun()'],['../classSVF_1_1RetMU.html#a4982f6fffac4f4775e27f994677a9f2c',1,'SVF::RetMU::fun()'],['../classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c',1,'SVF::EntryCHI::fun()'],['../classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623',1,'SVF::SVFFunction::fun()'],['../classSVF_1_1CxtProc.html#a70b6a2ae40bd7e4b08ddcb6d6b0289df',1,'SVF::CxtProc::fun()']]],
38
+ ['fun',['fun',['../classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be',1,'SVF::ICFGNode::fun()'],['../classSVF_1_1PTACallGraphNode.html#a1453299fc45dc51d2c9842ff4de1b860',1,'SVF::PTACallGraphNode::fun()'],['../classSVF_1_1InterMSSAPHISVFGNode.html#aa7ccd369a342e151e22062c92bf1f978',1,'SVF::InterMSSAPHISVFGNode::fun()'],['../classSVF_1_1FormalParmVFGNode.html#ad8f56074e213d2e7dc1d22a1b0765f8c',1,'SVF::FormalParmVFGNode::fun()'],['../classSVF_1_1FormalRetVFGNode.html#ae267daf3681188e6e74f656a73d21be3',1,'SVF::FormalRetVFGNode::fun()'],['../classSVF_1_1InterPHIVFGNode.html#a5aa8e8a10a5c30f2f4669c9190e18740',1,'SVF::InterPHIVFGNode::fun()'],['../classSVF_1_1RetMU.html#a4982f6fffac4f4775e27f994677a9f2c',1,'SVF::RetMU::fun()'],['../classSVF_1_1EntryCHI.html#afd2b2d4a7198f62467b4062740e5196c',1,'SVF::EntryCHI::fun()'],['../classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623',1,'SVF::SVFFunction::fun()'],['../classSVF_1_1CxtProc.html#a70b6a2ae40bd7e4b08ddcb6d6b0289df',1,'SVF::CxtProc::fun()']]],
39
39
  ['funargslistmap',['funArgsListMap',['../classSVF_1_1SVFIR.html#a864c465fbfdbbbdcc7fc8bbe26737903',1,'SVF::SVFIR']]],
40
40
  ['func2loopinfomap',['func2LoopInfoMap',['../classSVF_1_1MTA.html#a427ebcf1f00b601087e5b098c18cc29a',1,'SVF::MTA']]],
41
41
  ['func2scevmap',['func2ScevMap',['../classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5',1,'SVF::MTA']]],
@@ -309,7 +309,6 @@ class FunExitICFGNode : public InterICFGNode
309
309
  {
310
310
 
311
311
  private:
312
- const SVFFunction* fun;
313
312
  const SVFVar *formalRet;
314
313
  public:
315
314
  FunExitICFGNode(NodeID id, const SVFFunction* f);
@@ -47,7 +47,7 @@ FunEntryICFGNode::FunEntryICFGNode(NodeID id, const SVFFunction* f) : InterICFGN
47
47
  }
48
48
  }
49
49
 
50
- FunExitICFGNode::FunExitICFGNode(NodeID id, const SVFFunction* f) : InterICFGNode(id, FunExitBlock), fun(f), formalRet(nullptr)
50
+ FunExitICFGNode::FunExitICFGNode(NodeID id, const SVFFunction* f) : InterICFGNode(id, FunExitBlock), formalRet(nullptr)
51
51
  {
52
52
  fun = f;
53
53
  // if function is implemented
@@ -603,11 +603,8 @@ void SymbolTableBuilder::initTypeInfo(ObjTypeInfo* typeinfo, const Value* val){
603
603
  analyzeObjType(typeinfo,val);
604
604
  /// This is for `alloca <ty> <NumElements>`. For example, `alloca i64 3` allocates 3 i64 on the stack (objSize=3)
605
605
  /// In most cases, `NumElements` is not specified in the instruction, which means there is only one element (objSize=1).
606
- if(const ConstantInt *sz = SVFUtil::dyn_cast<ConstantInt>(allocaInst->getArraySize())){
606
+ if(const ConstantInt *sz = SVFUtil::dyn_cast<ConstantInt>(allocaInst->getArraySize()))
607
607
  objSize = sz->getZExtValue() * getObjSize(typeinfo->getType());
608
- if(sz->getZExtValue() > 1)
609
- typeinfo->setFlag(ObjTypeInfo::VAR_ARRAY_OBJ);
610
- }
611
608
  else
612
609
  objSize = getObjSize(typeinfo->getType());
613
610
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.433",
3
+ "version": "1.0.436",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {