summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-10-11 00:10:41 +0000
committerBill Wendling <isanbard@gmail.com>2011-10-11 00:10:41 +0000
commit98703350d02c49026472db2d55ab171ed6b07670 (patch)
treeb0d77512325ba350f6792ed9c81fc7abf092298e /llvm/lib
parent60b2b2ee0d9ef894aaf45073385cdc9d726dc9e0 (diff)
downloadbcm5719-llvm-98703350d02c49026472db2d55ab171ed6b07670.tar.gz
bcm5719-llvm-98703350d02c49026472db2d55ab171ed6b07670.zip
Simplify check that optional def is there and is CPSR.
llvm-svn: 141602
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp b/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
index 2bf99bfd5c3..b6274007b23 100644
--- a/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
+++ b/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
@@ -140,11 +140,10 @@ Thumb2ITBlockPass::MoveCopyOutOfITBlock(MachineInstr *MI,
// rsb r1, 0
// rsb r2, 0
//
- //
- for (unsigned I = 0, E = MI->getNumOperands(); I != E; ++I)
- if (MI->getOperand(I).isReg() && MI->getOperand(I).getReg() == ARM::CPSR &&
- MI->getOperand(I).isDef())
- return false;
+ const MCInstrDesc &MCID = MI->getDesc();
+ if (MCID.hasOptionalDef() &&
+ MI->getOperand(MCID.getNumOperands() - 1).getReg() == ARM::CPSR)
+ return false;
// Then peek at the next instruction to see if it's predicated on CC or OCC.
// If not, then there is nothing to be gained by moving the copy.
OpenPOWER on IntegriCloud