aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Function.cpp
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2023-11-08 15:05:47 +0100
committerGitHub <noreply@github.com>2023-11-08 15:05:47 +0100
commitd79fff0abb5a8ae6f49f5e3fd4f31d65717c7a37 (patch)
tree6db183091d0bb4f20ae1a53ee8fbdd069bf39c66 /llvm/lib/IR/Function.cpp
parent0d48a4645d9a3e9f188a0c9503df3f82ca5759e3 (diff)
downloadllvm-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