svf-tools 1.0.891 → 1.0.892

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +451 -450
  2. package/SVF-doxygen/html/AbstractExecution_8h_source.html +11 -11
  3. package/SVF-doxygen/html/AccessPath_8cpp_source.html +150 -147
  4. package/SVF-doxygen/html/AccessPath_8h_source.html +6 -6
  5. package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +426 -425
  7. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +2 -2
  8. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/CppUtil_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  12. package/SVF-doxygen/html/DCHG_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/DDAClient_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +43 -44
  15. package/SVF-doxygen/html/ICFGWTO_8h_source.html +4 -4
  16. package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +6 -6
  18. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +575 -577
  19. package/SVF-doxygen/html/LLVMUtil_8h_source.html +21 -21
  20. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/ObjTypeInference_8cpp.html +1 -1
  24. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +828 -827
  27. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +20 -20
  28. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +5 -5
  29. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/SVFStatements_8h_source.html +1 -1
  31. package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
  33. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +5 -5
  36. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/WTO_8h.html +1 -0
  38. package/SVF-doxygen/html/WTO_8h_source.html +812 -811
  39. package/SVF-doxygen/html/ae_8cpp.html +46 -47
  40. package/SVF-doxygen/html/ae_8cpp_source.html +46 -47
  41. package/SVF-doxygen/html/classSVF_1_1AEAPI.html +432 -431
  42. package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +22 -22
  43. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +136 -133
  44. package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  45. package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  46. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  47. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
  48. package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
  49. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
  50. package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  51. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
  52. package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI.html +82 -81
  53. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +1 -1
  54. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
  55. package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
  56. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
  57. package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
  58. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
  59. package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
  60. package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
  61. package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
  62. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +1 -1
  63. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  64. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  65. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
  66. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
  67. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +2 -2
  68. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  69. package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
  70. package/SVF-doxygen/html/classSVF_1_1ICFGSimplification.html +43 -44
  71. package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  72. package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  73. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
  74. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
  75. package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  76. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +6 -6
  77. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +1 -1
  78. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
  79. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  80. package/SVF-doxygen/html/classSVF_1_1MHP.html +1 -1
  81. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  82. package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
  83. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
  84. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +3 -3
  85. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
  86. package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
  87. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
  88. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
  89. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
  90. package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
  91. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +792 -791
  92. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +5 -5
  93. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
  94. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
  95. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +1 -1
  96. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
  97. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  98. package/SVF-doxygen/html/classSVF_1_1TCT.html +1 -1
  99. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
  100. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
  101. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
  102. package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  103. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  104. package/SVF-doxygen/html/classSVF_1_1WTO.html +253 -253
  105. package/SVF-doxygen/html/classSVF_1_1WTOComponent.html +21 -21
  106. package/SVF-doxygen/html/classSVF_1_1WTOComponentVisitor.html +3 -3
  107. package/SVF-doxygen/html/classSVF_1_1WTOCycle.html +61 -61
  108. package/SVF-doxygen/html/classSVF_1_1WTOCycleDepth.html +115 -115
  109. package/SVF-doxygen/html/classSVF_1_1WTONode.html +31 -31
  110. package/SVF-doxygen/html/classSVF_1_1WTO_1_1WTOCycleDepthBuilder.html +31 -31
  111. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +503 -505
  112. package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +2 -2
  113. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  114. package/SVF-doxygen/html/structSVF_1_1has__edgetype.html +1 -1
  115. package/SVF-doxygen/html/structSVF_1_1has__edgetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1EdgeType_01_4_01_4.html +1 -1
  116. package/SVF-doxygen/html/structSVF_1_1has__nodetype.html +1 -1
  117. package/SVF-doxygen/html/structSVF_1_1has__nodetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1NodeType_01_4_01_4.html +1 -1
  118. package/SVF-doxygen/html/svf-ex_8cpp.html +12 -12
  119. package/SVF-doxygen/html/svf-ex_8cpp_source.html +12 -12
  120. package/package.json +1 -1
  121. package/svf/include/Graphs/WTO.h +1 -0
  122. package/svf/lib/AE/Svfexe/AbstractExecution.cpp +1 -0
  123. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +1 -0
  124. package/svf/lib/AE/Svfexe/ICFGSimplification.cpp +1 -2
  125. package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +1 -0
  126. package/svf/lib/MemoryModel/AccessPath.cpp +4 -1
  127. package/svf-llvm/lib/LLVMUtil.cpp +1 -2
  128. package/svf-llvm/lib/SVFIRBuilder.cpp +1 -1
  129. package/svf-llvm/tools/AE/ae.cpp +1 -2
@@ -680,7 +680,7 @@ Additional Inherited Members</h2></td></tr>
680
680
  <div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
681
681
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
682
682
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffaabe491b0a744825250b97f407962c4a6"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffaabe491b0a744825250b97f407962c4a6">SVF::SVFVar::FIObjNode</a></div><div class="ttdeci">@ FIObjNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00071">SVFVariables.h:71</a></div></div>
683
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
683
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
684
684
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_aa72b0f34a0b646751a7b2003d6b9f11e"><div class="ttname"><a href="classSVF_1_1SVFVar.html#aa72b0f34a0b646751a7b2003d6b9f11e">SVF::SVFVar::value</a></div><div class="ttdeci">const SVFValue * value</div><div class="ttdoc">value of this SVFIR node</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00078">SVFVariables.h:78</a></div></div>
685
685
  <div class="ttc" id="aclassSVF_1_1ObjVar_html_a0678067a37d44e8655236454aee9eee0"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a0678067a37d44e8655236454aee9eee0">SVF::ObjVar::ObjVar</a></div><div class="ttdeci">ObjVar(NodeID i, PNODEK ty=ObjNode)</div><div class="ttdoc">Constructor to create an empty ObjVar (for SVFIRReader/deserialization)</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00323">SVFVariables.h:323</a></div></div>
686
686
  <!-- start footer part -->
@@ -2622,7 +2622,7 @@ Private Attributes</h2></td></tr>
2622
2622
  <div class="ttc" id="aclassSVF_1_1TCT_html_ab4bc72ca330b315df06f2d4d2c1a7b4f"><div class="ttname"><a href="classSVF_1_1TCT.html#ab4bc72ca330b315df06f2d4d2c1a7b4f">SVF::TCT::getCxtOfCxtThread</a></div><div class="ttdeci">const CallStrCxt &amp; getCxtOfCxtThread(const CxtThread &amp;ct) const</div><div class="ttdoc">get the context of a thread at its spawning site (fork site)</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00342">TCT.h:342</a></div></div>
2623
2623
  <div class="ttc" id="aclassSVF_1_1ForkJoinAnalysis_html_ac95b1600aa524c3e607eebcf9d50df0e"><div class="ttname"><a href="classSVF_1_1ForkJoinAnalysis.html#ac95b1600aa524c3e607eebcf9d50df0e">SVF::ForkJoinAnalysis::matchCxt</a></div><div class="ttdeci">bool matchCxt(CallStrCxt &amp;cxt, const SVFInstruction *call, const SVFFunction *callee)</div><div class="ttdoc">Match context.</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00479">MHP.h:479</a></div></div>
