LLVM: include/llvm/Transforms/Utils/MatrixUtils.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_TRANSFORMS_UTILS_MATRIXUTILS_H
14#define LLVM_TRANSFORMS_UTILS_MATRIXUTILS_H
15
17
18namespace llvm {
25
26
27
28
29
30
32
34
35
37
38
39
41
42
44
45
53
54
56
58
60
65
66
67
68
69
70
71
72
76
77private:
78
79
80
81
86};
87}
88
89#endif
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
LLVM Basic Block Representation.
Common base class shared among various IRBuilders.
Represents a single loop in the control flow graph.
StringRef - Represent a constant reference to a string, i.e.
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
Properties of a single loop used when generating the tiled loop nest.
Definition MatrixUtils.h:46
BasicBlock * Header
The header and latch of the loop.
Definition MatrixUtils.h:50
Value * Index
The index updated on every iteration.
Definition MatrixUtils.h:48
BasicBlock * Latch
Definition MatrixUtils.h:51
unsigned NumInner
Number of columns of the first matrix of a multiply / number of rows of the second matrix of a multip...
Definition MatrixUtils.h:40
MatrixLoop ColumnLoop
The loop iterating on the columns.
Definition MatrixUtils.h:57
MatrixLoop RowLoop
The loop iterating on the rows.
Definition MatrixUtils.h:55
unsigned NumRows
Number of rows of the matrix.
Definition MatrixUtils.h:33
BasicBlock * CreateTiledLoops(BasicBlock *Start, BasicBlock *End, IRBuilderBase &B, DomTreeUpdater &DTU, LoopInfo &LI)
Creates an IR loop nests for tiling of the form below.
unsigned NumColumns
Number of columns of the matrix.
Definition MatrixUtils.h:36
TileInfo(unsigned NumRows, unsigned NumColumns, unsigned NumInner, unsigned TileSize)
Definition MatrixUtils.h:61
unsigned TileSize
Number of rows/columns in a tile.
Definition MatrixUtils.h:43
MatrixLoop KLoop
The loop iterating on k (inner dimension).
Definition MatrixUtils.h:59