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