2624
2624
  <div class="ttc" id="aclassSVF_1_1TCT_html_a7b4ad0b052e1f8b6869733eef15f4e4d"><div class="ttname"><a href="classSVF_1_1TCT.html#a7b4ad0b052e1f8b6869733eef15f4e4d">SVF::TCT::getTCTNode</a></div><div class="ttdeci">TCTNode * getTCTNode(NodeID id) const</div><div class="ttdoc">Get TCT node.</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00192">TCT.h:192</a></div></div>
2625
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
2625
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
2626
2626
  <div class="ttc" id="aclassSVF_1_1ForkJoinAnalysis_html_a2be89ac78712da78c215a33b3157ecd1"><div class="ttname"><a href="classSVF_1_1ForkJoinAnalysis.html#a2be89ac78712da78c215a33b3157ecd1">SVF::ForkJoinAnalysis::addSymmetricLoopJoin</a></div><div class="ttdeci">void addSymmetricLoopJoin(const CxtStmt &amp;cs, LoopBBs &amp;lp)</div><div class="ttdoc">Add inloop join.</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00547">MHP.h:547</a></div></div>
2627
2627
  <div class="ttc" id="aclassSVF_1_1TCT_html_a4faeacaa7aa38cf5b61404278b93a91f"><div class="ttname"><a href="classSVF_1_1TCT.html#a4faeacaa7aa38cf5b61404278b93a91f">SVF::TCT::getJoinLoop</a></div><div class="ttdeci">LoopBBs &amp; getJoinLoop(const SVFInstruction *join)</div><div class="ttdoc">Get loop for join site.</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00358">TCT.h:358</a></div></div>
2628
2628
  <div class="ttc" id="aclassSVF_1_1ForkJoinAnalysis_html_acccf53d174cac3275da0d79c89a73916"><div class="ttname"><a href="classSVF_1_1ForkJoinAnalysis.html#acccf53d174cac3275da0d79c89a73916">SVF::ForkJoinAnalysis::cxtStmtList</a></div><div class="ttdeci">CxtStmtWorkList cxtStmtList</div><div class="ttdoc">context-sensitive statement worklist</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00553">MHP.h:553</a></div></div>
@@ -885,7 +885,7 @@ Additional Inherited Members</h2></td></tr>
885
885
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffaf3364b22f497146f06d1f4175a839f4f"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffaf3364b22f497146f06d1f4175a839f4f">SVF::SVFVar::GepObjNode</a></div><div class="ttdeci">@ GepObjNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00070">SVFVariables.h:70</a></div></div>
886
886
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a2f70e9c830b18f25c56b530722f106c4"><div class="ttname"><a href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">SVF::MemObj::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get the reference value to this object.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00406">SymbolTableInfo.h:406</a></div></div>
887
887
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a806ae865d29c4b05b69c499284758c6f"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a806ae865d29c4b05b69c499284758c6f">SVF::SymbolTableInfo::getFlatternedElemType</a></div><div class="ttdeci">const SVFType * getFlatternedElemType(const SVFType *baseType, u32_t flatten_idx)</div><div class="ttdoc">Return the type of a flattened element given a flattened index.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00211">SymbolTableInfo.cpp:211</a></div></div>
888
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
888
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
889
889
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_aa72b0f34a0b646751a7b2003d6b9f11e"><div class="ttname"><a href="classSVF_1_1SVFVar.html#aa72b0f34a0b646751a7b2003d6b9f11e">SVF::SVFVar::value</a></div><div class="ttdeci">const SVFValue * value</div><div class="ttdoc">value of this SVFIR node</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00078">SVFVariables.h:78</a></div></div>
890
890
  <div class="ttc" id="aclassSVF_1_1ObjVar_html_a0678067a37d44e8655236454aee9eee0"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a0678067a37d44e8655236454aee9eee0">SVF::ObjVar::ObjVar</a></div><div class="ttdeci">ObjVar(NodeID i, PNODEK ty=ObjNode)</div><div class="ttdoc">Constructor to create an empty ObjVar (for SVFIRReader/deserialization)</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00323">SVFVariables.h:323</a></div></div>
891
891
  <div class="ttc" id="aclassSVF_1_1GepObjVar_html_afb30992a958c591b6afcacdf35c552b5"><div class="ttname"><a href="classSVF_1_1GepObjVar.html#afb30992a958c591b6afcacdf35c552b5">SVF::GepObjVar::apOffset</a></div><div class="ttdeci">APOffset apOffset</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00454">SVFVariables.h:454</a></div></div>
@@ -915,11 +915,11 @@ Additional Inherited Members</h2></td></tr>
915
915
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
916
916
  <div class="ttc" id="aclassSVF_1_1GepStmt_html_a6c74f234a6b40bc5292bb14874c2e600"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">SVF::GepStmt::getAccessPath</a></div><div class="ttdeci">const AccessPath &amp; getAccessPath() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00504">SVFStatements.h:504</a></div></div>
917
917
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_abc65520cc2b9608c97374829eb475c57"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#abc65520cc2b9608c97374829eb475c57">SVF::AssignStmt::AssignStmt</a></div><div class="ttdeci">AssignStmt()</div><div class="ttdoc">place holder</div></div>
918
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae746362c42da05a641ae062658e40651"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">SVF::AccessPath::computeConstantOffset</a></div><div class="ttdeci">APOffset computeConstantOffset() const</div><div class="ttdoc">For example,.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00209">AccessPath.cpp:209</a></div></div>
918
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae746362c42da05a641ae062658e40651"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">SVF::AccessPath::computeConstantOffset</a></div><div class="ttdeci">APOffset computeConstantOffset() const</div><div class="ttdoc">For example,.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00212">AccessPath.cpp:212</a></div></div>
919
919
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a586c71842e3e4487921aa3384ce9d025"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">SVF::AccessPath::getIdxOperandPairVec</a></div><div class="ttdeci">const IdxOperandPairs &amp; getIdxOperandPairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00108">AccessPath.h:108</a></div></div>
920
920
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html_abb784290c90d26f35897fa15bae277d2"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#abb784290c90d26f35897fa15bae277d2">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00147">SVFStatements.h:147</a></div></div>
921
921
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a403312192a96a9fd5e7d071481592a7f"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">SVF::AccessPath::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00049">AccessPath.cpp:49</a></div></div>
922
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
922
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
923
923
  <div class="ttc" id="aclassSVF_1_1GepStmt_html_ad7cfa816936d38d1d022e2cfdb1c7c44"><div class="ttname"><a href="classSVF_1_1GepStmt.html#ad7cfa816936d38d1d022e2cfdb1c7c44">SVF::GepStmt::ap</a></div><div class="ttdeci">AccessPath ap</div><div class="ttdoc">Access path of the GEP edge.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00485">SVFStatements.h:485</a></div></div>
