From 2e9fa6d10146e29690da9c1954f7d699ca719147 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. llvm-svn: 2216 --- llvm/lib/Analysis/DataStructure/FunctionRepBuilder.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'llvm/lib/Analysis/DataStructure/FunctionRepBuilder.cpp') diff --git a/llvm/lib/Analysis/DataStructure/FunctionRepBuilder.cpp b/llvm/lib/Analysis/DataStructure/FunctionRepBuilder.cpp index 965185a3447..eda16bc6949 100644 --- a/llvm/lib/Analysis/DataStructure/FunctionRepBuilder.cpp +++ b/llvm/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