[all-commits] [llvm/llvm-project] 5e612b: [AArch64] Make stack tagging compatible with SLH
Kristof Beyls via All-commits
all-commits at lists.llvm.org
Thu Apr 20 07:54:31 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5e612bc291347d364f1d47c37f0d34eb6474b9b5
https://github.com/llvm/llvm-project/commit/5e612bc291347d364f1d47c37f0d34eb6474b9b5
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2023-04-20 (Thu, 20 Apr 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/test/CodeGen/AArch64/settag-merge-order.ll
M llvm/test/CodeGen/AArch64/settag-merge.ll
M llvm/test/CodeGen/AArch64/settag.ll
Log Message:
-----------
[AArch64] Make stack tagging compatible with SLH
See https://github.com/llvm/llvm-project/issues/61830
Speculative Load Hardening (SLH) requires that conditional branches are
implemented using B.cc branches, not using {TC}B{N}Z branches.
Stack tagging was expanding one of the pseudo instructions it uses to
cbnz. This commit changes that to use b.ne instead.
Note that the added regression test was added to settag.ll rather than
speculation-hardening.ll. The speculation-hardening.ll tests also check
that all tests in the file work with global-isel. It seems that stack
tagging does not work yet with global-isel. Therefore, testing the
combination of stack tagging and SLH hard to be added to a test file
that doesn't test global-isel, i.e. settag.ll
Differential Revision: https://reviews.llvm.org/D148508
More information about the All-commits
mailing list