924
924
  <div class="ttc" id="aclassSVF_1_1GepStmt_html_af8eefbd002ec36f36612b8e9ccdbc757"><div class="ttname"><a href="classSVF_1_1GepStmt.html#af8eefbd002ec36f36612b8e9ccdbc757">SVF::GepStmt::variantField</a></div><div class="ttdeci">bool variantField</div><div class="ttdoc">Gep statement with a variant field index (pointer arithmetic) for struct field access (e....</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00486">SVFStatements.h:486</a></div></div>
925
925
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00302">SVFStatements.h:302</a></div></div>
@@ -793,7 +793,7 @@ Additional Inherited Members</h2></td></tr>
793
793
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
794
794
  <div class="ttc" id="aclassSVF_1_1GepValVar_html_a4aa450bce36b4b9f65b769eae649771a"><div class="ttname"><a href="classSVF_1_1GepValVar.html#a4aa450bce36b4b9f65b769eae649771a">SVF::GepValVar::gepValType</a></div><div class="ttdeci">const SVFType * gepValType</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00387">SVFVariables.h:387</a></div></div>
795
795
  <div class="ttc" id="aclassSVF_1_1GepValVar_html_ada19ed60cb6623867b00b0f59cf0453a"><div class="ttname"><a href="classSVF_1_1GepValVar.html#ada19ed60cb6623867b00b0f59cf0453a">SVF::GepValVar::getConstantFieldIdx</a></div><div class="ttdeci">APOffset getConstantFieldIdx() const</div><div class="ttdoc">offset of the base value variable</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00421">SVFVariables.h:421</a></div></div>
796
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
796
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
797
797
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_aa72b0f34a0b646751a7b2003d6b9f11e"><div class="ttname"><a href="classSVF_1_1SVFVar.html#aa72b0f34a0b646751a7b2003d6b9f11e">SVF::SVFVar::value</a></div><div class="ttdeci">const SVFValue * value</div><div class="ttdoc">value of this SVFIR node</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00078">SVFVariables.h:78</a></div></div>
798
798
  <div class="ttc" id="aclassSVF_1_1GepValVar_html_a07b41362e4699c930af7bbe178e0b252"><div class="ttname"><a href="classSVF_1_1GepValVar.html#a07b41362e4699c930af7bbe178e0b252">SVF::GepValVar::ap</a></div><div class="ttdeci">AccessPath ap</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00386">SVFVariables.h:386</a></div></div>
799
799
  <div class="ttc" id="aclassSVF_1_1ValVar_html_a5c097c0686df4897325bbdbb4067d6e5"><div class="ttname"><a href="classSVF_1_1ValVar.html#a5c097c0686df4897325bbdbb4067d6e5">SVF::ValVar::ValVar</a></div><div class="ttdeci">ValVar(NodeID i, PNODEK ty=ValNode)</div><div class="ttdoc">Constructor to create an empty ValVar (for SVFIRReader/deserialization)</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00269">SVFVariables.h:269</a></div></div>
@@ -2836,7 +2836,7 @@ Additional Inherited Members</h2></td></tr>
2836
2836
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
2837
2837
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00414">GenericGraph.h:414</a></div></div>
2838
2838
  <div class="ttc" id="aclassSVF_1_1ICFG_html_ac51c8f38efbd2576e150a9fc26a4a41b"><div class="ttname"><a href="classSVF_1_1ICFG.html#ac51c8f38efbd2576e150a9fc26a4a41b">SVF::ICFG::addCallBlock</a></div><div class="ttdeci">CallICFGNode * addCallBlock(const SVFInstruction *cs)</div><div class="ttdoc">Get/Add a call node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00315">ICFG.h:315</a></div></div>
2839
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
2839
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
2840
2840
  <div class="ttc" id="aclassSVF_1_1FunExitICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html">SVF::FunExitICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00324">ICFGNode.h:324</a></div></div>
2841
2841
  <div class="ttc" id="aclassSVF_1_1GraphPrinter_html_a014217fb0d05c8f2a2f1a6c5b19d3e10"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">SVF::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(SVF::OutStream &amp;O, const std::string &amp;GraphName, const GraphType &amp;GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00056">GraphPrinter.h:56</a></div></div>
2842
2842
  <div class="ttc" id="aclassSVF_1_1ICFG_html_aa662baae5682ef6ec5084fa4147c9709"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">SVF::ICFG::hasIntraICFGEdge</a></div><div class="ttdeci">ICFGEdge * hasIntraICFGEdge(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00291">ICFG.cpp:291</a></div></div>
@@ -257,50 +257,49 @@ Static Public Member Functions</h2></td></tr>
257
257
  <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="comment">// merge the following nodes, until the next subnode</span></div>
258
258
  <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">while</span> (subNodes.find(<a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>) == subNodes.end())</div>
259
259
  <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div>
260
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; ICFGNode* rep_next = <span class="keyword">const_cast&lt;</span>ICFGNode*<span class="keyword">&gt;</span>(icfg-&gt;getRepNode(<a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>));</div>
261
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; assert(rep_next != head &amp;&amp; <span class="stringliteral">&quot;should not find a circle here&quot;</span>);</div>
262
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; icfg-&gt;removeICFGEdge(*head-&gt;getOutEdges().begin());</div>
263
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; std::vector&lt;ICFGEdge*&gt; rm_edges;</div>
264
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// Step 1: merge the out edges of next to head</span></div>
265
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">for</span> (ICFGEdge* outEdge: <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>-&gt;getOutEdges())</div>
266
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div>
267
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; rm_edges.push_back(outEdge);</div>
268
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; ICFGNode* post = outEdge-&gt;getDstNode();</div>
269
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">if</span> (outEdge-&gt;isIntraCFGEdge())</div>
270
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
271
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; IntraCFGEdge* intraEdge = SVFUtil::dyn_cast&lt;IntraCFGEdge&gt;(outEdge);</div>
272
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (intraEdge-&gt;getCondition())</div>
273
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div>
274
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; icfg-&gt;addConditionalIntraEdge(head, post, intraEdge-&gt;getCondition(), intraEdge-&gt;getSuccessorCondValue());</div>
275
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div>
276
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">else</span></div>
277
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div>
278
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; icfg-&gt;addIntraEdge(head, post);</div>
279
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div>
280
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div>
281
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div>
282
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="comment">// Step 2: update the sub node map and rep node map</span></div>
283
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; icfg-&gt;updateSubAndRep(<a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>, head);</div>
284
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>-&gt;getOutEdges().size() == 1)</div>
285
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {</div>
286
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="comment">// Step 3: remove the edges from next to its next, since next has been merged to head</span></div>
287
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">// if only one out edge, we may continue to merge the next node if it is not a subnode</span></div>
288
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> = (*<a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>-&gt;getOutEdges().begin())-&gt;getDstNode();</div>
289
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">for</span> (ICFGEdge* edge: rm_edges)</div>
290
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; icfg-&gt;removeICFGEdge(edge);</div>
291
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
292
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div>
293
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">else</span></div>
294
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div>
295
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// if more than one out edges, we don&#39;t merge any following nodes.</span></div>
296
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">for</span> (ICFGEdge* edge: rm_edges)</div>
297
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; icfg-&gt;removeICFGEdge(edge);</div>
298
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">break</span>;</div>
299
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
300
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</div>
301
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
302
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div>
303
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;}</div>
260
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; assert(icfg-&gt;getRepNode(<a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>) != head &amp;&amp; <span class="stringliteral">&quot;should not find a circle here&quot;</span>);</div>
261
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; icfg-&gt;removeICFGEdge(*head-&gt;getOutEdges().begin());</div>
262
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; std::vector&lt;ICFGEdge*&gt; rm_edges;</div>
263
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">// Step 1: merge the out edges of next to head</span></div>
264
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">for</span> (ICFGEdge* outEdge: <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>-&gt;getOutEdges())</div>
265
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
266
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; rm_edges.push_back(outEdge);</div>
267
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; ICFGNode* post = outEdge-&gt;getDstNode();</div>
268
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">if</span> (outEdge-&gt;isIntraCFGEdge())</div>
269
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; {</div>
270
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; IntraCFGEdge* intraEdge = SVFUtil::dyn_cast&lt;IntraCFGEdge&gt;(outEdge);</div>
271
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">if</span> (intraEdge-&gt;getCondition())</div>
272
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; {</div>
273
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; icfg-&gt;addConditionalIntraEdge(head, post, intraEdge-&gt;getCondition(), intraEdge-&gt;getSuccessorCondValue());</div>
274
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div>
275
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">else</span></div>
276
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div>
277
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; icfg-&gt;addIntraEdge(head, post);</div>
278
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div>
279
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div>
280
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div>
281
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="comment">// Step 2: update the sub node map and rep node map</span></div>
282
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; icfg-&gt;updateSubAndRep(<a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>, head);</div>
283
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>-&gt;getOutEdges().size() == 1)</div>
284
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div>
285
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="comment">// Step 3: remove the edges from next to its next, since next has been merged to head</span></div>
286
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="comment">// if only one out edge, we may continue to merge the next node if it is not a subnode</span></div>
287
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a> = (*<a class="code" href="cJSON_8cpp.html#a2599f74bdbbc1b3fd1ba8db3789a0be7">next</a>-&gt;getOutEdges().begin())-&gt;getDstNode();</div>
288
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">for</span> (ICFGEdge* edge: rm_edges)</div>
289
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; icfg-&gt;removeICFGEdge(edge);</div>
290
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
291
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
292
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">else</span></div>
293
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div>
294
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="comment">// if more than one out edges, we don&#39;t merge any following nodes.</span></div>
295
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">for</span> (ICFGEdge* edge: rm_edges)</div>
296
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; icfg-&gt;removeICFGEdge(edge);</div>
297
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">break</span>;</div>
298
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div>
299
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
300
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</div>
301
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
302
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;}</div>
304
303
  </div><!-- fragment -->
