[llvm] [AArch64] Drop flags from BSP pseudos (PR #151856)

Ricardo Jesus via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 5 02:43:57 PDT 2025


================
@@ -96,3 +96,23 @@ body:             |
     $q25 = ORRv16i8 $q3, killed $q3
     RET_ReallyLR implicit $q22
 ...
+---
+name:            DoubleOp
+tracksRegLiveness: true
+body:             |
+  bb.0.entry:
+    liveins: $q2
+
+    ; CHECK-LABEL: name: DoubleOp
+    ; CHECK: liveins: $q2
+    ; CHECK-NEXT: {{  $}}
+    ; CHECK-NEXT: renamable $q0 = MOVIv8i16 1, 0
+    ; CHECK-NEXT: renamable $q1 = ORRv16i8 renamable $q2, renamable $q2
+    ; CHECK-NEXT: renamable $q1 = BSLv16i8 killed renamable $q1, renamable $q2, renamable $q0
----------------
rj-jesus wrote:

Would it be worth preserving the kill flag when the MOV's operand isn't needed elsewhere, like in `BSL_COPY`, and propagating it down to the BSL in other cases (for example, killing `q2` here)?

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


More information about the llvm-commits mailing list