[clang] [NVPTX] Allow compiling LLVM-IR without `-march` set (PR #79873)

Artem Belevich via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 29 13:07:17 PST 2024


Artem-B wrote:

> I think there's some precedent from both vendors to treat missing attributes as a more generic target.

It sounds more like a bug than a feature to me.

The major difference between "you get sm_xx by default" and this "you get generic by default" is that With specific sm_XX, I can override it both ways -- I wan enable/disable it if I need to regardless of how it was specified before my overriding options.

With the magic unnameable 'generic' target, I can only disable it by specifying it, but there's no way to enable it once a preceding option names some specific architecture.

It makes little difference where you control complete build, but that is not the case for all builds. E.g. Tensorflow builds with bazel and the end user does not have access to whatever compiler flags global build rules may set. So if you want to build for generic GPU target, you will have to jump through way more hoops than is reasonable, as opposed to specifying a few overriding options you're interested in.

I'm fine with defaulting to such generic target, but I do believe we need to handle it the same way as specific targets.

https://github.com/llvm/llvm-project/pull/79873


More information about the cfe-commits mailing list