treat TAILCALL nodes identically to CALL nodes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21977 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Alpha/AlphaISelPattern.cpp b/lib/Target/Alpha/AlphaISelPattern.cpp
index 28930ce..d7dab5d 100644
--- a/lib/Target/Alpha/AlphaISelPattern.cpp
+++ b/lib/Target/Alpha/AlphaISelPattern.cpp
@@ -1193,7 +1193,7 @@
   unsigned &Reg = ExprMap[N];
   if (Reg) return Reg;
 
-  if (N.getOpcode() != ISD::CALL)
+  if (N.getOpcode() != ISD::CALL && N.getOpcode() != ISD::TAILCALL)
     Reg = Result = (N.getValueType() != MVT::Other) ?
       MakeReg(N.getValueType()) : notIn;
   else {
@@ -1217,7 +1217,7 @@
         (N.getValue(0).getValueType() == MVT::f32 ||
          N.getValue(0).getValueType() == MVT::f64)
        ))
-       && opcode != ISD::CALL
+      && opcode != ISD::CALL && opcode != ISD::TAILCALL
       )
     return SelectExprFP(N, Result);
 
@@ -1376,6 +1376,7 @@
       .addGlobalAddress(cast<GlobalAddressSDNode>(N)->getGlobal());
     return Result;
 
+  case ISD::TAILCALL:
   case ISD::CALL:
     {
       Select(N.getOperand(0));
@@ -2242,6 +2243,7 @@
   case ISD::ZEXTLOAD:
   case ISD::LOAD:
   case ISD::CopyFromReg:
+  case ISD::TAILCALL:
   case ISD::CALL:
   case ISD::DYNAMIC_STACKALLOC:
     ExprMap.erase(N);