================ @@ -1024,6 +1024,15 @@ GCNTTIImpl::instCombineIntrinsic(InstCombiner &IC, IntrinsicInst &II) const { } break; } + case Intrinsic::amdgcn_wavefrontsize: { + // TODO: this is a workaround for the pseudo-generic target one gets with no + // specified mcpu, which spoofs its wave size to 64; it should be removed. + if ((ST->getCPU().empty() || ST->getCPU() == "generic") && + !ST->getFeatureString().contains("+wavefrontsize")) ---------------- arsenm wrote:
To keep the hack isolated to one place, instead of spreading it around. You've already missed "generic-hsa" for example. The wavesize target parsing is also hacky, and we already have other hacky parsing in the subtarget constructor. We could also implement this by making the generic target actually have 0 wavesize, and replacing the isWave64 predicates with wavesize != 64 https://github.com/llvm/llvm-project/pull/114481 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits