MLIR 22.0.0git
IRDLToCpp.cpp File Reference
#include "mlir/Target/IRDLToCpp/IRDLToCpp.h"
#include "mlir/Dialect/IRDL/IR/IRDL.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/raw_ostream.h"
#include "TemplatingUtils.h"
#include "Templates/Header.txt"
#include "Templates/TypeDecl.txt"
#include "Templates/PerOperationDecl.txt"
#include "Templates/DialectDecl.txt"
#include "Templates/TypeHeaderDecl.txt"
#include "Templates/PerOperationDef.txt"
#include "Templates/TypeHeaderDef.txt"
#include "Templates/TypeDef.txt"
#include "Templates/DialectDef.txt"

Go to the source code of this file.

Functions

static LogicalResult generateTypeInclude (irdl::TypeOp type, raw_ostream &output, irdl::detail::dictionary &dict)
static void generateOpGetterDeclarations (irdl::detail::dictionary &dict, const OpStrings &opStrings)
static void generateOpBuilderDeclarations (irdl::detail::dictionary &dict, const OpStrings &opStrings)
static SmallVector< std::string > generateTraits (irdl::OperationOp op, const OpStrings &strings)
static LogicalResult generateOperationInclude (irdl::OperationOp op, raw_ostream &output, irdl::detail::dictionary &dict)
static LogicalResult generateInclude (irdl::DialectOp dialect, raw_ostream &output, DialectStrings &dialectStrings)
static void generateRegionConstraintVerifiers (irdl::detail::dictionary &dict, irdl::OperationOp op, const OpStrings &strings, SmallVectorImpl< std::string > &verifierHelpers, SmallVectorImpl< std::string > &verifierCalls)
static void generateVerifiers (irdl::detail::dictionary &dict, irdl::OperationOp op, const OpStrings &strings)
static std::string generateOpDefinition (irdl::detail::dictionary &dict, irdl::OperationOp op)
static std::string generateTypeVerifierCase (StringRef name, const DialectStrings &dialectStrings)
static LogicalResult generateLib (irdl::DialectOp dialect, raw_ostream &output, DialectStrings &dialectStrings)
static LogicalResult verifySupported (irdl::DialectOp dialect)

Variables

constexpr char headerTemplateText [] =
constexpr char declarationMacroFlag [] = "GEN_DIALECT_DECL_HEADER"
constexpr char definitionMacroFlag [] = "GEN_DIALECT_DEF"

Function Documentation

◆ generateInclude()

LogicalResult generateInclude ( irdl::DialectOp dialect,
raw_ostream & output,
DialectStrings & dialectStrings )
static

Definition at line 304 of file IRDLToCpp.cpp.

◆ generateLib()

LogicalResult generateLib ( irdl::DialectOp dialect,
raw_ostream & output,
DialectStrings & dialectStrings )
static

Definition at line 499 of file IRDLToCpp.cpp.

◆ generateOpBuilderDeclarations()

void generateOpBuilderDeclarations ( irdl::detail::dictionary & dict,
const OpStrings & opStrings )
static

Definition at line 227 of file IRDLToCpp.cpp.

◆ generateOpDefinition()

std::string generateOpDefinition ( irdl::detail::dictionary & dict,
irdl::OperationOp op )
static

Definition at line 438 of file IRDLToCpp.cpp.

◆ generateOperationInclude()

LogicalResult generateOperationInclude ( irdl::OperationOp op,
raw_ostream & output,
irdl::detail::dictionary & dict )
static

Definition at line 281 of file IRDLToCpp.cpp.

◆ generateOpGetterDeclarations()

void generateOpGetterDeclarations ( irdl::detail::dictionary & dict,
const OpStrings & opStrings )
static

Definition at line 188 of file IRDLToCpp.cpp.

◆ generateRegionConstraintVerifiers()

void generateRegionConstraintVerifiers ( irdl::detail::dictionary & dict,
irdl::OperationOp op,
const OpStrings & strings,
SmallVectorImpl< std::string > & verifierHelpers,
SmallVectorImpl< std::string > & verifierCalls )
static

Definition at line 351 of file IRDLToCpp.cpp.

◆ generateTraits()

SmallVector< std::string > generateTraits ( irdl::OperationOp op,
const OpStrings & strings )
static

Definition at line 266 of file IRDLToCpp.cpp.

◆ generateTypeInclude()

LogicalResult generateTypeInclude ( irdl::TypeOp type,
raw_ostream & output,
irdl::detail::dictionary & dict )
static

Definition at line 176 of file IRDLToCpp.cpp.

References success().

◆ generateTypeVerifierCase()

std::string generateTypeVerifierCase ( StringRef name,
const DialectStrings & dialectStrings )
static

Definition at line 493 of file IRDLToCpp.cpp.

◆ generateVerifiers()

void generateVerifiers ( irdl::detail::dictionary & dict,
irdl::OperationOp op,
const OpStrings & strings )
static

Definition at line 421 of file IRDLToCpp.cpp.

◆ verifySupported()

LogicalResult verifySupported ( irdl::DialectOp dialect)
static

Definition at line 591 of file IRDLToCpp.cpp.

Variable Documentation

◆ declarationMacroFlag

char declarationMacroFlag[] = "GEN_DIALECT_DECL_HEADER"
constexpr

Definition at line 28 of file IRDLToCpp.cpp.

◆ definitionMacroFlag

char definitionMacroFlag[] = "GEN_DIALECT_DEF"
constexpr

Definition at line 29 of file IRDLToCpp.cpp.

◆ headerTemplateText

char headerTemplateText[] =
constexpr

Definition at line 24 of file IRDLToCpp.cpp.