[all-commits] [llvm/llvm-project] 503c55: [AArch64] Move SLS later in pass pipeline (#84210)

ostannard via All-commits all-commits at lists.llvm.org
Thu Mar 7 01:29:11 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 503c55e17037436dcd45ac69dea8967e67e3f5e8
      https://github.com/llvm/llvm-project/commit/503c55e17037436dcd45ac69dea8967e67e3f5e8
  Author: ostannard <oliver.stannard at arm.com>
  Date:   2024-03-07 (Thu, 07 Mar 2024)

  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
    A llvm/test/CodeGen/AArch64/sls-crash.ll
    M llvm/test/CodeGen/AArch64/sls-stackprotector-outliner.ll

  Log Message:
  -----------
  [AArch64] Move SLS later in pass pipeline (#84210)

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.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list