svf-tools 1.0.358 → 1.0.362

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +7 -7
  4. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  7. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -3
  10. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +6 -6
  11. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +3 -3
  12. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +25 -25
  13. package/SVF-doxygen/html/html/ICFG_8h_source.html +17 -18
  14. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
  15. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +3 -3
  16. package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
  19. package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
  20. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +4 -4
  22. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/PCG_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
  26. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  27. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  28. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +5 -5
  29. package/SVF-doxygen/html/html/SVFG_8h_source.html +5 -5
  30. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +6 -6
  31. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +12 -12
  32. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +13 -13
  33. package/SVF-doxygen/html/html/SVFIR_8h_source.html +13 -13
  34. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +91 -89
  35. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -1
  36. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/TCT_8h_source.html +2 -2
  38. package/SVF-doxygen/html/html/VFGNode_8h_source.html +7 -7
  39. package/SVF-doxygen/html/html/VFG_8cpp_source.html +17 -17
  40. package/SVF-doxygen/html/html/VFG_8h_source.html +16 -16
  41. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +5 -5
  43. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +15 -15
  44. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +30 -30
  45. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
  46. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  47. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +1 -1
  48. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +6 -6
  49. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +15 -15
  50. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +16 -16
  51. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +7 -7
  52. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  53. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  54. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
  55. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +2 -2
  56. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +2 -2
  57. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +7 -5
  58. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +80 -12
  59. package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +22 -22
  60. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +236 -235
  61. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder-members.html +3 -3
  62. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +45 -49
  63. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +11 -11
  64. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +18 -18
  65. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
  66. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +2 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +8 -8
  68. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +2 -2
  69. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
  70. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +9 -9
  71. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +2 -2
  72. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +6 -6
  73. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +25 -25
  74. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  75. package/SVF-doxygen/html/html/classSVF_1_1PCG-members.html +1 -1
  76. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +9 -9
  77. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +15 -15
  78. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -2
  79. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +5 -5
  81. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +15 -15
  82. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +13 -13
  83. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
  84. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +17 -17
  85. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +27 -27
  86. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  87. package/SVF-doxygen/html/html/classSVF_1_1TCT-members.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +12 -12
  89. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +9 -9
  90. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +9 -9
  91. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +2 -2
  92. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +20 -20
  93. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +29 -29
  94. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +6 -6
  95. package/SVF-doxygen/html/html/functions_a.html +12 -12
  96. package/SVF-doxygen/html/html/functions_f.html +3 -3
  97. package/SVF-doxygen/html/html/functions_func.html +12 -12
  98. package/SVF-doxygen/html/html/functions_func_g.html +36 -42
  99. package/SVF-doxygen/html/html/functions_func_i.html +9 -8
  100. package/SVF-doxygen/html/html/functions_g.html +34 -40
  101. package/SVF-doxygen/html/html/functions_i.html +12 -11
  102. package/SVF-doxygen/html/html/functions_l.html +8 -8
  103. package/SVF-doxygen/html/html/functions_m.html +1 -1
  104. package/SVF-doxygen/html/html/functions_n.html +3 -3
  105. package/SVF-doxygen/html/html/functions_o.html +11 -11
  106. package/SVF-doxygen/html/html/functions_p.html +1 -1
  107. package/SVF-doxygen/html/html/functions_s.html +9 -7
  108. package/SVF-doxygen/html/html/functions_t.html +4 -4
  109. package/SVF-doxygen/html/html/functions_v.html +6 -6
  110. package/SVF-doxygen/html/html/functions_w.html +9 -5
  111. package/SVF-doxygen/html/html/search/all_1.js +5 -5
  112. package/SVF-doxygen/html/html/search/all_10.js +3 -3
  113. package/SVF-doxygen/html/html/search/all_13.js +6 -6
  114. package/SVF-doxygen/html/html/search/all_14.js +4 -4
  115. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  116. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  117. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  118. package/SVF-doxygen/html/html/search/all_7.js +13 -16
  119. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  120. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  121. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  122. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  123. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  124. package/SVF-doxygen/html/html/search/functions_0.js +5 -5
  125. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  126. package/SVF-doxygen/html/html/search/functions_6.js +13 -16
  127. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  128. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  129. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  130. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  131. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +16 -16
  132. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  133. package/SVF-doxygen/html/html/svf-ex_8cpp.html +2 -2
  134. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -2
  135. package/include/Graphs/ICFG.h +18 -18
  136. package/include/Graphs/ICFGNode.h +2 -2
  137. package/include/Graphs/SVFG.h +4 -4
  138. package/include/Graphs/SVFGOPT.h +2 -2
  139. package/include/Graphs/VFG.h +5 -5
  140. package/include/MTA/LockResultValidator.h +1 -1
  141. package/include/MTA/MHP.h +2 -2
  142. package/include/MTA/PCG.h +2 -2
  143. package/include/MTA/TCT.h +2 -2
  144. package/include/MemoryModel/LocationSet.h +1 -1
  145. package/include/MemoryModel/SVFIR.h +2 -2
  146. package/include/MemoryModel/SVFStatements.h +11 -3
  147. package/include/SVF-FE/ICFGBuilder.h +5 -5
  148. package/include/SVF-FE/SVFIRBuilder.h +1 -1
  149. package/lib/Graphs/ICFG.cpp +37 -32
  150. package/lib/Graphs/SVFG.cpp +4 -4
  151. package/lib/Graphs/VFG.cpp +3 -3
  152. package/lib/MSSA/MemRegion.cpp +7 -7
  153. package/lib/MSSA/MemSSA.cpp +3 -3
  154. package/lib/MTA/LockAnalysis.cpp +4 -4
  155. package/lib/MTA/MTAResultValidator.cpp +1 -1
  156. package/lib/MTA/PCG.cpp +1 -1
  157. package/lib/MTA/TCT.cpp +2 -2
  158. package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
  159. package/lib/SABER/LeakChecker.cpp +3 -3
  160. package/lib/SVF-FE/CallGraphBuilder.cpp +4 -4
  161. package/lib/SVF-FE/ICFGBuilder.cpp +15 -27
  162. package/lib/SVF-FE/SVFIRBuilder.cpp +15 -15
  163. package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -1
  164. package/lib/WPA/Andersen.cpp +3 -3
  165. package/lib/WPA/WPAPass.cpp +4 -4
  166. package/package.json +1 -1
  167. package/tools/Example/svf-ex.cpp +1 -1
