[MachineCopyPropagation][RISCV] Add test case showing failure for MachineCopyPropagat...
authorHan-Kuan Chen <hankuan.chen@sifive.com>
Fri, 17 Jun 2022 08:34:10 +0000 (01:34 -0700)
committerHan-Kuan Chen <hankuan.chen@sifive.com>
Sat, 18 Jun 2022 04:39:53 +0000 (21:39 -0700)
This is a pre-commit test cases for D128039.

Differential Revision: https://reviews.llvm.org/D128040

llvm/test/CodeGen/RISCV/machine-cp.mir [new file with mode: 0644]

diff --git a/llvm/test/CodeGen/RISCV/machine-cp.mir b/llvm/test/CodeGen/RISCV/machine-cp.mir
new file mode 100644 (file)
index 0000000..5e40064
--- /dev/null
@@ -0,0 +1,34 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
+# RUN: llc -o - %s -mtriple=riscv32 -simplify-mir \
+# RUN:   -run-pass=machine-cp | FileCheck --check-prefix=RV32 %s
+# RUN: llc -o - %s -mtriple=riscv64 -simplify-mir \
+# RUN:   -run-pass=machine-cp | FileCheck --check-prefix=RV64 %s
+
+--- |
+  define void @foo() {
+  entry:
+    ret void
+  }
+...
+---
+name:            foo
+body:             |
+  bb.0.entry:
+    liveins: $v28_v29_v30, $v8_v9, $v1
+    ; RV32-LABEL: name: foo
+    ; RV32: liveins: $v28_v29_v30, $v8_v9, $v1
+    ; RV32-NEXT: {{  $}}
+    ; RV32-NEXT: renamable $v4_v5_v6_v7_v8_v9_v10_v11 = COPY renamable $v0_v1_v2_v3_v4_v5_v6_v7
+    ; RV32-NEXT: renamable $v28 = COPY $v1, implicit killed $v28_v29_v30, implicit-def $v28_v29_v30
+    ; RV32-NEXT: PseudoRET implicit $v28
+    ; RV64-LABEL: name: foo
+    ; RV64: liveins: $v28_v29_v30, $v8_v9, $v1
+    ; RV64-NEXT: {{  $}}
+    ; RV64-NEXT: renamable $v4_v5_v6_v7_v8_v9_v10_v11 = COPY renamable $v0_v1_v2_v3_v4_v5_v6_v7
+    ; RV64-NEXT: renamable $v28 = COPY $v1, implicit killed $v28_v29_v30, implicit-def $v28_v29_v30
+    ; RV64-NEXT: PseudoRET implicit $v28
+    renamable $v8 = COPY renamable $v1, implicit killed $v8_v9, implicit-def $v8_v9
+    renamable $v4_v5_v6_v7_v8_v9_v10_v11 = COPY killed renamable $v0_v1_v2_v3_v4_v5_v6_v7
+    renamable $v28 = COPY renamable $v8, implicit killed $v28_v29_v30, implicit-def $v28_v29_v30
+    PseudoRET implicit $v28
+...