[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