@@ -791,8 +791,8 @@ void SVFIRBuilder::visitCallSite(CallSite cs)
791
791
  DBOUT(DPAGBuild,
792
792
  outs() << "process callsite " << *cs.getInstruction() << "\n");
793
793
 
794
- CallICFGNode* callBlockNode = pag->getICFG()->getCallBlockNode(cs.getInstruction());
795
- RetICFGNode* retBlockNode = pag->getICFG()->getRetBlockNode(cs.getInstruction());
794
+ CallICFGNode* callBlockNode = pag->getICFG()->getCallICFGNode(cs.getInstruction());
795
+ RetICFGNode* retBlockNode = pag->getICFG()->getRetICFGNode(cs.getInstruction());
796
796
 
797
797
  pag->addCallSite(callBlockNode);
798
798
 
@@ -893,7 +893,7 @@ void SVFIRBuilder::visitBranchInst(BranchInst &inst){
893
893
  for (u32_t i = 0; i < inst.getNumSuccessors(); ++i)
894
894
  {
895
895
  const Instruction* succInst = &inst.getSuccessor(i)->front();
896
- const ICFGNode* icfgNode = pag->getICFG()->getBlockICFGNode(succInst);
896
+ const ICFGNode* icfgNode = pag->getICFG()->getICFGNode(succInst);
897
897
  successors.push_back(std::make_pair(icfgNode, 1-i));
898
898
  }
899
899
  const BranchStmt *brStmt = addBranchStmt(brinst, cond,successors);
@@ -910,7 +910,7 @@ void SVFIRBuilder::visitSwitchInst(SwitchInst &inst){
910
910
  const ConstantInt* condVal = inst.findCaseDest(inst.getSuccessor(i));
911
911
  /// default case is set to -1;
912
912
  s64_t val = condVal ? condVal->getSExtValue() : -1;
913
- const ICFGNode* icfgNode = pag->getICFG()->getBlockICFGNode(succInst);
913
+ const ICFGNode* icfgNode = pag->getICFG()->getICFGNode(succInst);
914
914
  successors.push_back(std::make_pair(icfgNode,val));
915
915
  }
916
916
  const BranchStmt *brStmt = addBranchStmt(brinst, cond,successors);
@@ -960,7 +960,7 @@ void SVFIRBuilder::handleDirectCall(CallSite cs, const SVFFunction *F)
960
960
  if (!cs.getType()->isVoidTy())
961
961
  {
962
962
  NodeID srcret = getReturnNode(F);
963
- CallICFGNode* icfgNode = pag->getICFG()->getCallBlockNode(cs.getInstruction());
963
+ CallICFGNode* icfgNode = pag->getICFG()->getCallICFGNode(cs.getInstruction());
964
964
  addRetEdge(srcret, dstrec,icfgNode);
965
965
  }
966
966
  //Iterators for the actual and formal parameters
@@ -982,7 +982,7 @@ void SVFIRBuilder::handleDirectCall(CallSite cs, const SVFFunction *F)
982
982
 
983
983
  NodeID dstFA = getValueNode(FA);
984
984
  NodeID srcAA = getValueNode(AA);
985
- CallICFGNode* icfgNode = pag->getICFG()->getCallBlockNode(cs.getInstruction());
985
+ CallICFGNode* icfgNode = pag->getICFG()->getCallICFGNode(cs.getInstruction());
986
986
  addCallEdge(srcAA, dstFA, icfgNode);
987
987
  }
