Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
clang/lib/Driver/ToolChains/Arch/AArch64.cpp | ||
---|---|---|
87–90 | SME shouldn't require SVE or SVE2. You can see the dependence in AArch64.td. We've updated code in AArch64 target SelectionDAG with HasSVEorSME instead of HasSVE where needed, so that code can still compile when only using +sme. |
Removed dependency on SVE and SVE2 as per @sdesmalen's suggestion. Also made nobf16 imply nosme to be consistent with the handling of other feature dependencies.
clang/test/Driver/aarch64-implied-sme-features.c | ||
---|---|---|
49 | Hi Bryan, this test fails in our downstream toolchain because it has additional features that show up in between these features. Breaking the line up as shown would fix this. Another option could be to add {{.*}} between the features. Doing likewise for other checks in this file would make them less brittle as well. |
clang/test/Driver/aarch64-implied-sme-features.c | ||
---|---|---|
49 | First: -target has been deprecated since Clang 3.4, Use --target= for new tests. Do you know why you have additional features? I think placing "-target-feature" on the same line is generally a good practice. It strengthens the test to ensure the feature set is compressive is not interleaved by other stuff. |
clang/test/Driver/aarch64-implied-sme-features.c | ||
---|---|---|
49 | @michaelplatings @MaskRay I can submit a patch quickly to fix -target. I am curious what features show up between those ones in my test, because the options to toggle dependent features should be added immediately after one another. When I placed the "-target-feature" strings on the same line, I was following the example in aarch64-implied-sve-features.c. |
clang/test/Driver/aarch64-implied-sme-features.c | ||
---|---|---|
49 | Thanks Bryan & MaskRay for explaining. I was unaware of the importance of feature dependencies for the ordering of target-feature flags so I retract my suggestion. |
SME shouldn't require SVE or SVE2. You can see the dependence in AArch64.td. We've updated code in AArch64 target SelectionDAG with HasSVEorSME instead of HasSVE where needed, so that code can still compile when only using +sme.