diff options
Diffstat (limited to 'lib/Target/ARM/ARMLoadStoreOptimizer.cpp')
-rw-r--r-- | lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp index 7977555b0e..f9d760b874 100644 --- a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp +++ b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp @@ -245,8 +245,9 @@ ARMLoadStoreOpt::MergeLDR_STR(MachineBasicBlock &MBB, unsigned SIndex, /// getInstrPredicate - If instruction is predicated, returns its predicate /// condition, otherwise returns AL. static ARMCC::CondCodes getInstrPredicate(MachineInstr *MI) { - MachineOperand *PredMO = MI->findFirstPredOperand(); - return PredMO ? (ARMCC::CondCodes)PredMO->getImmedValue() : ARMCC::AL; + int PIdx = MI->findFirstPredOperandIdx(); + return PIdx == -1 ? ARMCC::AL + : (ARMCC::CondCodes)MI->getOperand(PIdx).getImmedValue(); } static inline bool isMatchingDecrement(MachineInstr *MI, unsigned Base, |