[all-commits] [llvm/llvm-project] 7c3c5b: [mlir][Vector] Add option to fully unroll for Vect...
Nicolas Vasilache via All-commits
all-commits at lists.llvm.org
Wed May 20 08:06:19 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 7c3c5b11b1fa285443573e6e8ecc2383fcda6554
https://github.com/llvm/llvm-project/commit/7c3c5b11b1fa285443573e6e8ecc2383fcda6554
Author: Nicolas Vasilache <ntv at google.com>
Date: 2020-05-20 (Wed, 20 May 2020)
Changed paths:
M mlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h
M mlir/include/mlir/Dialect/Vector/VectorOps.td
M mlir/include/mlir/Dialect/Vector/VectorUtils.h
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Dialect/Vector/VectorOps.cpp
M mlir/lib/Dialect/Vector/VectorTransforms.cpp
M mlir/lib/Dialect/Vector/VectorUtils.cpp
M mlir/test/Conversion/VectorToSCF/vector-to-loops.mlir
M mlir/test/lib/Transforms/TestVectorToSCFConversion.cpp
Log Message:
-----------
[mlir][Vector] Add option to fully unroll for VectorTransfer to SCF lowering
Summary:
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.
Differential Revision: https://reviews.llvm.org/D80100
More information about the All-commits
mailing list