988
988
  //Any remaining actual args must be varargs.
@@ -994,7 +994,7 @@ void SVFIRBuilder::handleDirectCall(CallSite cs, const SVFFunction *F)
994
994
  {
995
995
  Value *AA = *itA;
996
996
  NodeID vnAA = getValueNode(AA);
997
- CallICFGNode* icfgNode = pag->getICFG()->getCallBlockNode(cs.getInstruction());
997
+ CallICFGNode* icfgNode = pag->getICFG()->getCallICFGNode(cs.getInstruction());
998
998
  addCallEdge(vnAA,vaF, icfgNode);
999
999
  }
1000
1000
  }
@@ -1477,7 +1477,7 @@ void SVFIRBuilder::handleExtCall(CallSite cs, const SVFFunction *callee)
1477
1477
  /// Connect actual parameter to formal parameter of the start routine
1478
1478
  if(SVFUtil::isa<PointerType>(actualParm->getType()) && SVFUtil::isa<PointerType>(formalParm->getType()) )
1479
1479
  {
1480
- CallICFGNode* icfgNode = pag->getICFG()->getCallBlockNode(inst);
1480
+ CallICFGNode* icfgNode = pag->getICFG()->getCallICFGNode(inst);
1481
1481
  addThreadForkEdge(pag->getValueNode(actualParm), pag->getValueNode(formalParm),icfgNode);
1482
1482
  }
1483
1483
  }
@@ -1506,7 +1506,7 @@ void SVFIRBuilder::handleExtCall(CallSite cs, const SVFFunction *callee)
1506
1506
  /// Connect actual parameter to formal parameter of the start routine
1507
1507
  if(SVFUtil::isa<PointerType>(actualParm->getType()) && SVFUtil::isa<PointerType>(formalParm->getType()) )
1508
1508
  {
1509
- CallICFGNode* icfgNode = pag->getICFG()->getCallBlockNode(inst);
1509
+ CallICFGNode* icfgNode = pag->getICFG()->getCallICFGNode(inst);
1510
1510
  addThreadForkEdge(pag->getValueNode(actualParm), pag->getValueNode(formalParm),icfgNode);
1511
1511
  }
1512
1512
  }
@@ -1528,7 +1528,7 @@ void SVFIRBuilder::handleExtCall(CallSite cs, const SVFFunction *callee)
1528
1528
  */
1529
1529
  void SVFIRBuilder::handleIndCall(CallSite cs)
