ScheduleOptimizer: Allow to disable tiling

llvm-svn: 142770
This commit is contained in:
Tobias Grosser 2011-10-23 20:59:26 +00:00
parent 70c31f9411
commit 353a2684bc
1 changed files with 15 additions and 7 deletions

View File

@ -37,6 +37,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,
@ -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;
}