Switch to AlphaISD::CALL instead of ISD::CALL
authorChris Lattner <sabre@nondot.org>
Fri, 27 Jan 2006 23:39:00 +0000 (23:39 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 27 Jan 2006 23:39:00 +0000 (23:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25718 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Alpha/AlphaISelDAGToDAG.cpp
lib/Target/Alpha/AlphaISelLowering.cpp
lib/Target/Alpha/AlphaISelLowering.h

index 6d71a2cb61f103466c6b89e22bc07a6e51eb4c2e..2b83f39bb47090af1ac16883a9d28c29a1e2205b 100644 (file)
@@ -161,8 +161,7 @@ SDOperand AlphaDAGToDAGISel::Select(SDOperand Op) {
   
   switch (N->getOpcode()) {
   default: break;
-  case ISD::TAILCALL:
-  case ISD::CALL: return SelectCALL(Op);
+  case AlphaISD::CALL: return SelectCALL(Op);
 
   case ISD::FrameIndex: {
     int FI = cast<FrameIndexSDNode>(N)->getIndex();
index d6b1bb314e1b50ec57a7b6557d46d39a7ee1b27a..ac21b563b4bdbd8651c91c22630f6df8b75983de 100644 (file)
@@ -164,6 +164,7 @@ const char *AlphaTargetLowering::getTargetNodeName(unsigned Opcode) const {
   case AlphaISD::GPRelLo: return "Alpha::GPRelLo";
   case AlphaISD::RelLit: return "Alpha::RelLit";
   case AlphaISD::GlobalBaseReg: return "Alpha::GlobalBaseReg";
+  case AlphaISD::CALL:   return "Alpha::CALL";
   case AlphaISD::DivCall: return "Alpha::DivCall";
   case AlphaISD::LDQ_: return "Alpha::LDQ_";
   case AlphaISD::LDT_: return "Alpha::LDT_";
@@ -357,8 +358,11 @@ AlphaTargetLowering::LowerCallTo(SDOperand Chain,
     RetVals.push_back(ActualRetTyVT);
   RetVals.push_back(MVT::Other);
 
-  SDOperand TheCall = SDOperand(DAG.getCall(RetVals,
-                                            Chain, Callee, args_to_use), 0);
+  std::vector<SDOperand> Ops;
+  Ops.push_back(Chain);
+  Ops.push_back(Callee);
+  Ops.insert(Ops.end(), args_to_use.begin(), args_to_use.end());
+  SDOperand TheCall = DAG.getNode(AlphaISD::CALL, RetVals, Ops);
   Chain = TheCall.getValue(RetTyVT != MVT::isVoid);
   Chain = DAG.getNode(ISD::CALLSEQ_END, MVT::Other, Chain,
                       DAG.getConstant(NumBytes, getPointerTy()));
index aedaf395c6e7cf32f246d628c686103eb57bbe78..33f87ce8187b416d30f350777926da699314d541 100644 (file)
@@ -37,6 +37,9 @@ namespace llvm {
 
       /// GlobalBaseReg - used to restore the GOT ptr
       GlobalBaseReg,
+      
+      /// CALL - Normal call.
+      CALL,
 
       /// DIVCALL - used for special library calls for div and rem
       DivCall,