[all-commits] [llvm/llvm-project] 9bc142: [AArch64][PAC] Refactor aarch64-ptrauth pass (#70446)
Anatoly Trosinenko via All-commits
all-commits at lists.llvm.org
Tue Nov 14 04:15:11 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9bc142a023a46e6e1b9791d581c13009fc2e8129
https://github.com/llvm/llvm-project/commit/9bc142a023a46e6e1b9791d581c13009fc2e8129
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2023-11-14 (Tue, 14 Nov 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
Log Message:
-----------
[AArch64][PAC] Refactor aarch64-ptrauth pass (#70446)
Refactor Pointer Authentication pass in preparation for adding more
PAUTH_* pseudo instructions:
* dropped early return from runOnMachineFunction() as other PAUTH_*
instructions need expansion even when pac-ret is disabled
* refactored runOnMachineFunction() to first collect all the
instructions of interest without modifying anything and then performing
changes in the later loops. There are two types of relevant
instructions: PAUTH_* pseudos that should definitely be replaced by this
pass and tail call instructions that may require attention if pac-ret is
enabled
* made the loop iterating over all of the instructions handle
instruction bundles by itself: even though this pass still does not
support bundled TCRETURN* instructions (such as produced by KCFI) it
does not crash anymore when no support is actually required
More information about the All-commits
mailing list