llvm::TileInfo

Helper to create tiled IR loop nests for matrix operations.

Synopsis

Declared in <llvm/Transforms/Utils/MatrixUtils.h>

struct TileInfo;

Description

Generates nests of the form: for ColumnLoop.Index = 0..NumColumns for RowLoop.Index = 0..NumRows for KLoop.Index = 0..NumInner

Types

NameDescription
MatrixLoop Properties of a single loop used when generating the tiled loop nest.

Member Functions

NameDescription
TileInfo [constructor]Construct tile info for a matrix of the given dimensions.
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.

Data Members

NameDescription
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.