305
304
  </div>
306
305
  </div>
@@ -809,7 +809,7 @@ Additional Inherited Members</h2></td></tr>
809
809
  <div class="ttc" id="aclassSVF_1_1InterMSSAPHISVFGNode_html_a47d870a6c0f515139b1950e8985dc2d1"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a47d870a6c0f515139b1950e8985dc2d1">SVF::InterMSSAPHISVFGNode::isFormalINPHI</a></div><div class="ttdeci">bool isFormalINPHI() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00413">SVFGNode.h:413</a></div></div>
810
810
  <div class="ttc" id="aclassSVF_1_1InterMSSAPHISVFGNode_html_aac74080dd5078d31d6f43edc2caf3c08"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#aac74080dd5078d31d6f43edc2caf3c08">SVF::InterMSSAPHISVFGNode::callInst</a></div><div class="ttdeci">const CallICFGNode * callInst</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00463">SVFGNode.h:463</a></div></div>
811
811
  <div class="ttc" id="aclassSVF_1_1InterMSSAPHISVFGNode_html_a4fef6f5eaeed80f1555b4cdaa2af5301"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html#a4fef6f5eaeed80f1555b4cdaa2af5301">SVF::InterMSSAPHISVFGNode::isActualOUTPHI</a></div><div class="ttdeci">bool isActualOUTPHI() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00418">SVFGNode.h:418</a></div></div>
812
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
812
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
813
813
  <div class="ttc" id="aclassSVF_1_1MSSAPHISVFGNode_html_aec8a372f9024af27a87c5b43e4dc633d"><div class="ttname"><a href="classSVF_1_1MSSAPHISVFGNode.html#aec8a372f9024af27a87c5b43e4dc633d">SVF::MSSAPHISVFGNode::MSSAPHISVFGNode</a></div><div class="ttdeci">MSSAPHISVFGNode(NodeID id, const MRVer *resVer, VFGNodeK k=MPhi)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00287">SVFGNode.h:287</a></div></div>
814
814
  <!-- start footer part -->
815
815
  <hr class="footer"/><address class="footer"><small>
@@ -753,7 +753,7 @@ Additional Inherited Members</h2></td></tr>
753
753
  <div class="ttc" id="aclassSVF_1_1InterPHIVFGNode_html_a6a8b370c8de218abf89cf00a72d3cd0c"><div class="ttname"><a href="classSVF_1_1InterPHIVFGNode.html#a6a8b370c8de218abf89cf00a72d3cd0c">SVF::InterPHIVFGNode::callInst</a></div><div class="ttdeci">const CallICFGNode * callInst</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01146">VFGNode.h:1146</a></div></div>
754
754
  <div class="ttc" id="aclassSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75aa501e9891cbacea3950d80aa6071ec69"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75aa501e9891cbacea3950d80aa6071ec69">SVF::VFGNode::TInterPhi</a></div><div class="ttdeci">@ TInterPhi</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00054">VFGNode.h:54</a></div></div>
755
755
  <div class="ttc" id="aclassSVF_1_1InterPHIVFGNode_html_a5aa8e8a10a5c30f2f4669c9190e18740"><div class="ttname"><a href="classSVF_1_1InterPHIVFGNode.html#a5aa8e8a10a5c30f2f4669c9190e18740">SVF::InterPHIVFGNode::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01145">VFGNode.h:1145</a></div></div>
756
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
756
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
757
757
  <div class="ttc" id="aclassSVF_1_1InterPHIVFGNode_html_aacfd7f1e99e246283191f41d44567ed4"><div class="ttname"><a href="classSVF_1_1InterPHIVFGNode.html#aacfd7f1e99e246283191f41d44567ed4">SVF::InterPHIVFGNode::isActualRetPHI</a></div><div class="ttdeci">bool isActualRetPHI() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01105">VFGNode.h:1105</a></div></div>
758
758
  <!-- start footer part -->
759
759
  <hr class="footer"/><address class="footer"><small>
@@ -596,7 +596,7 @@ Additional Inherited Members</h2></td></tr>
596
596
  <div class="ttc" id="aclassSVF_1_1IntraCFGEdge_html_a2657751b285cb6db8084da38b00dcab9"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html#a2657751b285cb6db8084da38b00dcab9">SVF::IntraCFGEdge::getCondition</a></div><div class="ttdeci">const SVFValue * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00140">ICFGEdge.h:140</a></div></div>
597
597
  <div class="ttc" id="aclassSVF_1_1IntraCFGEdge_html_a4c6975e82794958aecb2013c0941777d"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html#a4c6975e82794958aecb2013c0941777d">SVF::IntraCFGEdge::conditionVar</a></div><div class="ttdeci">const SVFValue * conditionVar</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00169">ICFGEdge.h:169</a></div></div>
598
598
  <div class="ttc" id="aclassSVF_1_1IntraCFGEdge_html_a8ba42f12f31c5f7ff633f60856f973b3"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html#a8ba42f12f31c5f7ff633f60856f973b3">SVF::IntraCFGEdge::branchCondVal</a></div><div class="ttdeci">s64_t branchCondVal</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00170">ICFGEdge.h:170</a></div></div>
