mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-05 14:34:55 +00:00
the darwin9-powerpc buildbot keeps consistently crashing,
backing out following to get it back to green, so I can investigate in peace: svn merge -c -113840 llvm/test/CodeGen/ARM/arm-and-tst-peephole.ll svn merge -c -113876 -c -113839 llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113980 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
34327856d9
commit
7602993f2d
@ -1352,20 +1352,6 @@ AnalyzeCompare(const MachineInstr *MI, unsigned &SrcReg, int &CmpValue) const {
|
|||||||
SrcReg = MI->getOperand(0).getReg();
|
SrcReg = MI->getOperand(0).getReg();
|
||||||
CmpValue = MI->getOperand(1).getImm();
|
CmpValue = MI->getOperand(1).getImm();
|
||||||
return true;
|
return true;
|
||||||
case ARM::TSTri: {
|
|
||||||
if (&*MI->getParent()->begin() == MI)
|
|
||||||
return false;
|
|
||||||
const MachineInstr *AND = llvm::prior(MI);
|
|
||||||
if (AND->getOpcode() != ARM::ANDri)
|
|
||||||
return false;
|
|
||||||
if (MI->getOperand(0).getReg() == AND->getOperand(1).getReg() &&
|
|
||||||
MI->getOperand(1).getImm() == AND->getOperand(2).getImm()) {
|
|
||||||
SrcReg = AND->getOperand(0).getReg();
|
|
||||||
CmpValue = 0;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -1415,8 +1401,6 @@ OptimizeCompareInstr(MachineInstr *CmpInstr, unsigned SrcReg, int CmpValue,
|
|||||||
switch (MI->getOpcode()) {
|
switch (MI->getOpcode()) {
|
||||||
default: break;
|
default: break;
|
||||||
case ARM::ADDri:
|
case ARM::ADDri:
|
||||||
case ARM::ANDri:
|
|
||||||
case ARM::t2ANDri:
|
|
||||||
case ARM::SUBri:
|
case ARM::SUBri:
|
||||||
case ARM::t2ADDri:
|
case ARM::t2ADDri:
|
||||||
case ARM::t2SUBri:
|
case ARM::t2SUBri:
|
||||||
|
@ -17,7 +17,8 @@ tailrecurse: ; preds = %sw.bb, %entry
|
|||||||
%tmp2 = load i8** %scevgep5
|
%tmp2 = load i8** %scevgep5
|
||||||
%0 = ptrtoint i8* %tmp2 to i32
|
%0 = ptrtoint i8* %tmp2 to i32
|
||||||
|
|
||||||
; CHECK: ands r12, r12, #3
|
; CHECK: and lr, r12, #3
|
||||||
|
; CHECK-NEXT: tst r12, #3
|
||||||
; CHECK-NEXT: beq LBB0_4
|
; CHECK-NEXT: beq LBB0_4
|
||||||
|
|
||||||
; T2: movs r5, #3
|
; T2: movs r5, #3
|
||||||
|
Loading…
x
Reference in New Issue
Block a user