[llvm] [AArch64] Separate PNR into its own Register Class (PR #65306)

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 20 06:40:39 PDT 2023


================
@@ -23,8 +11,8 @@ frameInfo:
 machineFunctionInfo:
   hasRedZone:      false
 body:             |
-  bb.0 (%ir-block.0):
-    ; CHECK-LABEL: name: ptrue_d
+  bb.0:
+    ; CHECK-LABEL: name: pnr_to_ppr
     ; CHECK: renamable $pn8 = PTRUE_C_D
     ; CHECK-NEXT: $p0 = ORR_PPzPP $p8, $p8, killed $p8, implicit-def $pn0
----------------
sdesmalen-arm wrote:

I had a chat with @david-arm about this, who was concerned that the register allocator might not 'see' that `$pn0` gets clobbered when `$p0` gets written. However, with `$pn0` being a subregister from `$p0` that's not likely to be an issue, as the register allocator will know that writing `$p0` also writes `$pn0`.

However, we concluded there probably is no harm in keeping the implicit-def either, so I'm happy to stick with what you've got now.

https://github.com/llvm/llvm-project/pull/65306


More information about the llvm-commits mailing list