lucas-rami wrote:

> It doesn't add the attribute if it's 0?

Indeed I missed this, sorry.

> I don't see a reason to support this on the IR level. We should just make it 
> a verifier error to use 0.

After further investigation and from what I can understand sema already rejects 
a minimum of 0 if the maximum is not 0 i.e., it will only accept 
amdgpu_waves_per_eu(0, 0) or amdgpu_waves_per_eu(N) or amdgpu_waves_per_eu(N, 
M) where N>0 and M>=N.

> Supporting 0 is only a shortcut to the default behavior without knowing the 
> target limits in the source

I see your point. With the current way the attribute affects the range of 
waves/EU returned by the subtarget method a user may set the range to [1,N] to 
only limit the maximum number of waves/EU, so accepting 0 is indeed useless 
as-is. I think it only makes sense with what I intended to be the followup 
change to this, which I integrated here now (PR description updated to reflect 
the change). Hopefully letting the minimum be 0 makes more sense now.

https://github.com/llvm/llvm-project/pull/138284
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to