142288 broke the build:
[oota-llvm.git] / lib / Target / PTX / PTXISelLowering.cpp
index ce8cd7cdbe662fc9329e9aefd77f6b186619af05..3307d91a618803749a7e0a69dcced775d1e2aee3 100644 (file)
@@ -236,37 +236,7 @@ SDValue PTXTargetLowering::
   else {
     for (unsigned i = 0, e = Ins.size(); i != e; ++i) {
       EVT                  RegVT = Ins[i].VT;
-      TargetRegisterClass* TRC   = 0;
-      int                  OpCode;
-
-      // Determine which register class we need
-      if (RegVT == MVT::i1) {
-        TRC = PTX::RegPredRegisterClass;
-        OpCode = PTX::READPARAMPRED;
-      }
-      else if (RegVT == MVT::i16) {
-        TRC = PTX::RegI16RegisterClass;
-        OpCode = PTX::READPARAMI16;
-      }
-      else if (RegVT == MVT::i32) {
-        TRC = PTX::RegI32RegisterClass;
-        OpCode = PTX::READPARAMI32;
-      }
-      else if (RegVT == MVT::i64) {
-        TRC = PTX::RegI64RegisterClass;
-        OpCode = PTX::READPARAMI64;
-      }
-      else if (RegVT == MVT::f32) {
-        TRC = PTX::RegF32RegisterClass;
-        OpCode = PTX::READPARAMF32;
-      }
-      else if (RegVT == MVT::f64) {
-        TRC = PTX::RegF64RegisterClass;
-        OpCode = PTX::READPARAMF64;
-      }
-      else {
-        llvm_unreachable("Unknown parameter type");
-      }
+      TargetRegisterClass* TRC   = getRegClassFor(RegVT);
 
       // Use a unique index in the instruction to prevent instruction folding.
       // Yes, this is a hack.
@@ -275,10 +245,6 @@ SDValue PTXTargetLowering::
       SDValue ArgValue = DAG.getNode(PTXISD::READ_PARAM, dl, RegVT, Chain,
                                      Index);
 
-      SDValue Flag = ArgValue.getValue(1);
-
-      SDValue Copy = DAG.getCopyFromReg(Chain, dl, Reg, RegVT);
-      SDValue RegValue = DAG.getRegister(Reg, RegVT);
       InVals.push_back(ArgValue);
 
       MFI->addArgReg(Reg);
@@ -448,3 +414,9 @@ PTXTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
 
   return Chain;
 }
+
+unsigned PTXTargetLowering::getNumRegisters(LLVMContext &Context, EVT VT) {
+  // All arguments consist of one "register," regardless of the type.
+  return 1;
+}
+