diff options
author | Aart Bik <ajcbik@google.com> | 2021-11-02 19:58:33 -0700 |
---|---|---|
committer | Aart Bik <ajcbik@google.com> | 2021-11-04 17:38:47 -0700 |
commit | 7373cabcda8f5c0ed83cf40034ff69bc47a4a8c9 (patch) | |
tree | 41b55064fcc5d14affe0d557a8b8f8186f44c219 /llvm/lib/IR/Module.cpp | |
parent | 3f1aca58df8f646c32737b9fc01c51325fba88c2 (diff) | |
download | llvm-7373cabcda8f5c0ed83cf40034ff69bc47a4a8c9.zip llvm-7373cabcda8f5c0ed83cf40034ff69bc47a4a8c9.tar.gz llvm-7373cabcda8f5c0ed83cf40034ff69bc47a4a8c9.tar.bz2 |
[mlir][sparse] implement full reduction "scalarization" across loop nests
The earlier reduction "scalarization" was only applied to a chain of
*innermost* and *for* loops. This revision generalizes this to any
nesting of for- and while-loops. This implies that reductions can be
implemented with a lot less load and store operations. The chaining
is implemented with a forest of yield statements (but not as bad as
when we would also include the while-induction).
Fixes https://bugs.llvm.org/show_bug.cgi?id=52311
Reviewed By: bixia
Differential Revision: https://reviews.llvm.org/D113078
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions