diff --git a/svf-llvm/lib/SVFIRBuilder.cpp b/svf-llvm/lib/SVFIRBuilder.cpp index 173ba2f52..67a8eda0a 100644 --- a/svf-llvm/lib/SVFIRBuilder.cpp +++ b/svf-llvm/lib/SVFIRBuilder.cpp @@ -246,9 +246,9 @@ void SVFIRBuilder::initialiseNodes() pag->addFunValNode(cgn, iter->second, icfgNode); } else if (auto argval = SVFUtil::dyn_cast(llvmValue)) { pag->addArgValNode( + iter->second, argval->getArgNo(), icfgNode, llvmModuleSet()->getCallGraphNode(argval->getParent()), - argval->getArgNo(), LLVMUtil::isArgOfUncalledFunction(argval), iter->second, - icfgNode); + LLVMUtil::isArgOfUncalledFunction(argval)); llvmModuleSet()->addToLLVMVal2SVFVarMap( argval, pag->getGNode(iter->second)); } diff --git a/svf/include/SVFIR/SVFIR.h b/svf/include/SVFIR/SVFIR.h index 36970934d..f4f04d904 100644 --- a/svf/include/SVFIR/SVFIR.h +++ b/svf/include/SVFIR/SVFIR.h @@ -578,10 +578,9 @@ class SVFIR : public IRGraph return addValNode(nullptr, node, i); } - NodeID addArgValNode(const CallGraphNode* callGraphNode, u32_t argNo, - bool isUncalled, NodeID i, const ICFGNode* icfgNode) { + NodeID addArgValNode(NodeID i, u32_t argNo, const ICFGNode* icfgNode, const CallGraphNode* callGraphNode, bool isUncalled) { ArgValVar* node = - new ArgValVar(i, callGraphNode, argNo, isUncalled, icfgNode); + new ArgValVar(i, argNo, icfgNode, callGraphNode, isUncalled); return addValNode(nullptr, node, i); } diff --git a/svf/include/SVFIR/SVFVariables.h b/svf/include/SVFIR/SVFVariables.h index 9f2df3a89..d8cb33679 100644 --- a/svf/include/SVFIR/SVFVariables.h +++ b/svf/include/SVFIR/SVFVariables.h @@ -428,8 +428,8 @@ class ArgValVar: public ValVar { //@} /// Constructor - ArgValVar(NodeID i, const CallGraphNode* callGraphNode, u32_t argNo, - bool isUncalled, const ICFGNode* icn, PNODEK ty = ArgNode); + ArgValVar(NodeID i, u32_t argNo, const ICFGNode* icn, const CallGraphNode* callGraphNode, + bool isUncalled = false, PNODEK ty = ArgNode); /// Return name of a LLVM value inline const std::string getValueName() const diff --git a/svf/lib/SVFIR/SVFVariables.cpp b/svf/lib/SVFIR/SVFVariables.cpp index 0e109a53f..f70053d31 100644 --- a/svf/lib/SVFIR/SVFVariables.cpp +++ b/svf/lib/SVFIR/SVFVariables.cpp @@ -145,11 +145,11 @@ const std::string ObjVar::toString() const return rawstr.str(); } -ArgValVar::ArgValVar(SVF::NodeID i, const SVF::CallGraphNode* callGraphNode, - SVF::u32_t argNo, bool isUncalled, - const SVF::ICFGNode* icn, SVF::SVFVar::PNODEK ty) - : ValVar(callGraphNode->getFunction()->getArg(argNo), i, ty, icn), cgNode(callGraphNode), - argNo(argNo), uncalled(isUncalled) +ArgValVar::ArgValVar(NodeID i, u32_t argNo, const ICFGNode* icn, + const SVF::CallGraphNode* callGraphNode, bool isUncalled, + SVF::SVFVar::PNODEK ty) + : ValVar(callGraphNode->getFunction()->getArg(argNo), i, ty, icn), + cgNode(callGraphNode), argNo(argNo), uncalled(isUncalled) { isPtr = callGraphNode->getFunction()->getArg(argNo)->getType()->isPointerTy();