diff options
| author | Tobias Grosser <grosser@fim.uni-passau.de> | 2011-10-23 20:59:26 +0000 |
|---|---|---|
| committer | Tobias Grosser <grosser@fim.uni-passau.de> | 2011-10-23 20:59:26 +0000 |
| commit | 353a2684bc5ea37f1a5994639a0516c636ba2ada (patch) | |
| tree | af30bfa15a3586dd77a9d05cd3376a6aad71bbad /polly/lib/ScheduleOptimizer.cpp | |
| parent | 70c31f941192cea2782810659edfa85040590dcf (diff) | |
| download | bcm5719-llvm-353a2684bc5ea37f1a5994639a0516c636ba2ada.tar.gz bcm5719-llvm-353a2684bc5ea37f1a5994639a0516c636ba2ada.zip | |
ScheduleOptimizer: Allow to disable tiling
llvm-svn: 142770
Diffstat (limited to 'polly/lib/ScheduleOptimizer.cpp')
| -rw-r--r-- | polly/lib/ScheduleOptimizer.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/polly/lib/ScheduleOptimizer.cpp b/polly/lib/ScheduleOptimizer.cpp index 3b48bfc154f..6cfa3ffd326 100644 --- a/polly/lib/ScheduleOptimizer.cpp +++ b/polly/lib/ScheduleOptimizer.cpp @@ -38,6 +38,11 @@ using namespace llvm; using namespace polly; static cl::opt<bool> +DisableTiling("polly-no-tiling", + cl::desc("Disable tiling in the isl scheduler"), cl::Hidden, + cl::init(false)); + +static cl::opt<bool> Prevector("enable-schedule-prevector", cl::desc("Enable the prevectorization in the scheduler"), cl::Hidden, cl::value_desc("Prevectorization enabled"), @@ -202,14 +207,17 @@ isl_union_map *getTiledPartialSchedule(isl_band *band) { isl_union_map *tileUnionMap; partialSchedule = isl_band_get_partial_schedule(band); - ctx = isl_union_map_get_ctx(partialSchedule); - Space= isl_union_map_get_space(partialSchedule); - scheduleDimensions = isl_band_n_member(band); - - tileMap = getTileMap(ctx, scheduleDimensions, Space); - tileUnionMap = isl_union_map_from_map(isl_map_from_basic_map(tileMap)); - tileUnionMap = isl_union_map_align_params(tileUnionMap, Space); - partialSchedule = isl_union_map_apply_range(partialSchedule, tileUnionMap); + + if (!DisableTiling) { + ctx = isl_union_map_get_ctx(partialSchedule); + Space= isl_union_map_get_space(partialSchedule); + scheduleDimensions = isl_band_n_member(band); + + tileMap = getTileMap(ctx, scheduleDimensions, Space); + tileUnionMap = isl_union_map_from_map(isl_map_from_basic_map(tileMap)); + tileUnionMap = isl_union_map_align_params(tileUnionMap, Space); + partialSchedule = isl_union_map_apply_range(partialSchedule, tileUnionMap); + } return partialSchedule; } |

