SjoerdMeijer added a comment.

In D94779#2515157 <https://reviews.llvm.org/D94779#2515157>, @dmgreen wrote:

> Thanks. @fhahn @SjoerdMeijer what do we think about the edge case where the 
> width==1? As far as I understand (with this patch):
>
>   #pragma clang loop vectorize_predicate(disable) vectorize_width(4)
>   Gives llvm.loop.vectorize.predicate.enable=false, 
> llvm.loop.vectorize.width=4, llvm.loop.vectorize.scalable.enable=false, 
> llvm.loop.vectorize.enable=true
>   
>   #pragma clang loop vectorize_predicate(disable) vectorize_width(4)

I guess this is a typo, and should be `vectorize_predicate(enable)`

> Gives llvm.loop.vectorize.predicate.enable=true, llvm.loop.vectorize.width=4, 
> llvm.loop.vectorize.scalable.enable=false, llvm.loop.vectorize.enable=true
>
> #pragma clang loop vectorize_predicate(enable) vectorize_width(1)
> Gives llvm.loop.vectorize.width=1, llvm.loop.vectorize.scalable.enable=false
>
> #pragma clang loop vectorize_predicate(disable) vectorize_width(1)
> Gives llvm.loop.vectorize.width=1, llvm.loop.vectorize.scalable.enable=false
>
>   Should we be adding llvm.loop.vectorize.predicate.enable metadata even when 
> width=1? I would be inclined to emit the predication pragma anyway.

So yeah, I got confused about this edge case width=1 earlier, but have 
refreshed my memory.
I would like to ask the question if it matters? Vectorize.width = 1 disables 
vectorisation, so unless I miss something, I don't think it matters if we emit 
`llvm.loop.vectorize.predicate.enable=true` or 
`llvm.loop.vectorize.predicate.enable=false` because it is ignored anyway? But 
if we have a combination that doesn't make sense, like `width(1)` and 
`predicate(enable)`, should we emit a diagnostic if this is not already done?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94779/new/

https://reviews.llvm.org/D94779

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to