From 73e214244f2403b5ba0ef81b8839600f3c8ffebc Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 9 Apr 2002 19:48:49 +0000 Subject: Move FunctionArgument out of iOther.h into Argument.h and rename class to be 'Argument' instead of FunctionArgument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2216 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/DataStructure/FunctionRepBuilder.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'lib/Analysis/DataStructure/FunctionRepBuilder.cpp') diff --git a/lib/Analysis/DataStructure/FunctionRepBuilder.cpp b/lib/Analysis/DataStructure/FunctionRepBuilder.cpp index 965185a344..eda16bc694 100644 --- a/lib/Analysis/DataStructure/FunctionRepBuilder.cpp +++ b/lib/Analysis/DataStructure/FunctionRepBuilder.cpp @@ -143,26 +143,28 @@ void FunctionRepBuilder::initializeWorkList(Function *Func) { // the worklists... // for (Function::ArgumentListType::iterator I = Func->getArgumentList().begin(), - E = Func->getArgumentList().end(); I != E; ++I) + E = Func->getArgumentList().end(); I != E; ++I) { + Value *Arg = (Value*)(*I); // Only process arguments that are of pointer type... - if (PointerType *PT = dyn_cast((*I)->getType())) { - ArgDSNode *Arg = new ArgDSNode(*I); - ArgNodes.push_back(Arg); + if (PointerType *PT = dyn_cast(Arg->getType())) { + ArgDSNode *ArgNode = new ArgDSNode(*I); + ArgNodes.push_back(ArgNode); // Add a critical shadow value for it to represent what it is pointing // to and add this to the value map... ShadowDSNode *Shad = new ShadowDSNode(PT->getElementType(), Func->getParent(), true); ShadowNodes.push_back(Shad); - ValueMap[*I].add(PointerVal(Shad), *I); + ValueMap[Arg].add(PointerVal(Shad), Arg); // The value of the argument is the shadow value... - Arg->getLink(0).add(Shad); + ArgNode->getLink(0).add(Shad); // Make sure that all users of the argument are processed... - addAllUsesToWorkList(*I); + addAllUsesToWorkList(Arg); } - + } + // Iterate over the instructions in the method. Create nodes for malloc and // call instructions. Add all uses of these to the worklist of instructions // to process. -- cgit v1.2.3-18-g5258