================
@@ -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

Reply via email to