[clang] [llvm] [AArch64] Decouple feature dependency expansion. (PR #94279)

David Green via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 5 10:37:38 PDT 2024


https://github.com/davemgreen commented:

> LGTM. The main change to point out is that the target attribute will no longer accept internal feature names. I don't think it should ever have done so, but we should get input from others. @davemgreen? There are references to existing code in [D137617](https://reviews.llvm.org/D137617) but no details. If this has been used for e.g. intrinsics definitions, I am surprised there are not more test failures.

Hi - It was intentional to support older versions of clang. The target attributes already had users before I fixed them to support the same formats as GCC for AArch64, and was aiming at not breaking the existing code. IIRC There are quite a few uses of things like `target("crypto")` out there (without the + that gcc wants to include).

I'm not sure if that extends to internal feature names a lot. Not supporting "neon" as a name would seem like a mistake if it was removed, but I don't believe this patch does that. If it only effects negative features those have never worked particularly well.

https://github.com/llvm/llvm-project/pull/94279


More information about the cfe-commits mailing list