Revert r112623. It is causing self host build failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112631 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp b/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
index bed9c08..77a2c86 100644
--- a/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
+++ b/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
@@ -254,29 +254,6 @@
   return FirstReg;
 }
 
-/// setByValArgumentFrameIndex - Record frame index for the byval
-/// argument. This overrides previous frame index entry for this argument,
-/// if any.
-void FunctionLoweringInfo::setByValArgumentFrameIndex(const Argument *A, 
-                                                      int FI) {
-  assert (A->hasByValAttr() && "Argument does not have byval attribute!");
-  ByValArgFrameIndexMap[A] = FI;
-}
-  
-/// getByValArgumentFrameIndex - Get frame index for the byval argument.
-/// This routine must be used after the argument's frame index is set.
-/// If the argument does not have any entry in the map then assertion 
-/// will be raised.
-int FunctionLoweringInfo::getByValArgumentFrameIndex(const Argument *A) {
-  assert (A->hasByValAttr() && "Argument does not have byval attribute!");
-  DenseMap<const Argument *, int>::iterator I = 
-    ByValArgFrameIndexMap.find(A);
-  assert (I != ByValArgFrameIndexMap.end() && 
-          "Argument does not have assigned frame index!");
-  return I->second;
-          
-}
-
 /// AddCatchInfo - Extract the personality and type infos from an eh.selector
 /// call, and add them to the specified machine basic block.
 void llvm::AddCatchInfo(const CallInst &I, MachineModuleInfo *MMI,
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index 0a33021..b70bfea 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -3917,8 +3917,7 @@
 SelectionDAGBuilder::EmitFuncArgumentDbgValue(const Value *V, MDNode *Variable,
                                               int64_t Offset, 
                                               const SDValue &N) {
-  const Argument *Arg = dyn_cast<Argument>(V);
-  if (!Arg)
+  if (!isa<Argument>(V))
     return false;
 
   MachineFunction &MF = DAG.getMachineFunction();
@@ -3932,14 +3931,6 @@
     return false;
 
   unsigned Reg = 0;
-  if (Arg->hasByValAttr()) {
-    // Byval arguments' frame index is recorded during argument lowering.
-    // Use this info directly.
-    const TargetRegisterInfo *TRI = DAG.getTarget().getRegisterInfo();
-    Reg = TRI->getFrameRegister(MF);
-    Offset = FuncInfo.getByValArgumentFrameIndex(Arg);
-  }
-
   if (N.getNode() && N.getOpcode() == ISD::CopyFromReg) {
     Reg = cast<RegisterSDNode>(N.getOperand(1))->getReg();
     if (Reg && TargetRegisterInfo::isVirtualRegister(Reg)) {
@@ -6140,12 +6131,6 @@
       i += NumParts;
     }
 
-    // Note down frame index for byval arguments.
-    if (I->hasByValAttr() && !ArgValues.empty())
-      if (FrameIndexSDNode *FI = 
-          dyn_cast<FrameIndexSDNode>(ArgValues[0].getNode()))
-        FuncInfo->setByValArgumentFrameIndex(I, FI->getIndex());
-
     if (!I->use_empty()) {
       SDValue Res;
       if (!ArgValues.empty())