summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPCInstrInfo.td
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2011-12-06 20:55:36 +0000
committerHal Finkel <hfinkel@anl.gov>2011-12-06 20:55:36 +0000
commitd21e930eac3d99dd77ee33ea5826700b4bc97ae8 (patch)
treeb16564f71be4419178b3f51f51232fc028515054 /lib/Target/PowerPC/PPCInstrInfo.td
parent16588e794c7528c24fb15ee8e28653bffe78c3da (diff)
downloadllvm-d21e930eac3d99dd77ee33ea5826700b4bc97ae8.tar.gz
llvm-d21e930eac3d99dd77ee33ea5826700b4bc97ae8.tar.bz2
llvm-d21e930eac3d99dd77ee33ea5826700b4bc97ae8.tar.xz
add RESTORE_CR and support CR unspills
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145961 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCInstrInfo.td')
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.td5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td
index 74a42ba8c4..ec54867d49 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.td
+++ b/lib/Target/PowerPC/PPCInstrInfo.td
@@ -402,6 +402,11 @@ let usesCustomInserter = 1, // Expanded after instruction selection.
def SPILL_CR : Pseudo<(outs), (ins GPRC:$cond, memri:$F),
"", []>;
+// RESTORE_CR - Indicate that we're restoring the CR register (previously
+// spilled), so we'll need to scavenge a register for it.
+def RESTORE_CR : Pseudo<(outs GPRC:$cond), (ins memri:$F),
+ "", []>;
+
let isTerminator = 1, isBarrier = 1, PPC970_Unit = 7 in {
let isReturn = 1, Uses = [LR, RM] in
def BLR : XLForm_2_br<19, 16, 0, (outs), (ins pred:$p),