diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp index 5881a121a9d..7e166d52737 100644 --- a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp +++ b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp @@ -1358,6 +1358,8 @@ bool ARMBaseInstrInfo::  AnalyzeCompare(const MachineInstr *MI, unsigned &SrcReg, int &CmpValue) const {    switch (MI->getOpcode()) {    default: break; +  case ARM::CMPri: +  case ARM::CMPzri:    case ARM::t2CMPri:    case ARM::t2CMPzri:      SrcReg = MI->getOperand(0).getReg(); @@ -1398,6 +1400,9 @@ ConvertToSetZeroFlag(MachineInstr *MI, MachineInstr *CmpInstr) const {    // Set the "zero" bit in CPSR.    switch (MI->getOpcode()) {    default: break; +  case ARM::ADDri: +  case ARM::SUBri: +  case ARM::t2ADDri:    case ARM::t2SUBri: {      MI->RemoveOperand(5);      MachineInstrBuilder MB(MI);  | 

