Lines Matching full:tile
9 // This file implements a pass to tile loop nests.
40 #define DEBUG_TYPE "affine-loop-tile"
56 // Default tile size if nothing is provided.
59 // If true, tile sizes are set to avoid max/min in bounds if possible.
76 /// Reduces each tile size to the largest divisor of the corresponding trip
80 assert(band.size() == tileSizes->size() && "invalid tile size count");
86 // Adjust the tile size to largest factor of the trip count less than
96 // Returns tile sizes to use. Checks CL options; if none are specified, sets it
98 // tile sizes assuming identity accesses / 1:1 tile size proportional footprint
100 // TODO: evolve this model. Tile size determination is a large area
113 // Use tileSizes and fill them with default tile size if it's short.
125 // Obtain memory footprint and set tile sizes so that a tile fits in
127 // footprint increases with the tile size linearly in that dimension (i.e.,
131 // Fill with default tile sizes if footprint is unknown.
137 rootForOp.emitWarning("memory footprint unknown: using default tile "
146 // No need of any tiling - set tile size to 1.
153 // profitability along each dimension and weight tile sizes based on that as
154 // one possible approach. Or compute a polynomial in tile sizes and solve for
160 // We'll keep a running product to determine the last tile size better.
166 // Set last tile size to cover the balance.
176 // Bands of loops to tile.
180 // Tile each band.
187 // Set up tile sizes; fill missing tile sizes at the end with default tile
192 auto diag = band[0].emitRemark("using tile sizes [");