My Project
Classes | Macros | Typedefs | Functions
LinalgToLoops.cpp File Reference
#include "mlir/Dialect/Linalg/IR/LinalgOps.h"
#include "mlir/Dialect/Linalg/IR/LinalgTypes.h"
#include "mlir/Dialect/Linalg/Passes.h"
#include "mlir/Dialect/Linalg/Transforms/LinalgTransforms.h"
#include "mlir/Dialect/Linalg/Utils/Intrinsics.h"
#include "mlir/Dialect/Linalg/Utils/Utils.h"
#include "mlir/Dialect/LoopOps/LoopOps.h"
#include "mlir/Dialect/StandardOps/Ops.h"
#include "mlir/EDSC/Helpers.h"
#include "mlir/IR/AffineExpr.h"
#include "mlir/IR/AffineMap.h"
#include "mlir/IR/BlockAndValueMapping.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Support/LLVM.h"
#include "mlir/Support/STLExtras.h"
#include "mlir/Transforms/DialectConversion.h"
#include "mlir/Transforms/FoldUtils.h"
#include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc"
Include dependency graph for LinalgToLoops.cpp:

Classes

class  LinalgScopedEmitter< IndexedValueType, LinalgOpType >
 
class  LinalgScopedEmitter< IndexedValueType, CopyOp >
 
class  LinalgScopedEmitter< IndexedValueType, FillOp >
 
class  LinalgScopedEmitter< IndexedValueType, DotOp >
 
class  LinalgScopedEmitter< IndexedValueType, MatvecOp >
 
class  LinalgScopedEmitter< IndexedValueType, MatmulOp >
 
class  LinalgScopedEmitter< IndexedValueType, ConvOp >
 
class  LinalgScopedEmitter< IndexedValueType, GenericOp >
 
class  LinalgScopedEmitter< IndexedValueType, IndexedGenericOp >
 
class  LinalgRewritePattern< LoopType, IndexedValueType, ConcreteOp >
 
class  RewritePatternList< LoopType, IndexedValueType, LinalgOps >
 
class  RewritePatternList< LoopType, IndexedValueType >
 
class  RewritePatternList< LoopType, IndexedValueType, ConcreteOp, LinalgOps... >
 
struct  FoldAffineOp
 

Macros

#define GET_OP_LIST
 
#define INSTANTIATE_LINALG_OP_TO_LOOPS(OP_TYPE)
 

Typedefs

using IndexedStdValue = TemplatedIndexedValue< std_load, std_store >
 
using IndexedAffineValue = TemplatedIndexedValue< affine_load, affine_store >
 

Functions

template<typename LoopType , typename IndexedValueType >
void FillRewritePatterns (OwningRewritePatternList &patterns, MLIRContext *ctx)
 Populate the given list with patterns that convert from Linalg to LLVM. More...
 

Macro Definition Documentation

◆ GET_OP_LIST

#define GET_OP_LIST

◆ INSTANTIATE_LINALG_OP_TO_LOOPS

#define INSTANTIATE_LINALG_OP_TO_LOOPS (   OP_TYPE)
Value:
template LogicalResult mlir::linalg::linalgOpToLoops<OP_TYPE>( \
PatternRewriter & rewriter, Operation * op); \
template LogicalResult mlir::linalg::linalgOpToAffineLoops<OP_TYPE>( \
PatternRewriter & rewriter, Operation * op);
Definition: Operation.h:27
Definition: LogicalResult.h:18

Typedef Documentation

◆ IndexedAffineValue

◆ IndexedStdValue

Function Documentation

◆ FillRewritePatterns()

template<typename LoopType , typename IndexedValueType >
void FillRewritePatterns ( OwningRewritePatternList patterns,
MLIRContext ctx 
)

Populate the given list with patterns that convert from Linalg to LLVM.