summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorAlexander Timofeev <Alexander.Timofeev@amd.com>2017-10-16 14:35:29 +0000
committerAlexander Timofeev <Alexander.Timofeev@amd.com>2017-10-16 14:35:29 +0000
commit3828242c7e6527aaacff32f0c42b0e0fd37a20a6 (patch)
tree5c272ccc509575bb0c7334ce6d7f7571e55e622d /llvm/test
parent259b190f0dfe1f076c5fdf080c9beb55a37945c7 (diff)
downloadbcm5719-llvm-3828242c7e6527aaacff32f0c42b0e0fd37a20a6.tar.gz
bcm5719-llvm-3828242c7e6527aaacff32f0c42b0e0fd37a20a6.zip
[AMDGPU] Prevent Machine Copy Propagation from replacing live copy with the dead one
Differential revision: https://reviews.llvm.org/D38754 llvm-svn: 315908
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/AMDGPU/dead_copy.mir27
1 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/dead_copy.mir b/llvm/test/CodeGen/AMDGPU/dead_copy.mir
new file mode 100644
index 00000000000..76a25f2ba80
--- /dev/null
+++ b/llvm/test/CodeGen/AMDGPU/dead_copy.mir
@@ -0,0 +1,27 @@
+# RUN: llc -o - %s -march=amdgcn -mcpu=fiji -run-pass=machine-cp -verify-machineinstrs | FileCheck -check-prefix=GCN %s
+
+# GCN-LABEL: dead_copy
+# GCN: bb.0
+# GCN-NOT: dead %vgpr5 = COPY undef %vgpr11, implicit %exec
+# GCN: %vgpr5 = COPY %vgpr11, implicit %exec
+
+---
+name: dead_copy
+
+body: |
+
+ bb.0:
+ liveins: %vgpr11, %sgpr0, %sgpr1, %vgpr6, %vgpr7, %vgpr4
+
+ dead %vgpr5 = COPY undef %vgpr11, implicit %exec
+
+ %vgpr5 = COPY %vgpr11, implicit %exec
+
+ %sgpr14 = S_ADD_U32 %sgpr0, target-flags(amdgpu-gotprel) 1136, implicit-def %scc
+ %sgpr15 = S_ADDC_U32 %sgpr1, target-flags(amdgpu-gotprel32-lo) 0, implicit-def dead %scc, implicit %scc
+
+ %vgpr10 = COPY killed %sgpr14, implicit %exec
+ %vgpr11 = COPY killed %sgpr15, implicit %exec
+
+ FLAT_STORE_DWORDX4 %vgpr10_vgpr11, %vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit %exec, implicit %flat_scr
+...
OpenPOWER on IntegriCloud