[AArch64] Handle negative architecture features
authorDavid Green <david.green@arm.com>
Wed, 1 Feb 2023 09:21:07 +0000 (09:21 +0000)
committerDavid Green <david.green@arm.com>
Wed, 1 Feb 2023 09:21:07 +0000 (09:21 +0000)
commitf559e781b2bd918d8cac8a878639870a8f26196d
tree822b5c507099090124d47db9cf8e1fddc81178d0
parente302c04cfa10908858401a4845d6a9c773d6735f
[AArch64] Handle negative architecture features

Currently negative architecture features passes to clang like -Xclang
-target-feature -Xclang -v9.3a will end up _enabling_ dependant target
features (like FEAT_MOPS). This patch fixes that by ensuring we don't
enable dependant target features when !Enabled.

Fixes #60375

Differential Revision: https://reviews.llvm.org/D142963
clang/lib/Basic/Targets/AArch64.cpp
clang/test/CodeGen/aarch64-targetattr.c
clang/test/Preprocessor/aarch64-target-features.c