1530
1530
  {
1531
- const CallICFGNode* cbn = pag->getICFG()->getCallBlockNode(cs.getInstruction());
1531
+ const CallICFGNode* cbn = pag->getICFG()->getCallICFGNode(cs.getInstruction());
1532
1532
  pag->addIndirectCallsites(cbn,pag->getValueNode(cs.getCalledValue()));
1533
1533
  }
1534
1534
 
@@ -1618,7 +1618,7 @@ void SVFIRBuilder::setCurrentBBAndValueForPAGEdge(PAGEdge* edge)
1618
1618
  edge->setValue(curVal);
1619
1619
  // backmap in valuToEdgeMap
1620
1620
  pag->mapValueToEdge(curVal, edge);
1621
- ICFGNode* icfgNode = pag->getICFG()->getGlobalBlockNode();
1621
+ ICFGNode* icfgNode = pag->getICFG()->getGlobalICFGNode();
1622
1622
  if (const Instruction *curInst = SVFUtil::dyn_cast<Instruction>(curVal))
1623
1623
  {
1624
1624
  const Function* srcFun = edge->getSrcNode()->getFunction();
@@ -1637,23 +1637,23 @@ void SVFIRBuilder::setCurrentBBAndValueForPAGEdge(PAGEdge* edge)
1637
1637
  /// We will have one unique function exit ICFGNode for all returns
1638
1638
  if(const ReturnInst* retInst = SVFUtil::dyn_cast<ReturnInst>(curVal)){
1639
1639
  const SVFFunction *fun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(retInst->getParent()->getParent());
1640
- icfgNode = pag->getICFG()->getFunExitBlockNode(fun);
1640
+ icfgNode = pag->getICFG()->getFunExitICFGNode(fun);
1641
1641
  }
1642
1642
  else
1643
- icfgNode = pag->getICFG()->getBlockICFGNode(curInst);
1643
+ icfgNode = pag->getICFG()->getICFGNode(curInst);
1644
1644
  }
1645
1645
  else if (const Argument* arg = SVFUtil::dyn_cast<Argument>(curVal))
1646
1646
  {
1647
1647
  assert(curBB && (&curBB->getParent()->getEntryBlock() == curBB));
1648
1648
  const SVFFunction* fun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(arg->getParent());
1649
- icfgNode = pag->getICFG()->getFunEntryBlockNode(fun);
1649
+ icfgNode = pag->getICFG()->getFunEntryICFGNode(fun);
1650
1650
  }
1651
1651
  else if (SVFUtil::isa<ConstantExpr>(curVal))
1652
1652
  {
1653
1653
  if (!curBB)
1654
1654
  pag->addGlobalPAGEdge(edge);
1655
1655
  else
1656
- icfgNode = pag->getICFG()->getBlockICFGNode(&curBB->front());
1656
+ icfgNode = pag->getICFG()->getICFGNode(&curBB->front());
1657
1657
  }
1658
1658
  else if (SVFUtil::isa<GlobalVariable>(curVal) ||
1659
1659
  SVFUtil::isa<Function>(curVal) ||
@@ -613,7 +613,7 @@ u32_t SymbolTableBuilder::getObjSize(const Value* val)
613
613
  u32_t numOfFields = 1;
614
614
  if (SVFUtil::isa<StructType>(ety) || SVFUtil::isa<ArrayType>(ety))
615
615
  {
616
- numOfFields = SymbolTableInfo::SymbolInfo()->getFlattenedFieldInfoVec(ety).size();
616
+ numOfFields = SymbolTableInfo::SymbolInfo()->getNumOfFlattenElements(ety);
617
617
  }
618
618
  return numOfFields;
619
619
  }
@@ -654,7 +654,7 @@ bool Andersen::updateCallGraph(const CallSiteToFunPtrMap& callsites)
654
654
  void Andersen::heapAllocatorViaIndCall(CallSite cs, NodePairSet &cpySrcNodes)