599
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
599
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
600
600
  <div class="ttc" id="aclassSVF_1_1IntraCFGEdge_html_a106513578790247f9d96e34c8385b3d8"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html#a106513578790247f9d96e34c8385b3d8">SVF::IntraCFGEdge::getSuccessorCondValue</a></div><div class="ttdeci">s64_t getSuccessorCondValue() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00145">ICFGEdge.h:145</a></div></div>
601
601
  <div class="ttc" id="aclassSVF_1_1ICFGEdge_html_a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">SVF::ICFGEdge::IntraCF</a></div><div class="ttdeci">@ IntraCF</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00055">ICFGEdge.h:55</a></div></div>
602
602
  <div class="ttc" id="aclassSVF_1_1ICFGEdge_html_a9b8f369727bd03106bafacd4eee3dd04"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#a9b8f369727bd03106bafacd4eee3dd04">SVF::ICFGEdge::ICFGEdge</a></div><div class="ttdeci">ICFGEdge(ICFGNode *s, ICFGNode *d, GEdgeFlag k)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00064">ICFGEdge.h:64</a></div></div>
@@ -599,7 +599,7 @@ Additional Inherited Members</h2></td></tr>
599
599
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
600
600
  <div class="ttc" id="aclassSVF_1_1ICFGNode_html_ae526280cca2d6cbb2868c80461bc16da"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ae526280cca2d6cbb2868c80461bc16da">SVF::ICFGNode::getFun</a></div><div class="ttdeci">virtual const SVFFunction * getFun() const</div><div class="ttdoc">Return the function of this ICFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00086">ICFGNode.h:86</a></div></div>
601
601
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00051">SVFStatements.h:51</a></div></div>
602
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
602
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
603
603
  <div class="ttc" id="aclassSVF_1_1ICFGNode_html_a03587dbd558d8fffe25307b42e3195be"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a03587dbd558d8fffe25307b42e3195be">SVF::ICFGNode::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00138">ICFGNode.h:138</a></div></div>
604
604
  <div class="ttc" id="aclassSVF_1_1IntraICFGNode_html_aee81d1ab3eb9584b34efbe1f821371b7"><div class="ttname"><a href="classSVF_1_1IntraICFGNode.html#aee81d1ab3eb9584b34efbe1f821371b7">SVF::IntraICFGNode::getInst</a></div><div class="ttdeci">const SVFInstruction * getInst() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00197">ICFGNode.h:197</a></div></div>
605
605
  <div class="ttc" id="aclassSVF_1_1SVFInstruction_html_ae009f41cbf48d949d4325e08fe8d7198"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">SVF::SVFInstruction::getParent</a></div><div class="ttdeci">const SVFBasicBlock * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00658">SVFValue.h:658</a></div></div>
@@ -667,7 +667,7 @@ Additional Inherited Members</h2></td></tr>
667
667
  <div class="ttc" id="aclassSVF_1_1PHIVFGNode_html_a513b2636967a86902f4243dc0d2e0e3f"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html#a513b2636967a86902f4243dc0d2e0e3f">SVF::PHIVFGNode::res</a></div><div class="ttdeci">const PAGNode * res</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00641">VFGNode.h:641</a></div></div>
668
668
  <div class="ttc" id="aclassSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75a3d97c6d57d8d2e7387715f4eb719f727"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a3d97c6d57d8d2e7387715f4eb719f727">SVF::VFGNode::TIntraPhi</a></div><div class="ttdeci">@ TIntraPhi</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00054">VFGNode.h:54</a></div></div>
669
669
  <div class="ttc" id="aclassSVF_1_1PHIVFGNode_html_add18c60773871744123d12a037e78e20"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html#add18c60773871744123d12a037e78e20">SVF::PHIVFGNode::opVerEnd</a></div><div class="ttdeci">OPVers::const_iterator opVerEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00678">VFGNode.h:678</a></div></div>
670
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
670
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
671
671
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00112">SVFVariables.h:112</a></div></div>
672
672
  <div class="ttc" id="aclassSVF_1_1PHIVFGNode_html_a08ccd55d0fb6ce33f69959349008daca"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html#a08ccd55d0fb6ce33f69959349008daca">SVF::PHIVFGNode::opVers</a></div><div class="ttdeci">OPVers opVers</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00642">VFGNode.h:642</a></div></div>
673
673
  <!-- start footer part -->
@@ -4594,8 +4594,8 @@ Friends</h2></td></tr>
4594
4594
  <div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a374e7c0b161a77f4d693e13b99ed6283"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a374e7c0b161a77f4d693e13b99ed6283">SVF::cppUtil::getVCallVtblPtr</a></div><div class="ttdeci">const Value * getVCallVtblPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00472">CppUtil.cpp:472</a></div></div>
