[PATCH] D80100: [mlir][Vector] Add option to fully unroll for VectorTransfer to SCF lowering
Nicolas Vasilache via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun May 17 22:20:52 PDT 2020
nicolasvasilache created this revision.
nicolasvasilache added reviewers: aartbik, ftynse.
Herald added subscribers: llvm-commits, jurahul, Kayjukh, frgossen, grosul1, Joonsoo, stephenneuendorffer, liufengdb, lucyrfox, mgester, arpith-jacob, antiagainst, shauheen, jpienaar, rriddle, mehdi_amini.
Herald added a project: LLVM.
Previously, the only support partial lowering from vector transfers to SCF was
going through loops. This requires a dedicated allocation and extra memory
roundtrips because LLVM aggregates cannot be indexed dynamically (for more
details see the deep-dive <https://mlir.llvm.org/docs/Dialects/Vector/#deeperdive>).
This revision allows specifying full unrolling which removes this additional roundtrip.
This should be used carefully though because full unrolling will spill, negating the
benefits of removing the interim alloc in the first place.
Proper heuristics are left for a later time.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D80100
Files:
mlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h
mlir/include/mlir/Dialect/Vector/VectorOps.td
mlir/include/mlir/Dialect/Vector/VectorUtils.h
mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
mlir/lib/Dialect/Vector/VectorOps.cpp
mlir/lib/Dialect/Vector/VectorTransforms.cpp
mlir/lib/Dialect/Vector/VectorUtils.cpp
mlir/test/Conversion/VectorToLoops/vector-to-loops.mlir
mlir/test/lib/Transforms/TestVectorToSCFConversion.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80100.264532.patch
Type: text/x-patch
Size: 46584 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200518/71c4ec1f/attachment.bin>
More information about the llvm-commits
mailing list