aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSander de Smalen <sander.desmalen@arm.com>2023-08-09 09:59:46 +0000
committerSander de Smalen <sander.desmalen@arm.com>2023-08-09 12:31:02 +0000
commitecb7b9c5c589b693e8a7351461db5b520be0bc90 (patch)
tree6b2fd68206b762cd51be531a00ad9b60eb5285c7 /clang/lib/Frontend/CompilerInvocation.cpp
parentf559e73fad5bf6991411fa13a95ec6112745b8cf (diff)
downloadllvm-ecb7b9c5c589b693e8a7351461db5b520be0bc90.zip
llvm-ecb7b9c5c589b693e8a7351461db5b520be0bc90.tar.gz
llvm-ecb7b9c5c589b693e8a7351461db5b520be0bc90.tar.bz2
[Clang][AArch64] Diagnostics for SME attributes when target doesn't have 'sme'
This patch adds error diagnostics to Clang when code uses the AArch64 SME attributes without specifying 'sme' as available target attribute. * Function definitions marked as '__arm_streaming', '__arm_locally_streaming', '__arm_shared_za' or '__arm_new_za' will by definition use or require SME instructions. * Calls from non-streaming functions to streaming-functions require the compiler to enable/disable streaming-SVE mode around the call-site. In some cases we can accept the SME attributes without having 'sme' enabled: * Function declaration can have the SME attributes. * Definitions can be __arm_streaming_compatible since the generated code should execute on processing elements without SME. Reviewed By: paulwalker-arm Differential Revision: https://reviews.llvm.org/D157269
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions