[all-commits] [llvm/llvm-project] 7e8ecc: [AArch64] Move SLS later in pass pipeline

ostannard via All-commits all-commits at lists.llvm.org
Wed Oct 25 02:45:32 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7e8eccd990d37d2771ca5ad7a84f54c3cfc4a5e1
      https://github.com/llvm/llvm-project/commit/7e8eccd990d37d2771ca5ad7a84f54c3cfc4a5e1
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2023-10-25 (Wed, 25 Oct 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll
    M llvm/test/CodeGen/AArch64/sls-stackprotector-outliner.ll

  Log Message:
  -----------
  [AArch64] Move SLS later in pass pipeline

Currently, the SLS hardening pass is run before the machine outliner,
which means that the outliner creates new functions and calls which do
not have the SLS hardening applied.

The fix for this is to move the SLS passes to after the outliner, as has
recently been done for the return address signing pass.

This also avoids a bug where the SLS outliner emits code with
instructions after a return, which the outliner doesn't correctly
handle.

Reviewed By: kristof.beyls

Differential Revision: https://reviews.llvm.org/D158511




More information about the All-commits mailing list