dmgreen added a comment.

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)
  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.


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