[PATCH] D24310: [Polly] Add -polly-flatten-schedule pass.
Michael Kruse via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 7 13:00:40 PDT 2016
Meinersbur created this revision.
Meinersbur added reviewers: grosser, jdoerfert, etherzhhb, gareevroman.
Meinersbur added subscribers: pollydev, llvm-commits.
Meinersbur added a project: Polly.
Herald added a subscriber: beanz.
The -polly-flatten-schedule pass reduces the number of scattering dimensions in its isl_union_map form to make then easier to understand. It is not meant to be used in production, only for debugging and regression tests.
To illustrate, how it can make sets simpler, here is a lifetime set used computed by DeLICM without flattening:
```{ Stmt_reduction_for[0, 4] -> [0, 2, o2, o3] : o2 < 0; Stmt_reduction_for[0, 4] -> [0, 1, o2, o3] : o2 >= 5; Stmt_reduction_for[0, 4] -> [0, 1, 4, o3] : o3 > 0; Stmt_reduction_for[0, i1] -> [0, 1, i1, 1] : 0 <= i1 <= 3; Stmt_reduction_for[0, 4] -> [0, 2, 0, o3] : o3 <= 0 }```
And here the same lifetime for a semantically identical one-dimensional schedule:
```{ Stmt_reduction_for[0, i1] -> [2 + 3i1] : 0 <= i1 <= 4 }```
https://reviews.llvm.org/D24310
Files:
include/polly/FlattenAlgo.h
include/polly/FlattenSchedule.h
include/polly/LinkAllPasses.h
include/polly/Support/GICHelper.h
lib/CMakeLists.txt
lib/Support/GICHelper.cpp
lib/Support/RegisterPasses.cpp
lib/Transform/FlattenAlgo.cpp
lib/Transform/FlattenSchedule.cpp
test/FlattenSchedule/gemm.ll
test/update_check.py
unittests/CMakeLists.txt
unittests/Flatten/CMakeLists.txt
unittests/Flatten/FlattenTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24310.70587.patch
Type: text/x-patch
Size: 46807 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160907/2191ce16/attachment.bin>
More information about the llvm-commits
mailing list