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