jhuber6 wrote:

> > Summary: Currently, `-Xarch_` is used to forward argument specially to 
> > certain toolchains. Currently, this is only supported by the Darwin 
> > toolchain. We want to be able to use this generically, and for offloading 
> > too. This patch moves the handling out of the Darwin Toolchain and places 
> > it in the `getArgsForToolchain` helper which is run before the arguments 
> > get passed to the tools.
> 
> I think this could use some editing. `-Xarch` is intended to set flags per 
> _target_. Same toolchain may handle more than one target. Perhaps rephrase 
> along the lines of "forward argument to the toolchain used for the given 
> target architecture"?

I don't think a single `ToolChain` can have multiple targets in the driver, but 
you can make separate `ToolChain` objects with a different triple, I think 
that's where the confusion lies. Right now this is just for the Triple.

> > this is only supported by the Darwin toolchain.
> 
> This is the confusing part. I'm pretty sure `-Xarch_host` `-Xarch_device` and 
> variety of `-Xarch_{gfx,sm}..` variants are also supported by HIP/Cuda 
> toolchains right now.
> 
> IMO, a better way to describe the situation is that MachO is the last 
> remaining special case implementation of Xarch and the patch folds it into a 
> common `Xarch` handling that's already used by offloading toolchains.

Yeah, I wasn't counting the host / device parts since they're separate flags. 
We do support the architecture part already but it's a special case that 
doesn't need to be there. Realistically this is just removing the MachO 
handling to simplify it and make it work everywhere.

https://github.com/llvm/llvm-project/pull/125421
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to