summaryrefslogtreecommitdiffstats
path: root/polly/test/update_check.py
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2016-09-08 15:02:36 +0000
committerMichael Kruse <llvm@meinersbur.de>2016-09-08 15:02:36 +0000
commit7886bd7ca5912757f3cb67b55c48939198988f7c (patch)
tree999341324f73479f023b301e7acc33f5af70b59e /polly/test/update_check.py
parent868fc9279ef57ce4cc69feab5f1284630f16210e (diff)
downloadbcm5719-llvm-7886bd7ca5912757f3cb67b55c48939198988f7c.tar.gz
bcm5719-llvm-7886bd7ca5912757f3cb67b55c48939198988f7c.zip
Add -polly-flatten-schedule pass.
The -polly-flatten-schedule pass reduces the number of scattering dimensions in its isl_union_map form to make them 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 the porposed DeLICM pass 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 } Differential Revision: https://reviews.llvm.org/D24310 llvm-svn: 280948
Diffstat (limited to 'polly/test/update_check.py')
-rw-r--r--polly/test/update_check.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/polly/test/update_check.py b/polly/test/update_check.py
index 69aa06c0df9..318fcfe53c9 100644
--- a/polly/test/update_check.py
+++ b/polly/test/update_check.py
@@ -170,6 +170,18 @@ def classyfier1(lines):
continue
elif line.startswith("New access function '"):
yield {'NewAccessFunction'}
+ elif line == 'Schedule before flattening {':
+ while True:
+ yield {'ScheduleBeforeFlattening'}
+ if line == '}':
+ break
+ line = i.__next__()
+ elif line == 'Schedule after flattening {':
+ while True:
+ yield {'ScheduleAfterFlattening'}
+ if line == '}':
+ break
+ line = i.__next__()
else:
yield set()
line = i.__next__()
OpenPOWER on IntegriCloud