set mayStore and mayLoad on CR pseudos
authorHal Finkel <hfinkel@anl.gov>
Wed, 7 Dec 2011 06:33:57 +0000 (06:33 +0000)
committerHal Finkel <hfinkel@anl.gov>
Wed, 7 Dec 2011 06:33:57 +0000 (06:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146022 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCInstrInfo.td

index ec54867d4941e510aaea1a3b9b4622e0d738b362..5b1a1c8526ca1ddf3379605716bca79e8c6a67ad 100644 (file)
@@ -399,12 +399,14 @@ let usesCustomInserter = 1,    // Expanded after instruction selection.
 
 // SPILL_CR - Indicate that we're dumping the CR register, so we'll need to
 // scavenge a register for it.
-def SPILL_CR : Pseudo<(outs), (ins GPRC:$cond, memri:$F),
+let mayStore = 1 in
+def SPILL_CR : Pseudo<(outs), (ins CRRC:$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 mayLoad = 1 in
+def RESTORE_CR : Pseudo<(outs CRRC:$cond), (ins memri:$F),
                      "", []>;
 
 let isTerminator = 1, isBarrier = 1, PPC970_Unit = 7 in {