[PATCH] D94779: [Clang] Ensure vector predication pragma is ignored only when vectorization width is 1.

Dave Green via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 22 04:17:24 PST 2021


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



More information about the cfe-commits mailing list