[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp PPC64ISelPattern.cpp

Chris Lattner lattner at cs.uiuc.edu
Fri May 13 13:29:42 PDT 2005



Changes in directory llvm/lib/Target/PowerPC:

PPC32ISelPattern.cpp updated: 1.89 -> 1.90
PPC64ISelPattern.cpp updated: 1.19 -> 1.20
---
Log message:

treat TAILCALL nodes identically to CALL nodes



---
Diffs of the changes:  (+7 -1)

 PPC32ISelPattern.cpp |    5 ++++-
 PPC64ISelPattern.cpp |    3 +++
 2 files changed, 7 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp
diff -u llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.89 llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.90
--- llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp:1.89	Fri May 13 13:50:29 2005
+++ llvm/lib/Target/PowerPC/PPC32ISelPattern.cpp	Fri May 13 15:29:26 2005
@@ -1539,6 +1539,7 @@
     Reg = Result = (N.getValueType() != MVT::Other) ?
                             MakeReg(N.getValueType()) : 1;
     break;
+  case ISD::TAILCALL:
   case ISD::CALL:
     // If this is a call instruction, make sure to prepare ALL of the result
     // values as well as the chain.
@@ -1569,7 +1570,7 @@
 
   if (DestType == MVT::f64 || DestType == MVT::f32)
     if (ISD::LOAD != opcode && ISD::EXTLOAD != opcode &&
-        ISD::UNDEF != opcode && ISD::CALL != opcode)
+        ISD::UNDEF != opcode && ISD::CALL != opcode && ISD::TAILCALL != opcode)
       return SelectExprFP(N, Result);
 
   switch (opcode) {
@@ -1680,6 +1681,7 @@
     return Result;
   }
 
+  case ISD::TAILCALL:
   case ISD::CALL: {
     unsigned GPR_idx = 0, FPR_idx = 0;
     static const unsigned GPR[] = {
@@ -2504,6 +2506,7 @@
   case ISD::ZEXTLOAD:
   case ISD::LOAD:
   case ISD::CopyFromReg:
+  case ISD::TAILCALL:
   case ISD::CALL:
   case ISD::DYNAMIC_STACKALLOC:
     ExprMap.erase(N);


Index: llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp
diff -u llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp:1.19 llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp:1.20
--- llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp:1.19	Fri May 13 13:50:29 2005
+++ llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp	Fri May 13 15:29:26 2005
@@ -939,6 +939,7 @@
     Reg = Result = (N.getValueType() != MVT::Other) ?
                             MakeReg(N.getValueType()) : 1;
     break;
+  case ISD::TAILCALL:
   case ISD::CALL:
     // If this is a call instruction, make sure to prepare ALL of the result
     // values as well as the chain.
@@ -1070,6 +1071,7 @@
     return Result;
   }
 
+  case ISD::TAILCALL:
   case ISD::CALL: {
     unsigned GPR_idx = 0, FPR_idx = 0;
     static const unsigned GPR[] = {
@@ -1617,6 +1619,7 @@
   case ISD::ZEXTLOAD:
   case ISD::LOAD:
   case ISD::CopyFromReg:
+  case ISD::TAILCALL:
   case ISD::CALL:
   case ISD::DYNAMIC_STACKALLOC:
     ExprMap.erase(N);






More information about the llvm-commits mailing list