[mlir] Generare .cpp.inc files for dialects.
* Previously, we were only generating .h.inc files. We foresee the need to also generate implementations and this is a step towards that. * Discussed in https://llvm.discourse.group/t/generating-cpp-inc-files-for-dialects/3732/2 * Deviates from the discussion above by generating a default constructor in the .cpp.inc file (and adding a tablegen bit that disables this in case if this is user provided). * Generating the destructor started as a way to flush out the missing includes (produces a link error), but it is a strict improvement on its own that is worth doing (i.e. by emitting key methods in the .cpp file, we root vtables in one translation unit, which is a non-controversial improvement). Differential Revision: https://reviews.llvm.org/D105070
This commit is contained in:
parent
bb2cfca2f3
commit
485cc55edf
|
@ -15,6 +15,7 @@ function(add_mlir_dialect dialect dialect_namespace)
|
|||
mlir_tablegen(${dialect}Types.h.inc -gen-typedef-decls)
|
||||
mlir_tablegen(${dialect}Types.cpp.inc -gen-typedef-defs)
|
||||
mlir_tablegen(${dialect}Dialect.h.inc -gen-dialect-decls -dialect=${dialect_namespace})
|
||||
mlir_tablegen(${dialect}Dialect.cpp.inc -gen-dialect-defs -dialect=${dialect_namespace})
|
||||
add_public_tablegen_target(MLIR${dialect}IncGen)
|
||||
add_dependencies(mlir-headers MLIR${dialect}IncGen)
|
||||
endfunction()
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::standalone;
|
||||
|
||||
#include "Standalone/StandaloneOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Standalone dialect.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -2,4 +2,5 @@ set(LLVM_TARGET_DEFINITIONS Ops.td)
|
|||
mlir_tablegen(Ops.h.inc -gen-op-decls)
|
||||
mlir_tablegen(Ops.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(Dialect.h.inc -gen-dialect-decls)
|
||||
mlir_tablegen(Dialect.cpp.inc -gen-dialect-defs)
|
||||
add_public_tablegen_target(ToyCh2OpsIncGen)
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::toy;
|
||||
|
||||
#include "toy/Dialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ToyDialect
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -2,4 +2,5 @@ set(LLVM_TARGET_DEFINITIONS Ops.td)
|
|||
mlir_tablegen(Ops.h.inc -gen-op-decls)
|
||||
mlir_tablegen(Ops.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(Dialect.h.inc -gen-dialect-decls)
|
||||
mlir_tablegen(Dialect.cpp.inc -gen-dialect-defs)
|
||||
add_public_tablegen_target(ToyCh3OpsIncGen)
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::toy;
|
||||
|
||||
#include "toy/Dialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ToyDialect
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -3,6 +3,7 @@ set(LLVM_TARGET_DEFINITIONS Ops.td)
|
|||
mlir_tablegen(Ops.h.inc -gen-op-decls)
|
||||
mlir_tablegen(Ops.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(Dialect.h.inc -gen-dialect-decls)
|
||||
mlir_tablegen(Dialect.cpp.inc -gen-dialect-defs)
|
||||
add_public_tablegen_target(ToyCh4OpsIncGen)
|
||||
|
||||
# Most dialects should use add_mlir_interfaces().
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::toy;
|
||||
|
||||
#include "toy/Dialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ToyInlinerInterface
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -3,6 +3,7 @@ set(LLVM_TARGET_DEFINITIONS Ops.td)
|
|||
mlir_tablegen(Ops.h.inc -gen-op-decls)
|
||||
mlir_tablegen(Ops.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(Dialect.h.inc -gen-dialect-decls)
|
||||
mlir_tablegen(Dialect.cpp.inc -gen-dialect-defs)
|
||||
add_public_tablegen_target(ToyCh5OpsIncGen)
|
||||
|
||||
# Most dialects should use add_mlir_interfaces().
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::toy;
|
||||
|
||||
#include "toy/Dialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ToyInlinerInterface
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -3,6 +3,7 @@ set(LLVM_TARGET_DEFINITIONS Ops.td)
|
|||
mlir_tablegen(Ops.h.inc -gen-op-decls)
|
||||
mlir_tablegen(Ops.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(Dialect.h.inc -gen-dialect-decls)
|
||||
mlir_tablegen(Dialect.cpp.inc -gen-dialect-defs)
|
||||
add_public_tablegen_target(ToyCh6OpsIncGen)
|
||||
|
||||
# Most dialects should use add_mlir_interfaces().
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::toy;
|
||||
|
||||
#include "toy/Dialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ToyInlinerInterface
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -3,6 +3,7 @@ set(LLVM_TARGET_DEFINITIONS Ops.td)
|
|||
mlir_tablegen(Ops.h.inc -gen-op-decls)
|
||||
mlir_tablegen(Ops.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(Dialect.h.inc -gen-dialect-decls)
|
||||
mlir_tablegen(Dialect.cpp.inc -gen-dialect-defs)
|
||||
add_public_tablegen_target(ToyCh7OpsIncGen)
|
||||
|
||||
# Most dialects should use add_mlir_interfaces().
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::toy;
|
||||
|
||||
#include "toy/Dialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ToyInlinerInterface
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -9,6 +9,7 @@ set(LLVM_TARGET_DEFINITIONS LLVMOps.td)
|
|||
mlir_tablegen(LLVMOps.h.inc -gen-op-decls)
|
||||
mlir_tablegen(LLVMOps.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(LLVMOpsDialect.h.inc -gen-dialect-decls)
|
||||
mlir_tablegen(LLVMOpsDialect.cpp.inc -gen-dialect-defs)
|
||||
mlir_tablegen(LLVMOpsEnums.h.inc -gen-enum-decls)
|
||||
mlir_tablegen(LLVMOpsEnums.cpp.inc -gen-enum-defs)
|
||||
add_public_tablegen_target(MLIRLLVMOpsIncGen)
|
||||
|
|
|
@ -4,6 +4,7 @@ add_public_tablegen_target(acc_common_td)
|
|||
|
||||
set(LLVM_TARGET_DEFINITIONS OpenACCOps.td)
|
||||
mlir_tablegen(OpenACCOpsDialect.h.inc -gen-dialect-decls -dialect=acc)
|
||||
mlir_tablegen(OpenACCOpsDialect.cpp.inc -gen-dialect-defs -dialect=acc)
|
||||
mlir_tablegen(OpenACCOps.h.inc -gen-op-decls)
|
||||
mlir_tablegen(OpenACCOps.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(OpenACCOpsEnums.h.inc -gen-enum-decls)
|
||||
|
|
|
@ -4,6 +4,7 @@ add_public_tablegen_target(omp_common_td)
|
|||
|
||||
set(LLVM_TARGET_DEFINITIONS OpenMPOps.td)
|
||||
mlir_tablegen(OpenMPOpsDialect.h.inc -gen-dialect-decls -dialect=omp)
|
||||
mlir_tablegen(OpenMPOpsDialect.cpp.inc -gen-dialect-defs -dialect=omp)
|
||||
mlir_tablegen(OpenMPOps.h.inc -gen-op-decls)
|
||||
mlir_tablegen(OpenMPOps.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(OpenMPOpsEnums.h.inc -gen-enum-decls)
|
||||
|
|
|
@ -2,6 +2,7 @@ set(LLVM_TARGET_DEFINITIONS Ops.td)
|
|||
mlir_tablegen(Ops.h.inc -gen-op-decls)
|
||||
mlir_tablegen(Ops.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(OpsDialect.h.inc -gen-dialect-decls)
|
||||
mlir_tablegen(OpsDialect.cpp.inc -gen-dialect-defs)
|
||||
mlir_tablegen(OpsEnums.h.inc -gen-enum-decls)
|
||||
mlir_tablegen(OpsEnums.cpp.inc -gen-enum-defs)
|
||||
add_public_tablegen_target(MLIRStandardOpsIncGen)
|
||||
|
|
|
@ -9,6 +9,7 @@ add_public_tablegen_target(MLIRBuiltinAttributesIncGen)
|
|||
|
||||
set(LLVM_TARGET_DEFINITIONS BuiltinDialect.td)
|
||||
mlir_tablegen(BuiltinDialect.h.inc -gen-dialect-decls)
|
||||
mlir_tablegen(BuiltinDialect.cpp.inc -gen-dialect-defs)
|
||||
add_public_tablegen_target(MLIRBuiltinDialectIncGen)
|
||||
|
||||
set(LLVM_TARGET_DEFINITIONS BuiltinLocationAttributes.td)
|
||||
|
|
|
@ -267,6 +267,10 @@ class Dialect {
|
|||
// If this dialect overrides the hook for materializing constants.
|
||||
bit hasConstantMaterializer = 0;
|
||||
|
||||
/// If the dialect definition provides a non-default destructor.
|
||||
/// If false, a default destructor implementation will be generated.
|
||||
bit hasNonDefaultDestructor = 0;
|
||||
|
||||
// If this dialect overrides the hook for verifying operation attributes.
|
||||
bit hasOperationAttrVerify = 0;
|
||||
|
||||
|
|
|
@ -54,9 +54,13 @@ public:
|
|||
/// Returns true if this dialect has a canonicalizer.
|
||||
bool hasCanonicalizer() const;
|
||||
|
||||
// Returns true if this dialect has a constant materializer.
|
||||
/// Returns true if this dialect has a constant materializer.
|
||||
bool hasConstantMaterializer() const;
|
||||
|
||||
/// Returns true if the destructor definition is provided explicitly or
|
||||
/// false if a default should be generated.
|
||||
bool hasNonDefaultDestructor() const;
|
||||
|
||||
/// Returns true if this dialect has an operation attribute verifier.
|
||||
bool hasOperationAttrVerify() const;
|
||||
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
|
||||
using namespace mlir;
|
||||
|
||||
#include "mlir/Dialect/AMX/AMXDialect.cpp.inc"
|
||||
|
||||
void amx::AMXDialect::initialize() {
|
||||
addOperations<
|
||||
#define GET_OP_LIST
|
||||
|
|
|
@ -26,6 +26,8 @@ using namespace mlir;
|
|||
|
||||
#define DEBUG_TYPE "affine-analysis"
|
||||
|
||||
#include "mlir/Dialect/Affine/IR/AffineOpsDialect.cpp.inc"
|
||||
|
||||
/// A utility function to check if a value is defined at the top level of
|
||||
/// `region` or is an argument of `region`. A value of index type defined at the
|
||||
/// top level of a `AffineScope` region is always a valid symbol for all
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
|
||||
using namespace mlir;
|
||||
|
||||
#include "mlir/Dialect/ArmNeon/ArmNeonDialect.cpp.inc"
|
||||
|
||||
void arm_neon::ArmNeonDialect::initialize() {
|
||||
addOperations<
|
||||
#define GET_OP_LIST
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
using namespace mlir;
|
||||
using namespace arm_sve;
|
||||
|
||||
#include "mlir/Dialect/ArmSVE/ArmSVEDialect.cpp.inc"
|
||||
|
||||
static Type getI1SameShape(Type type);
|
||||
static void buildScalableCmpIOp(OpBuilder &build, OperationState &result,
|
||||
CmpIPredicate predicate, Value lhs, Value rhs);
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::async;
|
||||
|
||||
#include "mlir/Dialect/Async/IR/AsyncOpsDialect.cpp.inc"
|
||||
|
||||
void AsyncDialect::initialize() {
|
||||
addOperations<
|
||||
#define GET_OP_LIST
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
#include "mlir/Dialect/Complex/IR/Complex.h"
|
||||
|
||||
#include "mlir/Dialect/Complex/IR/ComplexOpsDialect.cpp.inc"
|
||||
|
||||
void mlir::complex::ComplexDialect::initialize() {
|
||||
addOperations<
|
||||
#define GET_OP_LIST
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
|
||||
using namespace mlir;
|
||||
|
||||
#include "mlir/Dialect/DLTI/DLTIDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// DataLayoutEntryAttr
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::emitc;
|
||||
|
||||
#include "mlir/Dialect/EmitC/IR/EmitCDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// EmitCDialect
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::gpu;
|
||||
|
||||
#include "mlir/Dialect/GPU/GPUOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// MMAMatrixType
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::LLVM;
|
||||
|
||||
#include "mlir/Dialect/LLVMIR/LLVMOpsDialect.cpp.inc"
|
||||
|
||||
static constexpr const char kVolatileAttrName[] = "volatile_";
|
||||
static constexpr const char kNonTemporalAttrName[] = "nontemporal";
|
||||
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
using namespace mlir;
|
||||
using namespace NVVM;
|
||||
|
||||
#include "mlir/Dialect/LLVMIR/NVVMOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Printing/parsing for NVVM ops
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
using namespace mlir;
|
||||
using namespace ROCDL;
|
||||
|
||||
#include "mlir/Dialect/LLVMIR/ROCDLOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Parsing for ROCDL ops
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::linalg;
|
||||
|
||||
#include "mlir/Dialect/Linalg/IR/LinalgOpsDialect.cpp.inc"
|
||||
|
||||
/// Forward declarations.
|
||||
|
||||
/// Generic entry point to create the block for the region of a LinalgOp.
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::math;
|
||||
|
||||
#include "mlir/Dialect/Math/IR/MathOpsDialect.cpp.inc"
|
||||
|
||||
namespace {
|
||||
/// This class defines the interface for handling inlining with math
|
||||
/// operations.
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::memref;
|
||||
|
||||
#include "mlir/Dialect/MemRef/IR/MemRefOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// MemRefDialect Dialect Interfaces
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
using namespace mlir;
|
||||
using namespace acc;
|
||||
|
||||
#include "mlir/Dialect/OpenACC/OpenACCOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// OpenACC operations
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "llvm/ADT/StringSwitch.h"
|
||||
#include <cstddef>
|
||||
|
||||
#include "mlir/Dialect/OpenMP/OpenMPOpsDialect.cpp.inc"
|
||||
#include "mlir/Dialect/OpenMP/OpenMPOpsEnums.cpp.inc"
|
||||
|
||||
using namespace mlir;
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::pdl;
|
||||
|
||||
#include "mlir/Dialect/PDL/IR/PDLOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// PDLDialect
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::pdl_interp;
|
||||
|
||||
#include "mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// PDLInterp Dialect
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -23,6 +23,8 @@ using namespace mlir;
|
|||
using namespace mlir::quant;
|
||||
using namespace mlir::quant::detail;
|
||||
|
||||
#include "mlir/Dialect/Quant/QuantOpsDialect.cpp.inc"
|
||||
|
||||
void QuantizationDialect::initialize() {
|
||||
addTypes<AnyQuantizedType, CalibratedQuantizedType, UniformQuantizedType,
|
||||
UniformQuantizedPerAxisType>();
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::scf;
|
||||
|
||||
#include "mlir/Dialect/SCF/SCFOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// SCFDialect Dialect Interfaces
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::spirv;
|
||||
|
||||
#include "mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// InlinerInterface
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::shape;
|
||||
|
||||
#include "mlir/Dialect/Shape/IR/ShapeOpsDialect.cpp.inc"
|
||||
|
||||
namespace {
|
||||
#include "ShapeCanonicalization.inc"
|
||||
}
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::sparse_tensor;
|
||||
|
||||
#include "mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// TensorDialect Attribute Methods.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
#include "llvm/Support/FormatVariadic.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
|
||||
#include "mlir/Dialect/StandardOps/IR/OpsDialect.cpp.inc"
|
||||
|
||||
// Pull in all enum type definitions and utility function declarations.
|
||||
#include "mlir/Dialect/StandardOps/IR/OpsEnums.cpp.inc"
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::tensor;
|
||||
|
||||
#include "mlir/Dialect/Tensor/IR/TensorOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// TensorDialect Dialect Interfaces
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::tosa;
|
||||
|
||||
#include "mlir/Dialect/Tosa/IR/TosaOpsDialect.cpp.inc"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Tosa dialect structs and interface includes.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "llvm/ADT/bit.h"
|
||||
#include <numeric>
|
||||
|
||||
#include "mlir/Dialect/Vector/VectorOpsDialect.cpp.inc"
|
||||
// Pull in all enum type and utility function definitions.
|
||||
#include "mlir/Dialect/Vector/VectorOpsEnums.cpp.inc"
|
||||
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
|
||||
using namespace mlir;
|
||||
|
||||
#include "mlir/Dialect/X86Vector/X86VectorDialect.cpp.inc"
|
||||
|
||||
void x86vector::X86VectorDialect::initialize() {
|
||||
addOperations<
|
||||
#define GET_OP_LIST
|
||||
|
|
|
@ -27,6 +27,8 @@ using namespace mlir;
|
|||
// Builtin Dialect
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "mlir/IR/BuiltinDialect.cpp.inc"
|
||||
|
||||
namespace {
|
||||
struct BuiltinOpAsmDialectInterface : public OpAsmDialectInterface {
|
||||
using OpAsmDialectInterface::OpAsmDialectInterface;
|
||||
|
|
|
@ -69,6 +69,10 @@ bool Dialect::hasConstantMaterializer() const {
|
|||
return def->getValueAsBit("hasConstantMaterializer");
|
||||
}
|
||||
|
||||
bool Dialect::hasNonDefaultDestructor() const {
|
||||
return def->getValueAsBit("hasNonDefaultDestructor");
|
||||
}
|
||||
|
||||
bool Dialect::hasOperationAttrVerify() const {
|
||||
return def->getValueAsBit("hasOperationAttrVerify");
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ set(LLVM_TARGET_DEFINITIONS TestOps.td)
|
|||
mlir_tablegen(TestOps.h.inc -gen-op-decls)
|
||||
mlir_tablegen(TestOps.cpp.inc -gen-op-defs)
|
||||
mlir_tablegen(TestOpsDialect.h.inc -gen-dialect-decls -dialect=test)
|
||||
mlir_tablegen(TestOpsDialect.cpp.inc -gen-dialect-defs -dialect=test)
|
||||
mlir_tablegen(TestOpEnums.h.inc -gen-enum-decls)
|
||||
mlir_tablegen(TestOpEnums.cpp.inc -gen-enum-defs)
|
||||
mlir_tablegen(TestOpStructs.h.inc -gen-struct-attr-decls)
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
using namespace mlir;
|
||||
using namespace mlir::test;
|
||||
|
||||
#include "TestOpsDialect.cpp.inc"
|
||||
|
||||
void mlir::test::registerTestDialect(DialectRegistry ®istry) {
|
||||
registry.insert<TestDialect>();
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ def Test_Dialect : Dialect {
|
|||
let hasRegionArgAttrVerify = 1;
|
||||
let hasRegionResultAttrVerify = 1;
|
||||
let hasOperationInterfaceFallback = 1;
|
||||
let hasNonDefaultDestructor = 1;
|
||||
let dependentDialects = ["::mlir::DLTIDialect"];
|
||||
|
||||
let extraClassDeclaration = [{
|
||||
|
@ -47,8 +48,6 @@ def Test_Dialect : Dialect {
|
|||
getParseOperationHook(StringRef opName) const override;
|
||||
LogicalResult printOperation(Operation *op,
|
||||
OpAsmPrinter &printer) const override;
|
||||
|
||||
~TestDialect();
|
||||
private:
|
||||
// Storage for a custom fallback interface.
|
||||
void *fallbackEffectOpInterfaces;
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "mlir/TableGen/OpClass.h"
|
||||
#include "mlir/TableGen/Operator.h"
|
||||
#include "mlir/TableGen/Trait.h"
|
||||
#include "llvm/ADT/Optional.h"
|
||||
#include "llvm/ADT/Sequence.h"
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
|
@ -54,6 +55,29 @@ filterForDialect(ArrayRef<llvm::Record *> records, Dialect &dialect) {
|
|||
DialectFilterIterator(records.end(), records.end(), filterFn)};
|
||||
}
|
||||
|
||||
static Optional<Dialect>
|
||||
findSelectedDialect(ArrayRef<const llvm::Record *> dialectDefs) {
|
||||
// Select the dialect to gen for.
|
||||
if (dialectDefs.size() == 1 && selectedDialect.getNumOccurrences() == 0) {
|
||||
return Dialect(dialectDefs.front());
|
||||
}
|
||||
|
||||
if (selectedDialect.getNumOccurrences() == 0) {
|
||||
llvm::errs() << "when more than 1 dialect is present, one must be selected "
|
||||
"via '-dialect'\n";
|
||||
return llvm::None;
|
||||
}
|
||||
|
||||
auto dialectIt = llvm::find_if(dialectDefs, [](const llvm::Record *def) {
|
||||
return Dialect(def).getName() == selectedDialect;
|
||||
});
|
||||
if (dialectIt == dialectDefs.end()) {
|
||||
llvm::errs() << "selected dialect with '-dialect' does not exist\n";
|
||||
return llvm::None;
|
||||
}
|
||||
return Dialect(*dialectIt);
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// GEN: Dialect declarations
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -72,9 +96,11 @@ class {0} : public ::mlir::Dialect {
|
|||
{2}
|
||||
initialize();
|
||||
}
|
||||
|
||||
void initialize();
|
||||
friend class ::mlir::MLIRContext;
|
||||
public:
|
||||
~{0}() override;
|
||||
static constexpr ::llvm::StringLiteral getDialectNamespace() {
|
||||
return ::llvm::StringLiteral("{1}");
|
||||
}
|
||||
|
@ -210,34 +236,52 @@ static bool emitDialectDecls(const llvm::RecordKeeper &recordKeeper,
|
|||
raw_ostream &os) {
|
||||
emitSourceFileHeader("Dialect Declarations", os);
|
||||
|
||||
auto defs = recordKeeper.getAllDerivedDefinitions("Dialect");
|
||||
if (defs.empty())
|
||||
auto dialectDefs = recordKeeper.getAllDerivedDefinitions("Dialect");
|
||||
if (dialectDefs.empty())
|
||||
return false;
|
||||
|
||||
// Select the dialect to gen for.
|
||||
const llvm::Record *dialectDef = nullptr;
|
||||
if (defs.size() == 1 && selectedDialect.getNumOccurrences() == 0) {
|
||||
dialectDef = defs.front();
|
||||
} else if (selectedDialect.getNumOccurrences() == 0) {
|
||||
llvm::errs() << "when more than 1 dialect is present, one must be selected "
|
||||
"via '-dialect'";
|
||||
Optional<Dialect> dialect = findSelectedDialect(dialectDefs);
|
||||
if (!dialect)
|
||||
return true;
|
||||
} else {
|
||||
auto dialectIt = llvm::find_if(defs, [](const llvm::Record *def) {
|
||||
return Dialect(def).getName() == selectedDialect;
|
||||
});
|
||||
if (dialectIt == defs.end()) {
|
||||
llvm::errs() << "selected dialect with '-dialect' does not exist";
|
||||
return true;
|
||||
}
|
||||
dialectDef = *dialectIt;
|
||||
}
|
||||
|
||||
auto attrDefs = recordKeeper.getAllDerivedDefinitions("DialectAttr");
|
||||
auto typeDefs = recordKeeper.getAllDerivedDefinitions("DialectType");
|
||||
Dialect dialect(dialectDef);
|
||||
emitDialectDecl(dialect, filterForDialect<Attribute>(attrDefs, dialect),
|
||||
filterForDialect<Type>(typeDefs, dialect), os);
|
||||
emitDialectDecl(*dialect, filterForDialect<Attribute>(attrDefs, *dialect),
|
||||
filterForDialect<Type>(typeDefs, *dialect), os);
|
||||
return false;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// GEN: Dialect definitions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
/// The code block to generate a default desturctor definition.
|
||||
///
|
||||
/// {0}: The name of the dialect class.
|
||||
static const char *const dialectDestructorStr = R"(
|
||||
{0}::~{0}() = default;
|
||||
|
||||
)";
|
||||
|
||||
static void emitDialectDef(Dialect &dialect, raw_ostream &os) {
|
||||
// Emit all nested namespaces.
|
||||
NamespaceEmitter nsEmitter(os, dialect);
|
||||
|
||||
if (!dialect.hasNonDefaultDestructor())
|
||||
os << llvm::formatv(dialectDestructorStr, dialect.getCppClassName());
|
||||
}
|
||||
|
||||
static bool emitDialectDefs(const llvm::RecordKeeper &recordKeeper,
|
||||
raw_ostream &os) {
|
||||
emitSourceFileHeader("Dialect Definitions", os);
|
||||
|
||||
auto dialectDefs = recordKeeper.getAllDerivedDefinitions("Dialect");
|
||||
if (dialectDefs.empty())
|
||||
return false;
|
||||
|
||||
Optional<Dialect> dialect = findSelectedDialect(dialectDefs);
|
||||
if (!dialect)
|
||||
return true;
|
||||
emitDialectDef(*dialect, os);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -250,3 +294,9 @@ static mlir::GenRegistration
|
|||
[](const llvm::RecordKeeper &records, raw_ostream &os) {
|
||||
return emitDialectDecls(records, os);
|
||||
});
|
||||
|
||||
static mlir::GenRegistration
|
||||
genDialectDefs("gen-dialect-defs", "Generate dialect definitions",
|
||||
[](const llvm::RecordKeeper &records, raw_ostream &os) {
|
||||
return emitDialectDefs(records, os);
|
||||
});
|
||||
|
|
|
@ -129,6 +129,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/IR/BuiltinDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/IR/BuiltinDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/IR/BuiltinDialect.td",
|
||||
|
@ -778,6 +782,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/Affine/IR/AffineOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/Affine/IR/AffineOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/Affine/IR/AffineOps.td",
|
||||
|
@ -847,6 +855,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/EmitC/IR/EmitCDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/EmitC/IR/EmitCDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-decls"],
|
||||
"include/mlir/Dialect/EmitC/IR/EmitC.h.inc",
|
||||
|
@ -904,6 +916,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/Async/IR/AsyncOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/Async/IR/AsyncOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-typedef-decls"],
|
||||
"include/mlir/Dialect/Async/IR/AsyncOpsTypes.h.inc",
|
||||
|
@ -975,6 +991,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/ArmNeon/ArmNeonDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=arm_neon",
|
||||
],
|
||||
"include/mlir/Dialect/ArmNeon/ArmNeonDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-decls"],
|
||||
"include/mlir/Dialect/ArmNeon/ArmNeon.h.inc",
|
||||
|
@ -1093,6 +1116,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/ArmSVE/ArmSVEDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=arm_sve",
|
||||
],
|
||||
"include/mlir/Dialect/ArmSVE/ArmSVEDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/ArmSVE/ArmSVE.td",
|
||||
|
@ -1173,6 +1203,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/AMX/AMXDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=amx",
|
||||
],
|
||||
"include/mlir/Dialect/AMX/AMXDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-decls"],
|
||||
"include/mlir/Dialect/AMX/AMX.h.inc",
|
||||
|
@ -1261,6 +1298,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/X86Vector/X86VectorDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=x86vector",
|
||||
],
|
||||
"include/mlir/Dialect/X86Vector/X86VectorDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-decls"],
|
||||
"include/mlir/Dialect/X86Vector/X86Vector.h.inc",
|
||||
|
@ -1355,6 +1399,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/SCF/SCFOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/SCF/SCFOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/SCF/SCFOps.td",
|
||||
|
@ -1446,6 +1494,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=sparse_tensor",
|
||||
],
|
||||
"include/mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-decls"],
|
||||
"include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.h.inc",
|
||||
|
@ -1586,6 +1641,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/StandardOps/IR/OpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/StandardOps/IR/OpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-enum-decls"],
|
||||
"include/mlir/Dialect/StandardOps/IR/OpsEnums.h.inc",
|
||||
|
@ -2060,6 +2119,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/Shape/IR/ShapeOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/Shape/IR/ShapeOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/Shape/IR/ShapeOps.td",
|
||||
|
@ -2516,6 +2579,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/GPU/GPUOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=gpu",
|
||||
],
|
||||
"include/mlir/Dialect/GPU/GPUOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-interface-decls"],
|
||||
"include/mlir/Dialect/GPU/GPUOpInterfaces.h.inc",
|
||||
|
@ -2953,6 +3023,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/LLVMIR/LLVMOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/LLVMIR/LLVMOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-enum-decls"],
|
||||
"include/mlir/Dialect/LLVMIR/LLVMOpsEnums.h.inc",
|
||||
|
@ -3037,6 +3111,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/LLVMIR/NVVMOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=nvvm",
|
||||
],
|
||||
"include/mlir/Dialect/LLVMIR/NVVMOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td",
|
||||
|
@ -3105,6 +3186,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=rocdl",
|
||||
],
|
||||
"include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/LLVMIR/ROCDLOps.td",
|
||||
|
@ -3175,6 +3263,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/PDL/IR/PDLOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/PDL/IR/PDLOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/PDL/IR/PDLOps.td",
|
||||
|
@ -3250,6 +3342,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=pdl_interp",
|
||||
],
|
||||
"include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td",
|
||||
|
@ -3284,6 +3383,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/SPIRV/IR/SPIRVOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-doc"],
|
||||
"g3doc/Dialects/SPIRV/SPIRVOps.md",
|
||||
|
@ -3645,6 +3748,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/Tensor/IR/TensorOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=tensor",
|
||||
],
|
||||
"include/mlir/Dialect/Tensor/IR/TensorOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-decls"],
|
||||
"include/mlir/Dialect/Tensor/IR/TensorOps.h.inc",
|
||||
|
@ -5152,6 +5262,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/OpenACC/OpenACCOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=acc",
|
||||
],
|
||||
"include/mlir/Dialect/OpenACC/OpenACCOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-decls"],
|
||||
"include/mlir/Dialect/OpenACC/OpenACCOps.h.inc",
|
||||
|
@ -5259,6 +5376,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/OpenMP/OpenMPOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=omp",
|
||||
],
|
||||
"include/mlir/Dialect/OpenMP/OpenMPOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-doc"],
|
||||
"g3doc/Dialects/OpenMP/OpenMPOps.md",
|
||||
|
@ -5390,6 +5514,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/Quant/QuantOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/Quant/QuantOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-doc"],
|
||||
"g3doc/Dialects/QuantOps/QuantOps.md",
|
||||
|
@ -5488,6 +5616,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=linalg",
|
||||
],
|
||||
"include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/Linalg/IR/LinalgOps.td",
|
||||
|
@ -5826,6 +5961,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/Vector/VectorOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=vector",
|
||||
],
|
||||
"include/mlir/Dialect/Vector/VectorOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-enum-decls"],
|
||||
"include/mlir/Dialect/Vector/VectorOpsEnums.h.inc",
|
||||
|
@ -5973,6 +6115,10 @@ gentbl_cc_library(
|
|||
["-gen-dialect-decls"],
|
||||
"include/mlir/Dialect/Tosa/IR/TosaOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
["-gen-dialect-defs"],
|
||||
"include/mlir/Dialect/Tosa/IR/TosaOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-op-doc"],
|
||||
"g3doc/Dialects/Tosa/TosaOps.md",
|
||||
|
@ -6147,6 +6293,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/Complex/IR/ComplexOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=complex",
|
||||
],
|
||||
"include/mlir/Dialect/Complex/IR/ComplexOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/Complex/IR/ComplexBase.td",
|
||||
|
@ -6295,6 +6448,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/Math/IR/MathOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=math",
|
||||
],
|
||||
"include/mlir/Dialect/Math/IR/MathOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/Math/IR/MathBase.td",
|
||||
|
@ -6418,6 +6578,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=memref",
|
||||
],
|
||||
"include/mlir/Dialect/MemRef/IR/MemRefOpsDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/MemRef/IR/MemRefBase.td",
|
||||
|
@ -6535,6 +6702,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"include/mlir/Dialect/DLTI/DLTIDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=dlti",
|
||||
],
|
||||
"include/mlir/Dialect/DLTI/DLTIDialect.cpp.inc",
|
||||
),
|
||||
],
|
||||
tblgen = ":mlir-tblgen",
|
||||
td_file = "include/mlir/Dialect/DLTI/DLTIBase.td",
|
||||
|
|
|
@ -71,6 +71,13 @@ gentbl_cc_library(
|
|||
],
|
||||
"lib/Dialect/Test/TestOpsDialect.h.inc",
|
||||
),
|
||||
(
|
||||
[
|
||||
"-gen-dialect-defs",
|
||||
"-dialect=test",
|
||||
],
|
||||
"lib/Dialect/Test/TestOpsDialect.cpp.inc",
|
||||
),
|
||||
(
|
||||
["-gen-enum-decls"],
|
||||
"lib/Dialect/Test/TestOpEnums.h.inc",
|
||||
|
|
Loading…
Reference in a new issue