[PATCH] D142933: Add -print-multi-selection-flags argument

Joseph Faulls via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 2 02:23:43 PST 2023


Joe added a comment.



>> The main trouble I had was at that point we don't have a reference to the ToolChain, so calling `getMultiSelectionFlags` was not possible. [...] I'm not sure what the solution here is.
>
> I see two options:
>
> 1. Split getMultiSelectionFlags into needs-ToolChain and doesn't-need-ToolChain parts, with the former calling the latter. From Gnu.cpp, call the latter, with the limitation that it can use fewer flags.
> 2. Pass a ToolChain to the Gnu.cpp functions.

I did briefly try to pass a ToolChain to Gnu.cpp functions, but it became intrusive and had to add it in 5+ places, so unless I'm missing a trick to get the ToolChain from the Driver, my vote would go to the former.

>> I added the arch extensions and abi to the Result in `getMultiSelectionFlags`
>
> What was the syntax you used for that?
> I'm not super keen on the `march=+ext` syntax I came up with so I'm open to alternatives.

I dropped the `march=` and used the same format as target-features, so it was simply `+m` or `+a`. I think this is intuitive enough without the `march=`, and the form `x=y` is already broken when you add the flags from the flag list. I don't have a strong stance on this though.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142933/new/

https://reviews.llvm.org/D142933



More information about the cfe-commits mailing list