mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
Add skipFunction to PostRA machine sinking pass.
Summary: Add skipFunction to PostRA machine sinking pass. Reviewers: junbuml Subscribers: arsenm, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57847 llvm-svn: 354541
This commit is contained in:
parent
69c3d0de2b
commit
6cd77adb87
@ -1202,6 +1202,9 @@ bool PostRAMachineSinking::tryToSinkCopy(MachineBasicBlock &CurBB,
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool PostRAMachineSinking::runOnMachineFunction(MachineFunction &MF) {
|
bool PostRAMachineSinking::runOnMachineFunction(MachineFunction &MF) {
|
||||||
|
if (skipFunction(MF.getFunction()))
|
||||||
|
return false;
|
||||||
|
|
||||||
bool Changed = false;
|
bool Changed = false;
|
||||||
const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
|
const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
|
||||||
const TargetInstrInfo *TII = MF.getSubtarget().getInstrInfo();
|
const TargetInstrInfo *TII = MF.getSubtarget().getInstrInfo();
|
||||||
|
40
test/CodeGen/AArch64/bisect-post-ra-machine-sink.mir
Normal file
40
test/CodeGen/AArch64/bisect-post-ra-machine-sink.mir
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass=postra-machine-sink -verify-machineinstrs -o - %s | FileCheck -check-prefix=RUN-POSTRA %s
|
||||||
|
# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass=postra-machine-sink -opt-bisect-limit=0 -verify-machineinstrs -o - %s | FileCheck -check-prefix=BISECT-NO-RUN-POSTRA %s
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Make sure the pass is run.
|
||||||
|
# Sink w19 to %bb.1.
|
||||||
|
# RUN-POSTRA-LABEL: name: sinkcopy1
|
||||||
|
# RUN-POSTRA: bb.0:
|
||||||
|
# RUN-POSTRA-NOT: $w19 = COPY killed $w0
|
||||||
|
# RUN-POSTRA: bb.1:
|
||||||
|
# RUN-POSTRA: liveins: $w1, $w0
|
||||||
|
# RUN-POSTRA: renamable $w19 = COPY killed $w0
|
||||||
|
|
||||||
|
# Make sure the pass it not run.
|
||||||
|
# BISECT-NO-RUN-POSTRA-LABEL: name: sinkcopy1
|
||||||
|
# BISECT-NO-RUN-POSTRA: bb.0:
|
||||||
|
# BISECT-NO-RUN-POSTRA: $w19 = COPY killed $w0
|
||||||
|
# BISECT-NO-RUN-POSTRA: bb.1:
|
||||||
|
# BISECT-NO-RUN-POSTRA: liveins: $w1, $w19
|
||||||
|
|
||||||
|
name: sinkcopy1
|
||||||
|
tracksRegLiveness: true
|
||||||
|
body: |
|
||||||
|
bb.0:
|
||||||
|
liveins: $w0, $w1
|
||||||
|
$w1 = SUBSWri $w1, 1, 0, implicit-def $nzcv
|
||||||
|
renamable $w19 = COPY killed $w0
|
||||||
|
Bcc 11, %bb.1, implicit $nzcv
|
||||||
|
B %bb.2
|
||||||
|
|
||||||
|
bb.1:
|
||||||
|
liveins: $w1, $w19
|
||||||
|
$w0 = ADDWrr $w1, $w19
|
||||||
|
RET $x0
|
||||||
|
|
||||||
|
bb.2:
|
||||||
|
$w0 = COPY $wzr
|
||||||
|
RET $x0
|
||||||
|
...
|
Loading…
Reference in New Issue
Block a user