[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