[llvm] [AArch64] Separate PNR into its own Register Class (PR #65306)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 11 08:58:13 PDT 2023
================
@@ -61,6 +63,49 @@ body: |
RET_ReallyLR
...
---
+name: spills_fills_stack_id_pnr
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: pnr }
+stack:
+liveins:
+ - { reg: '$pn0', virtual-reg: '%0' }
+body: |
+ bb.0.entry:
+ liveins: $pn0
+
+ ; CHECK-LABEL: name: spills_fills_stack_id_pnr
+ ; CHECK: stack:
+ ; CHECK: - { id: 0, name: '', type: spill-slot, offset: 0, size: 2, alignment: 2
+ ; CHECK-NEXT: stack-id: scalable-vector, callee-saved-register: ''
+
+ ; EXPAND-LABEL: name: spills_fills_stack_id_pnr
+ ; EXPAND: STR_PXI $pn0, $sp, 7
----------------
sdesmalen-arm wrote:
This doesn't look entirely right because STR_PXI can't store $pn0, but it can store $p0.
I'm not sure if this is a problem though, because the encoding of `$pn0` and `$p0` is the same. Could you add the verifier to the RUN line, so that we know whether or not the MIR verifier accepts it?
https://github.com/llvm/llvm-project/pull/65306
More information about the llvm-commits
mailing list