[PATCH] D57847: Add skipFunction to PostRA machine sinking pass.
Xin Tong via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 20 18:10:31 PST 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL354541: Add skipFunction to PostRA machine sinking pass. (authored by trentxintong, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D57847?vs=187292&id=187709#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57847/new/
https://reviews.llvm.org/D57847
Files:
llvm/trunk/lib/CodeGen/MachineSink.cpp
llvm/trunk/test/CodeGen/AArch64/bisect-post-ra-machine-sink.mir
Index: llvm/trunk/test/CodeGen/AArch64/bisect-post-ra-machine-sink.mir
===================================================================
--- llvm/trunk/test/CodeGen/AArch64/bisect-post-ra-machine-sink.mir
+++ llvm/trunk/test/CodeGen/AArch64/bisect-post-ra-machine-sink.mir
@@ -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
+...
Index: llvm/trunk/lib/CodeGen/MachineSink.cpp
===================================================================
--- llvm/trunk/lib/CodeGen/MachineSink.cpp
+++ llvm/trunk/lib/CodeGen/MachineSink.cpp
@@ -1202,6 +1202,9 @@
}
bool PostRAMachineSinking::runOnMachineFunction(MachineFunction &MF) {
+ if (skipFunction(MF.getFunction()))
+ return false;
+
bool Changed = false;
const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
const TargetInstrInfo *TII = MF.getSubtarget().getInstrInfo();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57847.187709.patch
Type: text/x-patch
Size: 1983 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190221/60fd575f/attachment.bin>
More information about the llvm-commits
mailing list