I notice that for this simple loop nest, -affine-vectorize does nothing, and emits nothing with its -debug-only= option either. I didn't dig any deeper, but at least the second part is an issue. (It probably only tries innermost loop vectorization, but that should be clarified on the top-level comment on Vectorize.cpp.)
The issue here is that that the cl flag(s) involved (clVirtualVectorSize) don't have a default value/initialization, nor are they mandatory; as a result, nothing happens by default silently.
I notice that for this simple loop nest, -affine-vectorize does nothing, and emits nothing with its -debug-only= option either. I didn't dig any deeper, but at least the second part is an issue. (It probably only tries innermost loop vectorization, but that should be clarified on the top-level comment on Vectorize.cpp.)
$ cat foo.mlir
Same output with
On a minor note, s/early-vect/affine-vectorize - early-vect is really not meaningful here.