[PATCH] D142612: [RISCV][NFC] Add test for register coalescing x0
Luke Lau via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 27 09:30:12 PST 2023
luke updated this revision to Diff 492806.
luke added a comment.
Add another test that should be fixed
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142612/new/
https://reviews.llvm.org/D142612
Files:
llvm/test/CodeGen/RISCV/regcoal-constreg.mir
Index: llvm/test/CodeGen/RISCV/regcoal-constreg.mir
===================================================================
--- /dev/null
+++ llvm/test/CodeGen/RISCV/regcoal-constreg.mir
@@ -0,0 +1,67 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
+# RUN: llc -mtriple=riscv32 -run-pass=simple-register-coalescing %s -o - -verify-coalescing | FileCheck %s
+---
+name: f
+registers:
+ - { id: 0, class: gpr }
+body: |
+ ; CHECK-LABEL: name: f
+ ; CHECK: bb.0:
+ ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x0
+ ; CHECK-NEXT: BEQ $x1, $x2, %bb.2
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: bb.1:
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x0
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: bb.2:
+ ; CHECK-NEXT: PseudoRET implicit [[COPY1]]
+ bb.0:
+ ; TODO: Both of these copies could be eliminated and the $x0 moved into
+ ; the PseudoRET
+ %0 = COPY $x0
+ BEQ $x1, $x2, %bb.2
+
+ bb.1:
+ %0 = COPY $x0
+
+ bb.2:
+ PseudoRET implicit %0
+
+...
+---
+name: g
+registers:
+ - { id: 0, class: gpr }
+body: |
+ ; CHECK-LABEL: name: g
+ ; CHECK: bb.0:
+ ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x0
+ ; CHECK-NEXT: BEQ $x1, $x2, %bb.2
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: bb.1:
+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x0
+ ; CHECK-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI [[ADDI]], 1
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: bb.2:
+ ; CHECK-NEXT: PseudoRET implicit [[ADDI]]
+ bb.0:
+ %0 = COPY $x0
+ BEQ $x1, $x2, %bb.2
+
+ bb.1:
+ ; TODO: This copy could be eliminated and the $x0 moved into ADDI
+ %0 = COPY $x0
+ %0 = ADDI %0, 1
+
+ bb.2:
+ PseudoRET implicit %0
+
+...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142612.492806.patch
Type: text/x-patch
Size: 2009 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230127/ef63694b/attachment.bin>
More information about the llvm-commits
mailing list