jhuber6 wrote: > Relying on something _not_ being defined is probably not the best way to > handle 'generic' target. For starters it makes it hard or impossible to > recreate the same compilation state by undoing already-specified option. It > also breaks established assumption that there _is_ a default target CPU/GPU. > If we do want to have a generic GPU target, then we should grow an explicit > 'generic' GPU variant, IMO. It would be a functional opposite of 'native'.
AMDGPU uses a missing `-mcpu` on the OpenCL target to build their "generic" device libraries and it's also missing from NVIDIA's `libdevice.10.bc` in the same way. I think there's some precedent from both vendors to treat missing attributes as a more generic target. The default target to me is more of the domain of the driver. So if you're using CUDA and don't specify anything you get `sm_52`. This patch also creates a hard error if it's unspecified before it makes it to the tools like ptxas and nvlink. https://github.com/llvm/llvm-project/pull/79873 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits