#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/Mesh/Interfaces/ShardingInterface.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/Interfaces/DestinationStyleOpInterface.h"
#include "mlir/Interfaces/FunctionInterfaces.h"
#include "mlir/Interfaces/SubsetOpInterface.h"
#include "mlir/Interfaces/ValueBoundsOpInterface.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"
usingnamespacemlir;
usingnamespacemlir::linalg;
namespace {
struct LinalgInlinerInterface : public DialectInlinerInterface { … };
}
constexpr const ::llvm::StringLiteral
LinalgDialect::kMemoizedIndexingMapsAttrName;
has_region_builder;
detect_has_region_builder;
template <typename OpType, typename = std::enable_if_t<
!detect_has_region_builder<OpType>::value>>
void addNamedOpBuilderImpl(
llvm::StringMap<LinalgDialect::RegionBuilderFunType> &map) { … }
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) { … }
void mlir::linalg::LinalgDialect::initialize() { … }
LogicalResult LinalgDialect::verifyOperationAttribute(Operation *op,
NamedAttribute attr) { … }
#include "mlir/Dialect/Linalg/IR/LinalgOpsEnums.cpp.inc"
#define GET_ATTRDEF_CLASSES
#include "mlir/Dialect/Linalg/IR/LinalgOpsAttrDefs.cpp.inc"
#include "mlir/Dialect/Linalg/IR/LinalgOpsDialect.cpp.inc"