From 7e57bd518e662524b1197daa8b0925be966dd6e9 Mon Sep 17 00:00:00 2001 From: Andrew Lenharth Date: Thu, 27 Jan 2005 01:22:48 +0000 Subject: [PATCH] perhaps this will let me have calls again git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19851 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Alpha/AlphaISelPattern.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/Target/Alpha/AlphaISelPattern.cpp b/lib/Target/Alpha/AlphaISelPattern.cpp index 0e1cf144251..df6d00da992 100644 --- a/lib/Target/Alpha/AlphaISelPattern.cpp +++ b/lib/Target/Alpha/AlphaISelPattern.cpp @@ -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(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(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);