Revert "[AArch64][v8.3A] Avoid inserting implicit landing pads (PACI*SP)"
authorEvgenii Stepanov <eugenis@google.com>
Wed, 18 Jan 2023 00:17:03 +0000 (16:17 -0800)
committerEvgenii Stepanov <eugenis@google.com>
Thu, 19 Jan 2023 22:09:22 +0000 (14:09 -0800)
commitbd3ee371e9f0b09d2315701399e48be27844feec
tree99da8e269abf962094199466c4574780df187741
parentcf12709222a4699ff5a4bb257cb891b55b5f6fba
Revert "[AArch64][v8.3A] Avoid inserting implicit landing pads (PACI*SP)"

Linux kernel sets SCTRL_EL1.BT0 and BT1 to 1 unconditionally, which
makes PACIASP equivalent to BTI C + PACIA LR,SP.

Use the shorter instruction sequence by default.

I'm not aware of anyone who needs the opposite. They are welcome to
revert to the current behavior under a subtarget feature or an
environment check.

This reverts commit 571c8c5263a79293aaadae07b11feb36726eaf53.

Differential Revision: https://reviews.llvm.org/D141978
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.ll
llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-v8-3.ll
llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
llvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
llvm/test/CodeGen/AArch64/sign-return-address.ll
llvm/test/CodeGen/AArch64/wineh-pac.ll