12 #include "mlir/CAPI/IR.h"
13 #include "mlir/CAPI/Registration.h"
14 #include "mlir/CAPI/Support.h"
16 using namespace circt;
56 return wrap(IntType::getLogic(
unwrap(ctx), width));
84 cast<UnpackedType>(
unwrap(indexType))));
return wrap(CMemoryType::get(unwrap(ctx), baseType, numElements))
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(CHIRRTL, chirrtl, circt::chirrtl::CHIRRTLDialect) MlirType chirrtlTypeGetCMemory(MlirContext ctx
MlirType mooreVoidTypeGet(MlirContext ctx)
Create a void type.
MlirType mooreChandleTypeGet(MlirContext ctx)
Create a chandle type.
bool mooreIsTwoValuedType(MlirType type)
Checks whether the passed UnpackedType is a two-valued type.
MlirType mooreIntTypeGetLogic(MlirContext ctx, unsigned width)
Create a four-valued simple bit vector type.
MlirType mooreOpenUnpackedArrayTypeGet(MlirType elementType)
Create an unpacked open array type.
bool mooreIsFourValuedType(MlirType type)
Checks whether the passed UnpackedType is a four-valued type.
MlirType mooreArrayTypeGet(unsigned size, MlirType elementType)
Create a packed array type.
MlirType mooreIntTypeGetInt(MlirContext ctx, unsigned width)
Create a two-valued simple bit vector type.
MlirType mooreQueueTypeGet(MlirType elementType, unsigned bound)
Create an unpacked queue type.
MlirType mooreEventTypeGet(MlirContext ctx)
Create a event type.
MlirType mooreOpenArrayTypeGet(MlirType elementType)
Create a packed open array type.
MlirType mooreStringTypeGet(MlirContext ctx)
Create a string type.
MlirType mooreRealTypeGet(MlirContext ctx)
Create a real type.
MlirType mooreAssocArrayTypeGet(MlirType elementType, MlirType indexType)
Create an unpacked associative array type.
MlirType mooreUnpackedArrayTypeGet(unsigned size, MlirType elementType)
Create an unpacked array type.
static EvaluatorValuePtr unwrap(OMEvaluatorValue c)
static std::optional< APInt > getInt(Value value)
Helper to convert a value to a constant integer if it is one.
Direction get(bool isOutput)
Returns an output direction if isOutput is true, otherwise returns an input direction.
@ FourValued
Four-valued types such as logic or integer.
@ TwoValued
Two-valued types such as bit or int.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.