[PATCH] D142963: [AArch64] Handle negative architecture features
Andrew Kelley via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 31 12:12:14 PST 2023
andrewrk accepted this revision.
andrewrk added a comment.
This revision is now accepted and ready to land.
In D142963#4093094 <https://reviews.llvm.org/D142963#4093094>, @tmatheson wrote:
> It looks like this has these odd behaviours:
>
> - `-target-feature +v9.3a -target-feature -v9.2a` will remove `v9.2a` but add all the dependent features of both `v9.3a` and `v9.2a`. It also doesn't remove `v9.3a` which implies `v9.2a`.
> - `-target-feature -v9.2a -target-feature +v9.3a` will add the `v9.2a` back, and also add all the dependent features of both `v9.3a` and `v9.2a`.
> - `-target-feature +v9.3a -target-feature -v9.3a` will remove `v9.3a` but add all the dependent features of `v9.3a`.
>
> This seems like a bit of a minefield. Is there even a use case for negative architectural features?
Speaking as the one who filed the motivating bug report, all of the above behaviors are fine. The motivating use case is explicitly specifying a //full set// of enabled/disabled features, leaving nothing changed by LLVM's own dependency resolution. In this use case, LLVM would never see any of these three scenarios as input.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142963/new/
https://reviews.llvm.org/D142963
More information about the llvm-commits
mailing list