Add a flag to dump SCoP optimized with the IslScheduleOptimizer pass
Dump polyhedral descriptions of Scops optimized with the isl scheduling
optimizer and the set of post-scheduling transformations applied
on the schedule tree to be able to check the work of the IslScheduleOptimizer
pass at the polyhedral level.
Reviewed-by: Tobias Grosser <tobias@grosser.es>
Differential Revision: https://reviews.llvm.org/D23740
llvm-svn: 279395
diff --git a/polly/lib/Transform/ScheduleOptimizer.cpp b/polly/lib/Transform/ScheduleOptimizer.cpp
index 3876ae3..93f6d9e 100644
--- a/polly/lib/Transform/ScheduleOptimizer.cpp
+++ b/polly/lib/Transform/ScheduleOptimizer.cpp
@@ -197,6 +197,13 @@
cl::desc("Perform optimizations based on pattern matching"),
cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+static cl::opt<bool> OptimizedScops(
+ "polly-optimized-scops",
+ cl::desc("Polly - Dump polyhedral description of Scops optimized with "
+ "the isl scheduling optimizer and the set of post-scheduling "
+ "transformations is applied on the schedule tree"),
+ cl::init(false), cl::ZeroOrMore, cl::cat(PollyCategory));
+
/// @brief Create an isl_union_set, which describes the isolate option based
/// on IsoalteDomain.
///
@@ -1097,6 +1104,9 @@
S.setScheduleTree(NewSchedule);
S.markAsOptimized();
+ if (OptimizedScops)
+ S.dump();
+
isl_union_map_free(NewScheduleMap);
return false;
}