LLVM: llvm::TileInfo Struct Reference (original) (raw)
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. More...
#include "[llvm/Transforms/Utils/MatrixUtils.h](MatrixUtils%5F8h%5Fsource.html)"
| Classes | |
|---|---|
| struct | MatrixLoop |
| Properties of a single loop used when generating the tiled loop nest. More... |
| Public Attributes | |
|---|---|
| unsigned | NumRows |
| Number of rows of the matrix. | |
| unsigned | NumColumns |
| Number of columns of the matrix. | |
| unsigned | NumInner |
| Number of columns of the first matrix of a multiply / number of rows of the second matrix of a multiply. | |
| unsigned | TileSize = -1 |
| Number of rows/columns in a tile. | |
| MatrixLoop | RowLoop |
| The loop iterating on the rows. | |
| MatrixLoop | ColumnLoop |
| The loop iterating on the columns. | |
| MatrixLoop | KLoop |
| The loop iterating on k (inner dimension). |
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.
Definition at line 31 of file MatrixUtils.h.
◆ 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.
for ColumnLoop.Index = 0..NumColumns for RowLoop.Index = 0..NumRows for InnerLoop.Index = 0..NumInner
Definition at line 70 of file MatrixUtils.cpp.
References llvm::LoopBase< BlockT, LoopT >::addChildLoop(), llvm::LoopInfoBase< BlockT, LoopT >::addTopLevelLoop(), llvm::LoopInfoBase< BlockT, LoopT >::AllocateLoop(), B(), ColumnLoop, llvm::LoopInfoBase< BlockT, LoopT >::getLoopFor(), llvm::BasicBlock::getSinglePredecessor(), llvm::BasicBlock::getSingleSuccessor(), KLoop, NumColumns, NumInner, NumRows, RowLoop, and TileSize.
◆ ColumnLoop
◆ KLoop
◆ NumColumns
◆ NumInner
◆ NumRows
◆ RowLoop
◆ TileSize
The documentation for this struct was generated from the following files:
- include/llvm/Transforms/Utils/MatrixUtils.h
- lib/Transforms/Utils/MatrixUtils.cpp