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

Tom Stellard via All-commits all-commits at lists.llvm.org
Mon Apr 18 19:45:09 PDT 2022


  Branch: refs/heads/release/14.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 571c7d8f6dae1a8797ae3271c0c09fc648b1940b
      https://github.com/llvm/llvm-project/commit/571c7d8f6dae1a8797ae3271c0c09fc648b1940b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2022-04-18 (Mon, 18 Apr 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/AArch64Subtarget.h
    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"

Cherry-picked from c3b98194df5572bc9b33024b48457538a7213b4c
which was originally reviewed as https://reviews.llvm.org/D121707.

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.


  Commit: 0fbe860711be2af4dc8454feb64506595e928e7f
      https://github.com/llvm/llvm-project/commit/0fbe860711be2af4dc8454feb64506595e928e7f
  Author: serge-sans-paille <sguelton at redhat.com>
  Date:   2022-04-18 (Mon, 18 Apr 2022)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    A clang/test/CodeGen/fread-inline-builtin-late-redecl.c

  Log Message:
  -----------
  [Clang][Fortify] drop inline decls when redeclared

When an inline builtin declaration is shadowed by an actual declaration, we must
reference the actual declaration, even if it's not the last, following GCC
behavior.

This fixes #54715

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

(cherry picked from commit 301e0d91354b853addb63a35e72e552e8059413e)


Compare: https://github.com/llvm/llvm-project/compare/0f56ce0fb207...0fbe860711be


More information about the All-commits mailing list