/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |* *| |* Dialect Declarations *| |* *| |* Automatically generated file, do not edit! *| |* From: DLTI.td *| |* *| \*===----------------------------------------------------------------------===*/ namespace mlir { /// The Data Layout and Target Information (DLTI) dialect is intended to hold /// attributes and other components pertaining to descriptions of in-memory /// data layout and compilation targets. class DLTIDialect : public ::mlir::Dialect { explicit DLTIDialect(::mlir::MLIRContext *context); void initialize(); friend class ::mlir::MLIRContext; public: ~DLTIDialect() override; static constexpr ::llvm::StringLiteral getDialectNamespace() { return ::llvm::StringLiteral("dlti"); } /// Parse an attribute registered to this dialect. ::mlir::Attribute parseAttribute(::mlir::DialectAsmParser &parser, ::mlir::Type type) const override; /// Print an attribute registered to this dialect. void printAttribute(::mlir::Attribute attr, ::mlir::DialectAsmPrinter &os) const override; /// Provides a hook for verifying dialect attributes attached to the given /// op. ::llvm::LogicalResult verifyOperationAttribute( ::mlir::Operation *op, ::mlir::NamedAttribute attribute) override; // Top-level attribute name for arbitrary description. constexpr const static ::llvm::StringLiteral kMapAttrName = "dlti.map"; // Top-level attribute name for data layout description. constexpr const static ::llvm::StringLiteral kDataLayoutAttrName = "dlti.dl_spec"; // Top-level attribute name for target system description. constexpr const static ::llvm::StringLiteral kTargetSystemDescAttrName = "dlti.target_system_spec"; // Top-level attribute name for target device description. constexpr const static ::llvm::StringLiteral kTargetDeviceDescAttrName = "dlti.target_device_spec"; // Constants used in entries. constexpr const static ::llvm::StringLiteral kDataLayoutEndiannessKey = "dlti.endianness"; constexpr const static ::llvm::StringLiteral kDataLayoutEndiannessBig = "big"; constexpr const static ::llvm::StringLiteral kDataLayoutEndiannessLittle = "little"; // Mangling mode, a.k.a mangling style used to mangle llvm names. constexpr const static ::llvm::StringLiteral kDataLayoutManglingModeKey = "dlti.mangling_mode"; constexpr const static ::llvm::StringLiteral kDataLayoutDefaultMemorySpaceKey = "dlti.default_memory_space"; constexpr const static ::llvm::StringLiteral kDataLayoutAllocaMemorySpaceKey = "dlti.alloca_memory_space"; constexpr const static ::llvm::StringLiteral kDataLayoutProgramMemorySpaceKey = "dlti.program_memory_space"; constexpr const static ::llvm::StringLiteral kDataLayoutGlobalMemorySpaceKey = "dlti.global_memory_space"; constexpr const static ::llvm::StringLiteral kDataLayoutStackAlignmentKey = "dlti.stack_alignment"; constexpr const static ::llvm::StringLiteral kDataLayoutFunctionPointerAlignmentKey = "dlti.function_pointer_alignment"; constexpr const static ::llvm::StringLiteral kDataLayoutLegalIntWidthsKey = "dlti.legal_int_widths"; }; } // namespace mlir MLIR_DECLARE_EXPLICIT_TYPE_ID(::mlir::DLTIDialect)