who said we had to use the return address in the return address register. Might save a move in many cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22293 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Alpha/AlphaISelPattern.cpp b/lib/Target/Alpha/AlphaISelPattern.cpp
index e2610c4..9c9b3d6 100644
--- a/lib/Target/Alpha/AlphaISelPattern.cpp
+++ b/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: