mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-03 01:12:59 +00:00
Disable Mips' delay slot filler when optimization level is O0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162589 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
45d8dbc92d
commit
16865d0612
@ -115,7 +115,9 @@ runOnMachineBasicBlock(MachineBasicBlock &MBB) {
|
||||
|
||||
InstrIter D;
|
||||
|
||||
if (!DisableDelaySlotFiller && findDelayInstr(MBB, I, D)) {
|
||||
// Delay slot filling is disabled at -O0.
|
||||
if (!DisableDelaySlotFiller && (TM.getOptLevel() != CodeGenOpt::None) &&
|
||||
findDelayInstr(MBB, I, D)) {
|
||||
MBB.splice(llvm::next(I), &MBB, D);
|
||||
++UsefulSlots;
|
||||
} else
|
||||
|
@ -1,12 +1,18 @@
|
||||
; RUN: llc -march=mipsel < %s | FileCheck %s
|
||||
; RUN: llc -march=mipsel -O0 < %s | FileCheck %s -check-prefix=None
|
||||
; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=Default
|
||||
|
||||
define void @foo1() nounwind {
|
||||
entry:
|
||||
; CHECK: jalr
|
||||
; CHECK-NOT: nop
|
||||
; CHECK: jr
|
||||
; CHECK-NOT: nop
|
||||
; CHECK: .end
|
||||
; Default: jalr
|
||||
; Default-NOT: nop
|
||||
; Default: jr
|
||||
; Default-NOT: nop
|
||||
; Default: .end
|
||||
; None: jalr
|
||||
; None: nop
|
||||
; None: jr
|
||||
; None: nop
|
||||
; None: .end
|
||||
|
||||
tail call void @foo2(i32 3) nounwind
|
||||
ret void
|
||||
|
Loading…
Reference in New Issue
Block a user