Adding the ability to index the base address brings these operations closer
to the transfer read and write semantics (with lowering advantages), ensures
more consistent use in vector MLIR code (easier to read), and reduces the
amount of code duplication to lower memrefs into base addresses considerably
(making codegen less error-prone).
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/include/mlir/Dialect/Vector/VectorOps.td | ||
---|---|---|
1320 | Does the number of indices have to match the memref rank? Do we need to check that in the verifier? |
mlir/include/mlir/Dialect/Vector/VectorOps.td | ||
---|---|---|
1320 | Yes that is a very sharp observation and indeed something that I was planning to add in the next CL (unified over all the memops). As is, this CL was getting quite large. (I also plan to clean up scatter/gather format, using the same %base[%index] notation so that all our memory ops read the same) |
Does the number of indices have to match the memref rank? Do we need to check that in the verifier?