who said we had to use the return address in the return address register.  Might save a move in many cases

llvm-svn: 22293
diff --git a/llvm/lib/Target/Alpha/AlphaISelPattern.cpp b/llvm/lib/Target/Alpha/AlphaISelPattern.cpp
index e2610c4..9c9b3d6 100644
--- a/llvm/lib/Target/Alpha/AlphaISelPattern.cpp
+++ b/llvm/lib/Target/Alpha/AlphaISelPattern.cpp
@@ -179,6 +179,10 @@
     {
       BuildMI(BB, Alpha::BIS, 2, Alpha::R26).addReg(RA).addReg(RA);
     }
+    unsigned getRA()
+    {
+      return RA;
+    }
 
   };
 }
@@ -2310,8 +2314,7 @@
       Select(N.getOperand(0));
       break;
     }
-    AlphaLowering.restoreRA(BB);
-    BuildMI(BB, Alpha::RET, 1, Alpha::R31).addReg(Alpha::R26); // Just emit a 'ret' instruction
+    BuildMI(BB, Alpha::RET, 1, Alpha::R31).addReg(AlphaLowering.getRA()); // Just emit a 'ret' instruction
     return;
 
   case ISD::TRUNCSTORE: