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
diff --git a/lib/Analysis/DataStructure/FunctionRepBuilder.cpp b/lib/Analysis/DataStructure/FunctionRepBuilder.cpp
index 965185a..eda16bc 100644
--- a/lib/Analysis/DataStructure/FunctionRepBuilder.cpp
+++ b/lib/Analysis/DataStructure/FunctionRepBuilder.cpp
@@ -143,26 +143,28 @@
   // 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<PointerType>((*I)->getType())) {
-      ArgDSNode *Arg = new ArgDSNode(*I);
-      ArgNodes.push_back(Arg);
+    if (PointerType *PT = dyn_cast<PointerType>(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.