MLIR  16.0.0git
Macros | Typedefs | Functions
LinalgDialect.cpp File Reference
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h"
#include "mlir/Dialect/Linalg/IR/Linalg.h"
#include "mlir/Dialect/Math/IR/Math.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/Tensor/IR/Tensor.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Dialect.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/FunctionInterfaces.h"
#include "mlir/Parser/Parser.h"
#include "mlir/Support/LLVM.h"
#include "mlir/Transforms/InliningUtils.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/raw_ostream.h"
#include "mlir/Dialect/Linalg/IR/LinalgOpsAttrDefs.cpp.inc"
#include "mlir/Dialect/Linalg/IR/LinalgOps.cpp.inc"
#include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc"
#include "mlir/Dialect/Linalg/IR/LinalgOpsEnums.cpp.inc"
#include "mlir/Dialect/Linalg/IR/LinalgOpsDialect.cpp.inc"
+ Include dependency graph for LinalgDialect.cpp:

Go to the source code of this file.

Macros

#define GET_ATTRDEF_LIST
 
#define GET_OP_LIST
 
#define GET_OP_LIST
 
#define GET_OP_LIST
 
#define GET_ATTRDEF_CLASSES
 

Typedefs

template<typename T , typename... Args>
using has_region_builder = decltype(T::regionBuilder)
 Trait to check if T provides a regionBuilder method. More...
 
template<typename T >
using detect_has_region_builder = llvm::is_detected< has_region_builder, T >
 

Functions

template<typename OpType , typename = std::enable_if_t< !detect_has_region_builder<OpType>::value>>
void addNamedOpBuilderImpl (llvm::StringMap< LinalgDialect::RegionBuilderFunType > &map)
 SFINAE helper for single C++ class without a regionBuilder method (e.g. More...
 
template<typename OpType , typename = std::enable_if_t<detect_has_region_builder<OpType>::value>, typename = void>
void addNamedOpBuilderImpl (llvm::StringMap< LinalgDialect::RegionBuilderFunType > &map)
 
template<typename... OpTypes>
void addNamedOpBuilders (llvm::StringMap< LinalgDialect::RegionBuilderFunType > &map)
 

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 135 of file LinalgDialect.cpp.

◆ GET_ATTRDEF_LIST

#define GET_ATTRDEF_LIST

◆ GET_OP_LIST [1/3]

#define GET_OP_LIST

◆ GET_OP_LIST [2/3]

#define GET_OP_LIST

◆ GET_OP_LIST [3/3]

#define GET_OP_LIST

Typedef Documentation

◆ detect_has_region_builder

template<typename T >
using detect_has_region_builder = llvm::is_detected<has_region_builder, T>

Definition at line 75 of file LinalgDialect.cpp.

◆ has_region_builder

template<typename T , typename... Args>
using has_region_builder = decltype(T::regionBuilder)

Trait to check if T provides a regionBuilder method.

Definition at line 73 of file LinalgDialect.cpp.

Function Documentation

◆ addNamedOpBuilderImpl() [1/2]

template<typename OpType , typename = std::enable_if_t< !detect_has_region_builder<OpType>::value>>
void addNamedOpBuilderImpl ( llvm::StringMap< LinalgDialect::RegionBuilderFunType > &  map)

SFINAE helper for single C++ class without a regionBuilder method (e.g.

an OpInterface).

Definition at line 81 of file LinalgDialect.cpp.

◆ addNamedOpBuilderImpl() [2/2]

template<typename OpType , typename = std::enable_if_t<detect_has_region_builder<OpType>::value>, typename = void>
void addNamedOpBuilderImpl ( llvm::StringMap< LinalgDialect::RegionBuilderFunType > &  map)

Definition at line 89 of file LinalgDialect.cpp.

◆ addNamedOpBuilders()

template<typename... OpTypes>
void addNamedOpBuilders ( llvm::StringMap< LinalgDialect::RegionBuilderFunType > &  map)

Definition at line 97 of file LinalgDialect.cpp.