[all-commits] [llvm/llvm-project] c3b981: Reland "[llvm][AArch64] Insert "bti j" after call ...

David Spickett via All-commits all-commits at lists.llvm.org
Wed Mar 23 04:44:08 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c3b98194df5572bc9b33024b48457538a7213b4c
      https://github.com/llvm/llvm-project/commit/c3b98194df5572bc9b33024b48457538a7213b4c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2022-03-23 (Wed, 23 Mar 2022)

  Changed paths:
    M clang/docs/ClangCommandLineReference.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    A llvm/test/CodeGen/AArch64/setjmp-bti-no-enforcement.ll
    A llvm/test/CodeGen/AArch64/setjmp-bti-outliner.ll
    A llvm/test/CodeGen/AArch64/setjmp-bti.ll

  Log Message:
  -----------
  Reland "[llvm][AArch64] Insert "bti j" after call to setjmp"

This reverts commit edb7ba714acba1d18a20d9f4986d2e38aee1d109.

This changes BLR_BTI to take variable_ops meaning that we can accept
a register or a label. The pattern still expects one argument so we'll
never get more than one. Then later we can check the type of the operand
to choose BL or BLR to emit.

(this is what BLR_RVMARKER does but I missed this detail of it first time around)

Also require NoSLSBLRMitigation which I missed in the first version.




More information about the All-commits mailing list