llvm-project
52a6c35c - [Matrix] Split TileSize into per-dimension fields; add remainder loop infrastructure

Commit
98 days ago
[Matrix] Split TileSize into per-dimension fields; add remainder loop infrastructure Split the single TileSize field in TileInfo into TileNumRows, TileNumInner, and TileNumColumns to enable non-square tiles. Add CreateTiledLoopsWithRemainder() which generates a full loop nest covering remainder rows and columns that don't evenly divide the tile size. Expose asIndex()/indexType() helpers from MatrixUtils.cpp for use by callers building the tiled loop bodies. In LowerMatrixIntrinsics, replace the old TileSize/TileLoopsThreshold cl::opts with per-dimension TileSizeRows/Inner/Columns and add TileUseLoops (default false) as the explicit opt-in for loop-based tiling. Add isTilingLoopProfitable() to gate when loops are worthwhile vs. inlining the tile computation.
Author
Francis Visoiu Mistrih
Committer
Parents
Loading