A helper struct to create IR loop nests for tiling in IR of the following form: for ColumnLoop.Index = 0..NumColumns for RowLoop.Index = 0..NumRows for KLoop.Index = 0..NumInner
Declared in <llvm/Transforms/Utils/MatrixUtils.h>
struct TileInfo;
| Name | Description |
|---|---|
MatrixLoop | Properties of a single loop used when generating the tiled loop nest. |
| Name | Description |
|---|---|
TileInfo [constructor] | |
CreateTiledLoops | Creates an IR loop nests for tiling of the form below. Returns the block for the inner loop body and sets {Column,Row,Inner}LoopHeader/Latch fields. |
| Name | Description |
|---|---|
ColumnLoop | The loop iterating on the columns. |
KLoop | The loop iterating on k (inner dimension). |
NumColumns | Number of columns of the matrix. |
NumInner | Number of columns of the first matrix of a multiply / number of rows of the second matrix of a multiply. |
NumRows | Number of rows of the matrix. |
RowLoop | The loop iterating on the rows. |
TileSize | Number of rows/columns in a tile. |