[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