perhaps this will let me have calls again
authorAndrew Lenharth <andrewl@lenharth.org>
Thu, 27 Jan 2005 01:22:48 +0000 (01:22 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Thu, 27 Jan 2005 01:22:48 +0000 (01:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19851 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Alpha/AlphaISelPattern.cpp

index 0e1cf144251bb7ce6bcbd68553097561ef7ed9ad..df6d00da992073143d706f500ca43b26fc9c407f 100644 (file)
@@ -220,6 +220,9 @@ AlphaTargetLowering::LowerCallTo(SDOperand Chain,
        break;
       case MVT::i64:
        break;
+      case MVT::f64:
+      case MVT::f32:
+       break;
       }
       args_to_use.push_back(Args[i].first);
     }
@@ -454,8 +457,12 @@ unsigned ISel::SelectExpr(SDOperand N) {
                                 Alpha::R19, Alpha::R20, Alpha::R21};
          unsigned args_float[] = {Alpha::F16, Alpha::F17, Alpha::F18, 
                                   Alpha::F19, Alpha::F20, Alpha::F21};
-         switch(N.getOperand(i).getValueType()) {
-         default: Node->dump(); assert(0 && "Unknown value type for call");
+         switch(N.getOperand(i+2).getValueType()) {
+         default: 
+           Node->dump(); 
+           N.getOperand(i).Val->dump();
+           std::cerr << "Type for " << i << " is: " << N.getOperand(i+2).getValueType() << "\n";
+           assert(0 && "Unknown value type for call");
          case MVT::i1:
          case MVT::i8:
          case MVT::i16:
@@ -474,20 +481,17 @@ unsigned ISel::SelectExpr(SDOperand N) {
       if (GlobalAddressSDNode *GASD =
          dyn_cast<GlobalAddressSDNode>(N.getOperand(1))) 
        {
-         Select(N.getOperand(0));
          AlphaLowering.restoreGP(BB);
          BuildMI(BB, Alpha::CALL, 1).addGlobalAddress(GASD->getGlobal(),true);
        } 
       else if (ExternalSymbolSDNode *ESSDN =
               dyn_cast<ExternalSymbolSDNode>(N.getOperand(1))) 
        {
-         Select(N.getOperand(0));
          AlphaLowering.restoreGP(BB);
          BuildMI(BB, Alpha::CALL, 0).addExternalSymbol(ESSDN->getSymbol(), true);
        } 
       else 
        {
-         Select(N.getOperand(0));
          Tmp1 = SelectExpr(N.getOperand(1));
          BuildMI(BB, Alpha::CALL, 1).addReg(Tmp1);
          AlphaLowering.restoreGP(BB);