[PATCH] D80098: [mlir][Vector] Add an optional "masked" boolean array attribute to vector transfer operations

Diego Caballero via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 18 14:06:16 PDT 2020


dcaballe added a comment.

Thanks, Nicolas! It looks good! Just a minor comment below.
This patch introduces an attribute to set if a vector load/store is masked but how is that mask being computed/passed to the vector load/store?
IIUC, the current implementation assumes that there is no divergent control flow and therefore the loop exit condition can be used as mask for all the vector loads/stores, is that correct?



================
Comment at: mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir:923
+  %f7 = constant 7.0: f32
+  %f = vector.transfer_read %A[%base], %f7 {masked = [false]} :
+    memref<?xf32>, vector<17xf32>
----------------
I think we should make padding optional and avoid it when masked is false. It doesn't make sense, right?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80098





More information about the llvm-commits mailing list