[llvm] [llvm][ptrauth] Refactor an early return into authenticateLR. NFC (PR #190415)

Jon Roelofs via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 3 15:19:14 PDT 2026


https://github.com/jroelofs created https://github.com/llvm/llvm-project/pull/190415

None

>From cfbb49292ca71dbdfc8960e0ef6d5fc845a1d84e Mon Sep 17 00:00:00 2001
From: Jon Roelofs <jonathan_roelofs at apple.com>
Date: Fri, 3 Apr 2026 15:18:34 -0700
Subject: [PATCH] [llvm][ptrauth] Refactor an early return into authenticateLR.
 NFC

---
 .../lib/Target/AArch64/AArch64PointerAuth.cpp | 45 ++++++++++---------
 1 file changed, 23 insertions(+), 22 deletions(-)

diff --git a/llvm/lib/Target/AArch64/AArch64PointerAuth.cpp b/llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
index fe50b97e9b832..7eac5c59e61cb 100644
--- a/llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
+++ b/llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
@@ -184,32 +184,33 @@ void AArch64PointerAuthImpl::authenticateLR(
           .setMIFlag(MachineInstr::FrameDestroy);
     }
     MBB.erase(TI);
+    return;
+  }
+
+  if (MFnI->branchProtectionPAuthLR() && Subtarget->hasPAuthLR()) {
+    assert(PACSym && "No PAC instruction to refer to");
+    emitPACCFI(MBB, MBBI, MachineInstr::FrameDestroy, EmitAsyncCFI);
+    BuildMI(MBB, MBBI, DL,
+            TII->get(UseBKey ? AArch64::AUTIBSPPCi : AArch64::AUTIASPPCi))
+        .addSym(PACSym)
+        .setMIFlag(MachineInstr::FrameDestroy);
   } else {
-    if (MFnI->branchProtectionPAuthLR() && Subtarget->hasPAuthLR()) {
-      assert(PACSym && "No PAC instruction to refer to");
-      emitPACCFI(MBB, MBBI, MachineInstr::FrameDestroy, EmitAsyncCFI);
-      BuildMI(MBB, MBBI, DL,
-              TII->get(UseBKey ? AArch64::AUTIBSPPCi : AArch64::AUTIASPPCi))
-          .addSym(PACSym)
-          .setMIFlag(MachineInstr::FrameDestroy);
-    } else {
-      if (MFnI->branchProtectionPAuthLR()) {
-        emitPACSymOffsetIntoX16(*TII, MBB, MBBI, DL, PACSym);
-        BuildMI(MBB, MBBI, DL, TII->get(AArch64::PACM))
-            .setMIFlag(MachineInstr::FrameDestroy);
-        emitPACCFI(MBB, MBBI, MachineInstr::FrameDestroy, EmitAsyncCFI);
-      }
-      BuildMI(MBB, MBBI, DL,
-              TII->get(UseBKey ? AArch64::AUTIBSP : AArch64::AUTIASP))
+    if (MFnI->branchProtectionPAuthLR()) {
+      emitPACSymOffsetIntoX16(*TII, MBB, MBBI, DL, PACSym);
+      BuildMI(MBB, MBBI, DL, TII->get(AArch64::PACM))
           .setMIFlag(MachineInstr::FrameDestroy);
-      if (!MFnI->branchProtectionPAuthLR())
-        emitPACCFI(MBB, MBBI, MachineInstr::FrameDestroy, EmitAsyncCFI);
+      emitPACCFI(MBB, MBBI, MachineInstr::FrameDestroy, EmitAsyncCFI);
     }
+    BuildMI(MBB, MBBI, DL,
+            TII->get(UseBKey ? AArch64::AUTIBSP : AArch64::AUTIASP))
+        .setMIFlag(MachineInstr::FrameDestroy);
+    if (!MFnI->branchProtectionPAuthLR())
+      emitPACCFI(MBB, MBBI, MachineInstr::FrameDestroy, EmitAsyncCFI);
+  }
 
-    if (NeedsWinCFI) {
-      BuildMI(MBB, MBBI, DL, TII->get(AArch64::SEH_PACSignLR))
-          .setMIFlag(MachineInstr::FrameDestroy);
-    }
+  if (NeedsWinCFI) {
+    BuildMI(MBB, MBBI, DL, TII->get(AArch64::SEH_PACSignLR))
+        .setMIFlag(MachineInstr::FrameDestroy);
   }
 }
 



More information about the llvm-commits mailing list