CIRCT 24.0.0git
Loading...
Searching...
No Matches
MooreTypes.cpp File Reference
#include "circt/Dialect/Moore/MooreTypes.h"
#include "circt/Dialect/Moore/MooreDialect.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/DialectImplementation.h"
#include "llvm/ADT/TypeSwitch.h"
#include "circt/Dialect/Moore/MooreTypes.cpp.inc"
Include dependency graph for MooreTypes.cpp:

Go to the source code of this file.

Macros

#define GET_TYPEDEF_CLASSES
#define GET_TYPEDEF_LIST

Functions

static LogicalResult parseMembers (AsmParser &parser, SmallVector< StructLikeMember > &members)
 Parse a list of struct members.
static void printMembers (AsmPrinter &printer, ArrayRef< StructLikeMember > members)
 Print a list of struct members.
static ParseResult parseMooreType (AsmParser &parser, Type &type)
 Parse a type registered with this dialect.
static void printMooreType (Type type, AsmPrinter &printer)
 Print a type registered with this dialect.
static LogicalResult verifyAllMembersPacked (function_ref< InFlightDiagnostic()> emitError, ArrayRef< StructLikeMember > members)
template<typename WrapperTy = RefType>
static std::optional< DenseMap< Attribute, Type > > getAllSubelementIndexMap (ArrayRef< StructLikeMember > members)
template<typename WrapperTy = RefType>
static Type getTypeAtAllIndex (ArrayRef< StructLikeMember > members, Attribute index)
static std::optional< uint32_t > getFieldAllIndex (ArrayRef< StructLikeMember > members, StringAttr nameField)

Macro Definition Documentation

◆ GET_TYPEDEF_CLASSES

#define GET_TYPEDEF_CLASSES

Definition at line 404 of file MooreTypes.cpp.

◆ GET_TYPEDEF_LIST

#define GET_TYPEDEF_LIST

Function Documentation

◆ getAllSubelementIndexMap()

template<typename WrapperTy = RefType>
std::optional< DenseMap< Attribute, Type > > getAllSubelementIndexMap ( ArrayRef< StructLikeMember > members)
static

Definition at line 270 of file MooreTypes.cpp.

◆ getFieldAllIndex()

std::optional< uint32_t > getFieldAllIndex ( ArrayRef< StructLikeMember > members,
StringAttr nameField )
static

Definition at line 292 of file MooreTypes.cpp.

◆ getTypeAtAllIndex()

template<typename WrapperTy = RefType>
Type getTypeAtAllIndex ( ArrayRef< StructLikeMember > members,
Attribute index )
static

Definition at line 278 of file MooreTypes.cpp.

◆ parseMembers()

LogicalResult parseMembers ( AsmParser & parser,
SmallVector< StructLikeMember > & members )
static

Parse a list of struct members.

Definition at line 217 of file MooreTypes.cpp.

References failure(), and success().

◆ parseMooreType()

ParseResult parseMooreType ( AsmParser & parser,
Type & type )
static

Parse a type registered with this dialect.

Definition at line 419 of file MooreTypes.cpp.

References circt::moore::f32, circt::moore::f64, failure(), circt::moore::FourValued, isdigit, success(), and circt::moore::TwoValued.

Referenced by circt::moore::UnpackedType::parse().

◆ printMembers()

void printMembers ( AsmPrinter & printer,
ArrayRef< StructLikeMember > members )
static

Print a list of struct members.

Definition at line 232 of file MooreTypes.cpp.

◆ printMooreType()

void printMooreType ( Type type,
AsmPrinter & printer )
static

Print a type registered with this dialect.

Definition at line 456 of file MooreTypes.cpp.

References assert(), circt::moore::f32, and circt::moore::TwoValued.

Referenced by circt::moore::UnpackedType::print().

◆ verifyAllMembersPacked()

LogicalResult verifyAllMembersPacked ( function_ref< InFlightDiagnostic()> emitError,
ArrayRef< StructLikeMember > members )
static

Definition at line 245 of file MooreTypes.cpp.

References success().