[llvm-branch-commits] [llvm] AArch64: Relax x16/x17 constraint on AUT in certain cases. (PR #132857)

Anatoly Trosinenko via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Jun 11 10:58:44 PDT 2025


================
@@ -1951,9 +1952,23 @@ let Predicates = [HasPAuth] in {
     let Uses = [X16];
   }
 
+  def AUTxMxN : Pseudo<(outs GPR64:$AuthVal, GPR64common:$Scratch),
+                       (ins GPR64:$Val, i32imm:$Key,
+                            i64imm:$Disc, GPR64:$AddrDisc),
+                       []>, Sched<[WriteI, ReadI]> {
+    let Constraints = "$AuthVal = $Val";
+    let isCodeGenOnly = 1;
+    let hasSideEffects = 0;
----------------
atrosinenko wrote:

It looks like MachineLICM pass may handle implicit-defs incorrectly when `hasSideEffects` is not set. Is this PR planned to be merged after #141330? If not, it may be better to keep `hasSideEffects = 1` here and defer all updates till #141330.

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


More information about the llvm-branch-commits mailing list