655
655
  {
656
656
  assert(SVFUtil::getCallee(cs) == nullptr && "not an indirect callsite?");
657
- RetICFGNode* retBlockNode = pag->getICFG()->getRetBlockNode(cs.getInstruction());
657
+ RetICFGNode* retBlockNode = pag->getICFG()->getRetICFGNode(cs.getInstruction());
658
658
  const PAGNode* cs_return = pag->getCallSiteRet(retBlockNode);
659
659
  NodeID srcret;
660
660
  CallSite2DummyValPN::const_iterator it = callsite2DummyValPN.find(cs);
@@ -687,8 +687,8 @@ void Andersen::connectCaller2CalleeParams(CallSite cs, const SVFFunction* F, Nod
687
687
 
688
688
  DBOUT(DAndersen, outs() << "connect parameters from indirect callsite " << *cs.getInstruction() << " to callee " << *F << "\n");
689
689
 
690
- CallICFGNode* callBlockNode = pag->getICFG()->getCallBlockNode(cs.getInstruction());
691
- RetICFGNode* retBlockNode = pag->getICFG()->getRetBlockNode(cs.getInstruction());
690
+ CallICFGNode* callBlockNode = pag->getICFG()->getCallICFGNode(cs.getInstruction());
691
+ RetICFGNode* retBlockNode = pag->getICFG()->getRetICFGNode(cs.getInstruction());
692
692
 
693
693
  if(SVFUtil::isHeapAllocExtFunViaRet(F) && pag->callsiteHasRet(retBlockNode))
694
694
  {
@@ -239,7 +239,7 @@ ModRefInfo WPAPass::getModRefInfo(const CallInst* callInst)
239
239
  {
240
240
  assert(Options::PASelected.isSet(PointerAnalysis::AndersenWaveDiff_WPA) && Options::AnderSVFG && "mod-ref query is only support with -ander and -svfg turned on");
241
241
  ICFG* icfg = _svfg->getPAG()->getICFG();
242
- const CallICFGNode* cbn = icfg->getCallBlockNode(callInst);
242
+ const CallICFGNode* cbn = icfg->getCallICFGNode(callInst);
243
243
  return _svfg->getMSSA()->getMRGenerator()->getModRefInfo(cbn);
244
244
  }
245
245
 
@@ -250,7 +250,7 @@ ModRefInfo WPAPass::getModRefInfo(const CallInst* callInst, const Value* V)
250
250
  {
251
251
  assert(Options::PASelected.isSet(PointerAnalysis::AndersenWaveDiff_WPA) && Options::AnderSVFG && "mod-ref query is only support with -ander and -svfg turned on");
252
252
  ICFG* icfg = _svfg->getPAG()->getICFG();
253
- const CallICFGNode* cbn = icfg->getCallBlockNode(callInst);
253
+ const CallICFGNode* cbn = icfg->getCallICFGNode(callInst);
254
254
  return _svfg->getMSSA()->getMRGenerator()->getModRefInfo(cbn, V);
255
255
  }
256
256
 
@@ -261,7 +261,7 @@ ModRefInfo WPAPass::getModRefInfo(const CallInst* callInst1, const CallInst* cal
261
261
  {
262
262
  assert(Options::PASelected.isSet(PointerAnalysis::AndersenWaveDiff_WPA) && Options::AnderSVFG && "mod-ref query is only support with -ander and -svfg turned on");
263
263
  ICFG* icfg = _svfg->getPAG()->getICFG();
264
- const CallICFGNode* cbn1 = icfg->getCallBlockNode(callInst1);
265
- const CallICFGNode* cbn2 = icfg->getCallBlockNode(callInst2);
264
+ const CallICFGNode* cbn1 = icfg->getCallICFGNode(callInst1);
265
+ const CallICFGNode* cbn2 = icfg->getCallICFGNode(callInst2);
266
266
  return _svfg->getMSSA()->getMRGenerator()->getModRefInfo(cbn1, cbn2);
267
267
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.358",
3
+ "version": "1.0.362",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -79,7 +79,7 @@ std::string printPts(PointerAnalysis* pta, Value* val)
79
79
  */
80
80
  void traverseOnICFG(ICFG* icfg, const Instruction* inst)
81
81
  {
82
- ICFGNode* iNode = icfg->getBlockICFGNode(inst);
82
+ ICFGNode* iNode = icfg->getICFGNode(inst);
83
83
  FIFOWorkList<const ICFGNode*> worklist;
84
84
  Set<const ICFGNode*> visited;
85
85
  worklist.push(iNode);