diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2023-11-08 15:05:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-08 15:05:47 +0100 |
commit | d79fff0abb5a8ae6f49f5e3fd4f31d65717c7a37 (patch) | |
tree | 6db183091d0bb4f20ae1a53ee8fbdd069bf39c66 /llvm/lib/IR/Function.cpp | |
parent | 0d48a4645d9a3e9f188a0c9503df3f82ca5759e3 (diff) | |
download | llvm-d79fff0abb5a8ae6f49f5e3fd4f31d65717c7a37.zip llvm-d79fff0abb5a8ae6f49f5e3fd4f31d65717c7a37.tar.gz llvm-d79fff0abb5a8ae6f49f5e3fd4f31d65717c7a37.tar.bz2 |
[SystemZ] Add backchain target-feature (#71668)
GCC supports building individual functions with backchain using the
__attribute__((target("backchain"))) syntax, and Clang should too.
Clang translates this into the "target-features"="+backchain" attribute,
and the -mbackchain command-line option into the "backchain" attribute.
The backend currently checks only the latter; furthermore, the backchain
target feature is not defined.
Handle backchain like soft-float. Define a target feature, convert
function attribute into it in getSubtargetImpl(), and check for target
feature instead of function attribute everywhere. Add an end-to-end test
to the Clang testsuite.
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
0 files changed, 0 insertions, 0 deletions