This repository was archived by the owner on Apr 28, 2023. It is now read-only.
Commit 7bb4101
Sven Verdoolaege
ScheduleTree::bandTile: drop special casing of 0D tile sizes
For some reason, bandTile refrains from performing a tiling
when presented with zero-dimensional tile sizes.
This behavior is not documented and was not motivated
in the commit that introduced it.
Refusing to tile on 0D tile sizes effectively means that
0D band cannot be tiled, which means that callers would
have to handle this case specifically if they wanted
to make sure that the result consists of two nested bands.
This is especially the case in
MappedScop::makeWithOuterBlockInnerThreadStrategy, which
assumes that after tiling there is at least one band
underneath the band mapped to blocks.
It seems reasonable to assume that a function called
bandTile actually tiles the band.
Remove the special case.
None of the current calls to bandTile depend on the original
behavior. One call is to isolate individual reduction tiles,
where the tiling is performed over all threads. Reduction handling
is only performed when there is at least one reduction dimension
matched to a thread dimension.
There is a couple of calls in the tests, which all pass a strictly
positive number of tile sizes.
The final call is the one in tileOuterBand.
This function in turn is also called a couple of times
in the tests, again always with a strictly positive number of tile sizes.
The other call is the call that depends on the result having
two nested calls, so it cannot also depend on the call sometimes
not performing a tiling.
Test case by Mathieu Fehr.
Closes #525.1 parent fe139b6 commit 7bb4101
File tree
2 files changed
+15
-3
lines changed- tc/core/polyhedral
- test
2 files changed
+15
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
359 | 359 | | |
360 | 360 | | |
361 | 361 | | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | 362 | | |
366 | 363 | | |
367 | 364 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1151 | 1151 | | |
1152 | 1152 | | |
1153 | 1153 | | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
1154 | 1169 | | |
1155 | 1170 | | |
1156 | 1171 | | |
| |||
0 commit comments