4595
4595
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae265a7f3cc7367d62013e0f15cf3d233"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae265a7f3cc7367d62013e0f15cf3d233">SVF::LLVMModuleSet::getModuleNum</a></div><div class="ttdeci">u32_t getModuleNum() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00131">LLVMModule.h:131</a></div></div>
4596
4596
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_aaab03cb6ff665bc008c67b866ba81e47"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aaab03cb6ff665bc008c67b866ba81e47">SVF::LLVMModuleSet::buildGlobalDefToRepMap</a></div><div class="ttdeci">void buildGlobalDefToRepMap()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01126">LLVMModule.cpp:1126</a></div></div>
4597
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a8e4add30bd0ce00d3f2aa2e31c64fef8"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a8e4add30bd0ce00d3f2aa2e31c64fef8">SVF::LLVMUtil::getSourceLoc</a></div><div class="ttdeci">const std::string getSourceLoc(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00679">LLVMUtil.cpp:679</a></div></div>
4598
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a484bbbc9713fc4be173943e6bc177fb5"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a484bbbc9713fc4be173943e6bc177fb5">SVF::LLVMUtil::removeUnusedFuncsAndAnnotationsAndGlobalVariables</a></div><div class="ttdeci">void removeUnusedFuncsAndAnnotationsAndGlobalVariables(Set&lt; Function * &gt; removedFuncList)</div><div class="ttdoc">Delete unused functions, annotations and global variables in extapi.bc.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00565">LLVMUtil.cpp:565</a></div></div>
4597
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a8e4add30bd0ce00d3f2aa2e31c64fef8"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a8e4add30bd0ce00d3f2aa2e31c64fef8">SVF::LLVMUtil::getSourceLoc</a></div><div class="ttdeci">const std::string getSourceLoc(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00678">LLVMUtil.cpp:678</a></div></div>
4598
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a484bbbc9713fc4be173943e6bc177fb5"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a484bbbc9713fc4be173943e6bc177fb5">SVF::LLVMUtil::removeUnusedFuncsAndAnnotationsAndGlobalVariables</a></div><div class="ttdeci">void removeUnusedFuncsAndAnnotationsAndGlobalVariables(Set&lt; Function * &gt; removedFuncList)</div><div class="ttdoc">Delete unused functions, annotations and global variables in extapi.bc.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00564">LLVMUtil.cpp:564</a></div></div>
4599
4599
  <div class="ttc" id="aLLVMModule_8cpp_html_a9fd6e28e6ed93f65a20a348ab0646320"><div class="ttname"><a href="LLVMModule_8cpp.html#a9fd6e28e6ed93f65a20a348ab0646320">SVF_GLOBAL_DTORS</a></div><div class="ttdeci">#define SVF_GLOBAL_DTORS</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00071">LLVMModule.cpp:71</a></div></div>
4600
4600
  <div class="ttc" id="aclassSVF_1_1SVFType_html_aef5999ada62dac3cc946d832ac66948c"><div class="ttname"><a href="classSVF_1_1SVFType.html#aef5999ada62dac3cc946d832ac66948c">SVF::SVFType::setTypeInfo</a></div><div class="ttdeci">void setTypeInfo(StInfo *ti)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00225">SVFType.h:225</a></div></div>
4601
4601
  <div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html">SVF::SVFLoopAndDomInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00050">SVFValue.h:50</a></div></div>
@@ -4607,7 +4607,7 @@ Friends</h2></td></tr>
4607
4607
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_aab7b08db9252ef7e21e54d019f44b073"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aab7b08db9252ef7e21e54d019f44b073">SVF::LLVMModuleSet::addSVFTypeInfo</a></div><div class="ttdeci">SVFType * addSVFTypeInfo(const Type *t)</div><div class="ttdoc">Create SVFTypes.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01403">LLVMModule.cpp:1403</a></div></div>
4608
4608
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_ac1b15d8f9c2499add8dbc889ae5cab65"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac1b15d8f9c2499add8dbc889ae5cab65">SVF::SVFBasicBlock::addInstruction</a></div><div class="ttdeci">void addInstruction(const SVFInstruction *inst)</div><div class="ttdoc">Function where this BasicBlock is.</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00546">SVFValue.h:546</a></div></div>
4609
4609
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a4091b12bdfe4423d8114612a199bc480"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a4091b12bdfe4423d8114612a199bc480">SVF::LLVMModuleSet::getLLVMModules</a></div><div class="ttdeci">const std::vector&lt; std::reference_wrapper&lt; Module &gt; &gt; &amp; getLLVMModules() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00136">LLVMModule.h:136</a></div></div>
4610
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_af4c9c5d445107b1816a4be93852ba612"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#af4c9c5d445107b1816a4be93852ba612">SVF::LLVMUtil::restoreFuncName</a></div><div class="ttdeci">std::string restoreFuncName(std::string funcName)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00613">LLVMUtil.cpp:613</a></div></div>
4610
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_af4c9c5d445107b1816a4be93852ba612"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#af4c9c5d445107b1816a4be93852ba612">SVF::LLVMUtil::restoreFuncName</a></div><div class="ttdeci">std::string restoreFuncName(std::string funcName)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00612">LLVMUtil.cpp:612</a></div></div>
4611
4611
  <div class="ttc" id="anamespaceSVF_html_a94824519e439aeef1568d415b6f7331c"><div class="ttname"><a href="namespaceSVF.html#a94824519e439aeef1568d415b6f7331c">SVF::IRBuilder</a></div><div class="ttdeci">llvm::IRBuilder IRBuilder</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
4612
4612
  <div class="ttc" id="aCommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
4613
4613
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_acde6292e719c80f93d3d1c344ab442cd"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">SVF::LLVMModuleSet::modules</a></div><div class="ttdeci">std::vector&lt; std::reference_wrapper&lt; Module &gt; &gt; modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00073">LLVMModule.h:73</a></div></div>
@@ -4660,7 +4660,7 @@ Friends</h2></td></tr>
4660
4660
  <div class="ttc" id="aclassSVF_1_1StInfo_html_ae5fad367673315da57a604e64b5889f0"><div class="ttname"><a href="classSVF_1_1StInfo.html#ae5fad367673315da57a604e64b5889f0">SVF::StInfo::getNumOfFlattenFields</a></div><div class="ttdeci">u32_t getNumOfFlattenFields() const</div><div class="ttdoc">Return the number of fields after flattening (ignoring array elements)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00145">SVFType.h:145</a></div></div>
4661
4661
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a651b6a1cf3665277d2241220bb145aed"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a651b6a1cf3665277d2241220bb145aed">SVF::LLVMUtil::functionDoesNotRet</a></div><div class="ttdeci">bool functionDoesNotRet(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00133">LLVMUtil.cpp:133</a></div></div>
4662
4662
  <div class="ttc" id="acJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
4663
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a47d2af43ff12d9e1014fa19256619466"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a47d2af43ff12d9e1014fa19256619466">SVF::LLVMUtil::getCalledFunctions</a></div><div class="ttdeci">std::vector&lt; const Function * &gt; getCalledFunctions(const Function *F)</div><div class="ttdoc">Get all called funcions in a parent function.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00516">LLVMUtil.cpp:516</a></div></div>
4663
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a47d2af43ff12d9e1014fa19256619466"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a47d2af43ff12d9e1014fa19256619466">SVF::LLVMUtil::getCalledFunctions</a></div><div class="ttdeci">std::vector&lt; const Function * &gt; getCalledFunctions(const Function *F)</div><div class="ttdoc">Get all called funcions in a parent function.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00515">LLVMUtil.cpp:515</a></div></div>
4664
4664
  <div class="ttc" id="aSVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00490">SVFType.h:490</a></div></div>
4665
4665
  <div class="ttc" id="anamespaceSVF_html_a366625858f450a1ea5f985a3c83e0f14"><div class="ttname"><a href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">SVF::u64_t</a></div><div class="ttdeci">unsigned long long u64_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00048">GeneralType.h:48</a></div></div>
4666
4666
  <div class="ttc" id="anamespaceSVF_html_a5c943191dc4e242704943e5f594ae99e"><div class="ttname"><a href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">SVF::const_pred_iterator</a></div><div class="ttdeci">llvm::const_pred_iterator const_pred_iterator</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00253">BasicTypes.h:253</a></div></div>
@@ -4713,7 +4713,7 @@ Friends</h2></td></tr>
4713
4713
  <div class="ttc" id="anamespaceSVF_html_a2b28f48dde0a9a91d251e654ce1f9477"><div class="ttname"><a href="namespaceSVF.html#a2b28f48dde0a9a91d251e654ce1f9477">SVF::ConstantStruct</a></div><div class="ttdeci">llvm::ConstantStruct ConstantStruct</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00105">BasicTypes.h:105</a></div></div>
4714
4714
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
4715
4715
  <div class="ttc" id="aclassSVF_1_1SVFOtherValue_html"><div class="ttname"><a href="classSVF_1_1SVFOtherValue.html">SVF::SVFOtherValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01071">SVFValue.h:1071</a></div></div>
4716
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad8a8c32a09340f491fffffcb07dd7a41"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad8a8c32a09340f491fffffcb07dd7a41">SVF::LLVMUtil::isIRFile</a></div><div class="ttdeci">bool isIRFile(const std::string &amp;filename)</div><div class="ttdoc">Check whether a file is an LLVM IR file.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00413">LLVMUtil.cpp:413</a></div></div>
4716
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad8a8c32a09340f491fffffcb07dd7a41"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad8a8c32a09340f491fffffcb07dd7a41">SVF::LLVMUtil::isIRFile</a></div><div class="ttdeci">bool isIRFile(const std::string &amp;filename)</div><div class="ttdoc">Check whether a file is an LLVM IR file.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00412">LLVMUtil.cpp:412</a></div></div>
4717
4717
  <div class="ttc" id="aclassSVF_1_1Options_html_a3a718b0a27c2d13878c0718af97ad73d"><div class="ttname"><a href="classSVF_1_1Options.html#a3a718b0a27c2d13878c0718af97ad73d">SVF::Options::SVFMain</a></div><div class="ttdeci">static const Option&lt; bool &gt; SVFMain</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00202">Options.h:202</a></div></div>
4718
4718
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a7968a00d41166d18acb684052ed1eed8"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a7968a00d41166d18acb684052ed1eed8">SVF::LLVMModuleSet::ExtFun2Annotations</a></div><div class="ttdeci">Fun2AnnoMap ExtFun2Annotations</div><div class="ttdoc">Record annotations of function in extapi.bc.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00082">LLVMModule.h:82</a></div></div>
4719
4719
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a9fe3fa15a6a0ec25864cb8439a45596e"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a9fe3fa15a6a0ec25864cb8439a45596e">SVF::LLVMModuleSet::getMainLLVMModule</a></div><div class="ttdeci">Module * getMainLLVMModule() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00329">LLVMModule.h:329</a></div></div>
@@ -4728,7 +4728,7 @@ Friends</h2></td></tr>
4728
4728
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae365189769640adb919a23c36978e5e2"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae365189769640adb919a23c36978e5e2">SVF::LLVMModuleSet::owned_modules</a></div><div class="ttdeci">std::vector&lt; std::unique_ptr&lt; Module &gt; &gt; owned_modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00072">LLVMModule.h:72</a></div></div>
4729
4729
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_a66f51cd41e93ad055c4a0c2874e73fae"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">SVF::SVFBasicBlock::getSuccessors</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00612">SVFValue.h:612</a></div></div>
4730
4730
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdoc">Borrowed from singleton SVFModule::svfModule.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00070">LLVMModule.h:70</a></div></div>
4731
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a973ee05189ca5bbe832be00f2be9baa4"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a973ee05189ca5bbe832be00f2be9baa4">SVF::LLVMUtil::getGlobalRep</a></div><div class="ttdeci">const Value * getGlobalRep(const Value *val)</div><div class="ttdoc">find the unique defined global across multiple modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00646">LLVMUtil.cpp:646</a></div></div>
4731
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a973ee05189ca5bbe832be00f2be9baa4"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a973ee05189ca5bbe832be00f2be9baa4">SVF::LLVMUtil::getGlobalRep</a></div><div class="ttdeci">const Value * getGlobalRep(const Value *val)</div><div class="ttdoc">find the unique defined global across multiple modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00645">LLVMUtil.cpp:645</a></div></div>
4732
4732
  <div class="ttc" id="aclassSVF_1_1StInfo_html_a1a07c2b1415c29d7d70791c6dfe602a3"><div class="ttname"><a href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">SVF::StInfo::setNumOfFieldsAndElems</a></div><div class="ttdeci">void setNumOfFieldsAndElems(u32_t nf, u32_t ne)</div><div class="ttdoc">Set number of fields and elements of an aggregate.</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00132">SVFType.h:132</a></div></div>
4733
4733
  <div class="ttc" id="aclassSVF_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#l00080">SymbolTableInfo.cpp:80</a></div></div>
4734
4734
  <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a58a764c27354d5f9b70995d30de65f1d"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a58a764c27354d5f9b70995d30de65f1d">SVF::ExtAPI::getExtAPI</a></div><div class="ttdeci">static ExtAPI * getExtAPI()</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00042">ExtAPI.cpp:42</a></div></div>
@@ -1238,7 +1238,7 @@ Additional Inherited Members</h2></td></tr>
1238
1238
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
1239
1239
  <div class="ttc" id="aclassSVF_1_1SrcSnkDDA_html_a19ab6f6df2a67b294268cfe7f4287fd7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a19ab6f6df2a67b294268cfe7f4287fd7">SVF::SrcSnkDDA::isSomePathReachable</a></div><div class="ttdeci">virtual bool isSomePathReachable()</div><div class="ttdoc">Whether it is some path reachable from a source.</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00312">SrcSnkDDA.h:312</a></div></div>
1240
1240
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a05dc00b2bd9a8176aae31b6cfffe725d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a05dc00b2bd9a8176aae31b6cfffe725d">SVF::SVFUtil::sucMsg</a></div><div class="ttdeci">std::string sucMsg(const std::string &amp;msg)</div><div class="ttdoc">Returns successful message by converting a string into green string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00053">SVFUtil.cpp:53</a></div></div>
1241
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
1241
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
1242
1242
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_a3145677c7a3763fc0d6aa7e21b264ab6"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">SVF::SVFIR::getCallSiteRet</a></div><div class="ttdeci">const SVFVar * getCallSiteRet(const RetICFGNode *cs) const</div><div class="ttdoc">Get callsite return.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00291">SVFIR.h:291</a></div></div>
1243
1243
  <div class="ttc" id="aclassSVF_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#l00047">ICFG.h:47</a></div></div>
1244
1244
  <div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
@@ -598,7 +598,7 @@ Additional Inherited Members</h2></td></tr>
598
598
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
599
599
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_abc65520cc2b9608c97374829eb475c57"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#abc65520cc2b9608c97374829eb475c57">SVF::AssignStmt::AssignStmt</a></div><div class="ttdeci">AssignStmt()</div><div class="ttdoc">place holder</div></div>
600
600
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html_abb784290c90d26f35897fa15bae277d2"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#abb784290c90d26f35897fa15bae277d2">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00147">SVFStatements.h:147</a></div></div>
601
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
601
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
602
602
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00302">SVFStatements.h:302</a></div></div>
603
603
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVF::SVFStmt::Load</a></div><div class="ttdeci">@ Load</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00066">SVFStatements.h:66</a></div></div>
604
604
  <!-- start footer part -->
@@ -1154,7 +1154,7 @@ Static Private Attributes</h2></td></tr>
1154
1154
  <div class="ttc" id="aclassSVF_1_1LockResultValidator_html_a70cdb993b3e90c70cc083fb8ed93fb91"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html#a70cdb993b3e90c70cc083fb8ed93fb91">SVF::LockResultValidator::filterFun</a></div><div class="ttdeci">Set&lt; std::string &gt; filterFun</div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8h_source.html#l00081">LockResultValidator.h:81</a></div></div>
1155
1155
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a05dc00b2bd9a8176aae31b6cfffe725d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a05dc00b2bd9a8176aae31b6cfffe725d">SVF::SVFUtil::sucMsg</a></div><div class="ttdeci">std::string sucMsg(const std::string &amp;msg)</div><div class="ttdoc">Returns successful message by converting a string into green string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00053">SVFUtil.cpp:53</a></div></div>
1156
1156
  <div class="ttc" id="aclassSVF_1_1LockResultValidator_html_afec6058866fe334646db78227fb4d6a6"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html#afec6058866fe334646db78227fb4d6a6">SVF::LockResultValidator::CxtLockSetStr</a></div><div class="ttdeci">Set&lt; std::string &gt; CxtLockSetStr</div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8h_source.html#l00022">LockResultValidator.h:22</a></div></div>
1157
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
1157
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
1158
1158
  <div class="ttc" id="aclassSVF_1_1LockResultValidator_html_ae68afb4d129dc6cecfc3561f6a17c798"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html#ae68afb4d129dc6cecfc3561f6a17c798">SVF::LockResultValidator::_la</a></div><div class="ttdeci">LockAnalysis * _la</div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8h_source.html#l00072">LockResultValidator.h:72</a></div></div>
1159
1159
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae74f307b6f96950ceedb2c375ef1c3a3"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">SVF::LLVMModuleSet::getSVFInstruction</a></div><div class="ttdeci">SVFInstruction * getSVFInstruction(const Instruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00219">LLVMModule.h:219</a></div></div>
1160
1160
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4550f2fb815882edfb666ac818792064"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(const std::string &amp;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#l00099">SVFUtil.cpp:99</a></div></div>
@@ -2817,7 +2817,7 @@ Private Attributes</h2></td></tr>
2817
2817
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
2818
2818
  <div class="ttc" id="aclassSVF_1_1TCT_html_ab4bc72ca330b315df06f2d4d2c1a7b4f"><div class="ttname"><a href="classSVF_1_1TCT.html#ab4bc72ca330b315df06f2d4d2c1a7b4f">SVF::TCT::getCxtOfCxtThread</a></div><div class="ttdeci">const CallStrCxt &amp; getCxtOfCxtThread(const CxtThread &amp;ct) const</div><div class="ttdoc">get the context of a thread at its spawning site (fork site)</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00342">TCT.h:342</a></div></div>
2819
2819
  <div class="ttc" id="aclassSVF_1_1TCT_html_a7b4ad0b052e1f8b6869733eef15f4e4d"><div class="ttname"><a href="classSVF_1_1TCT.html#a7b4ad0b052e1f8b6869733eef15f4e4d">SVF::TCT::getTCTNode</a></div><div class="ttdeci">TCTNode * getTCTNode(NodeID id) const</div><div class="ttdoc">Get TCT node.</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00192">TCT.h:192</a></div></div>
2820
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
2820
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
2821
2821
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4550f2fb815882edfb666ac818792064"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(const std::string &amp;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#l00099">SVFUtil.cpp:99</a></div></div>
2822
2822
  <div class="ttc" id="aclassSVF_1_1MHP_html_a7585f40b80c5488828576eb2f035ac61"><div class="ttname"><a href="classSVF_1_1MHP.html#a7585f40b80c5488828576eb2f035ac61">SVF::MHP::hasJoinInSymmetricLoop</a></div><div class="ttdeci">bool hasJoinInSymmetricLoop(const CallStrCxt &amp;cxt, const SVFInstruction *call) const</div><div class="ttdoc">Whether a context-sensitive join satisfies symmetric loop pattern.</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00488">MHP.cpp:488</a></div></div>
2823
2823
  <div class="ttc" id="aclassSVF_1_1PTACallGraph_html_af8df9ca6d906453fa3f7168aa84fd087"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#af8df9ca6d906453fa3f7168aa84fd087">SVF::PTACallGraph::hasCallGraphEdge</a></div><div class="ttdeci">bool hasCallGraphEdge(const CallICFGNode *inst) const</div><div class="ttdoc">Get call graph edge via call instruction.</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00397">PTACallGraph.h:397</a></div></div>
@@ -2888,7 +2888,7 @@ Static Private Attributes</h2></td></tr>
2888
2888
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a05dc00b2bd9a8176aae31b6cfffe725d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a05dc00b2bd9a8176aae31b6cfffe725d">SVF::SVFUtil::sucMsg</a></div><div class="ttdeci">std::string sucMsg(const std::string &amp;msg)</div><div class="ttdoc">Returns successful message by converting a string into green string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00053">SVFUtil.cpp:53</a></div></div>
2889
2889
  <div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_ac61547c85523592e8a61bbb2a1cd61f0"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#ac61547c85523592e8a61bbb2a1cd61f0">SVF::MTAResultValidator::getIntArg</a></div><div class="ttdeci">NodeID getIntArg(const Instruction *inst, unsigned int arg_num)</div></div>
2890
2890
  <div class="ttc" id="aclassSVF_1_1TCT_html_a7b4ad0b052e1f8b6869733eef15f4e4d"><div class="ttname"><a href="classSVF_1_1TCT.html#a7b4ad0b052e1f8b6869733eef15f4e4d">SVF::TCT::getTCTNode</a></div><div class="ttdeci">TCTNode * getTCTNode(NodeID id) const</div><div class="ttdoc">Get TCT node.</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00192">TCT.h:192</a></div></div>
2891
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
2891
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
2892
2892
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae74f307b6f96950ceedb2c375ef1c3a3"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">SVF::LLVMModuleSet::getSVFInstruction</a></div><div class="ttdeci">SVFInstruction * getSVFInstruction(const Instruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00219">LLVMModule.h:219</a></div></div>
2893
2893
  <div class="ttc" id="anamespaceSVF_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="GeneralType_8h_source.html#l00054">GeneralType.h:54</a></div></div>
2894
2894
  <div class="ttc" id="aclassSVF_1_1TCTNode_html"><div class="ttname"><a href="classSVF_1_1TCTNode.html">SVF::TCTNode</a></div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00085">TCT.h:85</a></div></div>
@@ -1101,7 +1101,7 @@ Friends</h2></td></tr>
1101
1101
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a750770ea992d39b22c8b2dda9aff2eaf"><div class="ttname"><a href="classSVF_1_1MemObj.html#a750770ea992d39b22c8b2dda9aff2eaf">SVF::MemObj::typeInfo</a></div><div class="ttdeci">ObjTypeInfo * typeInfo</div><div class="ttdoc">Type information of this object.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00387">SymbolTableInfo.h:387</a></div></div>
1102
1102
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_ac99fa14fdf7bc0dd3e9ff36c7a3a351f"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#ac99fa14fdf7bc0dd3e9ff36c7a3a351f">SVF::ObjTypeInfo::isFunction</a></div><div class="ttdeci">bool isFunction()</div><div class="ttdoc">Object attributes.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00590">SymbolTableInfo.h:590</a></div></div>
1103
1103
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_aaffd94b311238f183031a525376c55a2"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#aaffd94b311238f183031a525376c55a2">SVF::ObjTypeInfo::getType</a></div><div class="ttdeci">const SVFType * getType() const</div><div class="ttdoc">Get LLVM type.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00527">SymbolTableInfo.h:527</a></div></div>
1104
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00932">LLVMUtil.cpp:932</a></div></div>
1104
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
1105
1105
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_aff17d13e520a731accedd06350af6221"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#aff17d13e520a731accedd06350af6221">SVF::ObjTypeInfo::setNumOfElements</a></div><div class="ttdeci">void setNumOfElements(u32_t num)</div><div class="ttdoc">Set the number of elements of this object.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00545">SymbolTableInfo.h:545</a></div></div>
1106
1106
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a51be7ad70bc2c6a4230bd2f6b86bdc88"><div class="ttname"><a href="classSVF_1_1MemObj.html#a51be7ad70bc2c6a4230bd2f6b86bdc88">SVF::MemObj::getMaxFieldOffsetLimit</a></div><div class="ttdeci">u32_t getMaxFieldOffsetLimit() const</div><div class="ttdoc">Get max field offset limit.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00429">SymbolTableInfo.cpp:429</a></div></div>
1107
1107
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a0627e8b9dda2e13cc77c334eefab21e1"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a0627e8b9dda2e13cc77c334eefab21e1">SVF::ObjTypeInfo::isArray</a></div><div class="ttdeci">bool isArray()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00635">SymbolTableInfo.h:635</a></div></div>