[llvm-commits] [llvm] r106058 - /llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
Dale Johannesen
dalej at apple.com
Tue Jun 15 15:24:09 PDT 2010
Author: johannes
Date: Tue Jun 15 17:24:08 2010
New Revision: 106058
URL: http://llvm.org/viewvc/llvm-project?rev=106058&view=rev
Log:
Add file missing from previous commit.
Modified:
llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
Modified: llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?rev=106058&r1=106057&r2=106058&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrInfo.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrInfo.td Tue Jun 15 17:24:08 2010
@@ -1044,7 +1044,7 @@
Pseudo, IIC_Br,
"@TC_RETURN","\t$dst", []>, Requires<[IsDarwin]>;
- def TCRETURNri : AInoP<(outs), (ins tGPR:$dst, variable_ops),
+ def TCRETURNri : AInoP<(outs), (ins tcGPR:$dst, variable_ops),
Pseudo, IIC_Br,
"@TC_RETURN","\t$dst", []>, Requires<[IsDarwin]>;
@@ -1052,7 +1052,7 @@
IIC_Br, "b\t$dst @ TAILCALL",
[]>, Requires<[IsDarwin]>;
- def TAILJMPr : AXI<(outs), (ins tGPR:$dst, variable_ops),
+ def TAILJMPr : AXI<(outs), (ins tcGPR:$dst, variable_ops),
BrMiscFrm, IIC_Br, "bx\t$dst @ TAILCALL",
[]>, Requires<[IsDarwin]> {
let Inst{7-4} = 0b0001;
@@ -1476,6 +1476,14 @@
let Inst{25} = 0;
}
+// A version for the smaller set of tail call registers.
+let neverHasSideEffects = 1 in
+def MOVr_TC : AsI1<0b1101, (outs tcGPR:$dst), (ins tcGPR:$src), DPFrm,
+ IIC_iMOVr, "mov", "\t$dst, $src", []>, UnaryDP {
+ let Inst{11-4} = 0b00000000;
+ let Inst{25} = 0;
+}
+
def MOVs : AsI1<0b1101, (outs GPR:$dst), (ins so_reg:$src),
DPSoRegFrm, IIC_iMOVsr,
"mov", "\t$dst, $src", [(set GPR:$dst, so_reg:$src)]>, UnaryDP {
@@ -2700,8 +2708,8 @@
// TODO: add,sub,and, 3-instr forms?
// Tail calls
-def : ARMPat<(ARMtcret tGPR:$dst),
- (TCRETURNri tGPR:$dst)>, Requires<[IsDarwin]>;
+def : ARMPat<(ARMtcret tcGPR:$dst),
+ (TCRETURNri tcGPR:$dst)>, Requires<[IsDarwin]>;
def : ARMPat<(ARMtcret (i32 tglobaladdr:$dst)),
(TCRETURNdi texternalsym:$dst)>, Requires<[IsDarwin]>;
@@ -2709,8 +2717,8 @@
def : ARMPat<(ARMtcret (i32 texternalsym:$dst)),
(TCRETURNdi texternalsym:$dst)>, Requires<[IsDarwin]>;
-def : ARMPat<(ARMtcret tGPR:$dst),
- (TCRETURNriND tGPR:$dst)>, Requires<[IsNotDarwin]>;
+def : ARMPat<(ARMtcret tcGPR:$dst),
+ (TCRETURNriND tcGPR:$dst)>, Requires<[IsNotDarwin]>;
def : ARMPat<(ARMtcret (i32 tglobaladdr:$dst)),
(TCRETURNdiND texternalsym:$dst)>, Requires<[IsNotDarwin]>;
More information about the llvm-commits
mailing list