CIRCT
20.0.0git
|
#include "circt-c/Dialect/OM.h"
#include "circt/Dialect/OM/Evaluator/Evaluator.h"
#include "circt/Dialect/OM/OMAttributes.h"
#include "circt/Dialect/OM/OMDialect.h"
#include "mlir/CAPI/Registration.h"
#include "mlir/CAPI/Wrap.h"
#include "mlir/IR/Location.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/Support/Casting.h"
Go to the source code of this file.
Functions | |
bool | omTypeIsAAnyType (MlirType type) |
Is the Type an AnyType. More... | |
MlirTypeID | omAnyTypeGetTypeID (void) |
Get the TypeID for an AnyType. More... | |
bool | omTypeIsAClassType (MlirType type) |
Is the Type a ClassType. More... | |
MlirTypeID | omClassTypeGetTypeID () |
Get the TypeID for a ClassType. More... | |
MlirIdentifier | omClassTypeGetName (MlirType type) |
Get the name for a ClassType. More... | |
bool | omTypeIsAFrozenBasePathType (MlirType type) |
Is the Type a FrozenBasePathType. More... | |
MlirTypeID | omFrozenBasePathTypeGetTypeID (void) |
Get the TypeID for a FrozenBasePathType. More... | |
bool | omTypeIsAFrozenPathType (MlirType type) |
Is the Type a FrozenPathType. More... | |
MlirTypeID | omFrozenPathTypeGetTypeID (void) |
Get the TypeID for a FrozenPathType. More... | |
bool | omTypeIsAListType (MlirType type) |
Is the Type a ListType. More... | |
MlirTypeID | omListTypeGetTypeID (void) |
Get the TypeID for a ListType. More... | |
MlirType | omListTypeGetElementType (MlirType type) |
bool | omTypeIsAStringType (MlirType type) |
Is the Type a StringType. More... | |
MlirType | omStringTypeGet (MlirContext ctx) |
Get a StringType. More... | |
MlirType | omMapTypeGetKeyType (MlirType type) |
Return a key type of a map. More... | |
static OMEvaluatorValue | wrap (EvaluatorValuePtr object) |
Define our own wrap and unwrap instead of using the usual macro. More... | |
static EvaluatorValuePtr | unwrap (OMEvaluatorValue c) |
OMEvaluator | omEvaluatorNew (MlirModule mod) |
Construct an Evaluator with an IR module. More... | |
OMEvaluatorValue | omEvaluatorInstantiate (OMEvaluator evaluator, MlirAttribute className, intptr_t nActualParams, OMEvaluatorValue *actualParams) |
Use the Evaluator to Instantiate an Object from its class name and actual parameters. More... | |
MlirModule | omEvaluatorGetModule (OMEvaluator evaluator) |
Get the Module the Evaluator is built from. More... | |
bool | omEvaluatorObjectIsNull (OMEvaluatorValue object) |
Query if the Object is null. More... | |
MlirType | omEvaluatorObjectGetType (OMEvaluatorValue object) |
Get the Type from an Object, which will be a ClassType. More... | |
unsigned | omEvaluatorObjectGetHash (OMEvaluatorValue object) |
Get the hash for the object. More... | |
bool | omEvaluatorObjectIsEq (OMEvaluatorValue object, OMEvaluatorValue other) |
Check if two objects are same. More... | |
MlirAttribute | omEvaluatorObjectGetFieldNames (OMEvaluatorValue object) |
Get an ArrayAttr with the names of the fields in an Object. More... | |
MlirType | omEvaluatorMapGetType (OMEvaluatorValue value) |
Get the Type from a Map, which will be a MapType. More... | |
MlirAttribute | omEvaluatorMapGetKeys (OMEvaluatorValue object) |
Get an ArrayAttr with the keys in a Map. More... | |
OMEvaluatorValue | omEvaluatorObjectGetField (OMEvaluatorValue object, MlirAttribute name) |
Get a field from an Object, which must contain a field of that name. More... | |
MlirContext | omEvaluatorValueGetContext (OMEvaluatorValue evaluatorValue) |
MlirLocation | omEvaluatorValueGetLoc (OMEvaluatorValue evaluatorValue) |
bool | omEvaluatorValueIsNull (OMEvaluatorValue evaluatorValue) |
bool | omEvaluatorValueIsAObject (OMEvaluatorValue evaluatorValue) |
Query if the EvaluatorValue is an Object. More... | |
bool | omEvaluatorValueIsAPrimitive (OMEvaluatorValue evaluatorValue) |
Query if the EvaluatorValue is a Primitive. More... | |
MlirAttribute | omEvaluatorValueGetPrimitive (OMEvaluatorValue evaluatorValue) |
Get the Primitive from an EvaluatorValue, which must contain a Primitive. More... | |
OMEvaluatorValue | omEvaluatorValueFromPrimitive (MlirAttribute primitive) |
Get the Primitive from an EvaluatorValue, which must contain a Primitive. More... | |
bool | omEvaluatorValueIsAList (OMEvaluatorValue evaluatorValue) |
Query if the EvaluatorValue is a List. More... | |
OMEvaluatorValue | omEvaluatorValueGetList (OMEvaluatorValue evaluatorValue) |
Get the List from an EvaluatorValue, which must contain a List. More... | |
intptr_t | omEvaluatorListGetNumElements (OMEvaluatorValue evaluatorValue) |
Get the length of the List. More... | |
OMEvaluatorValue | omEvaluatorListGetElement (OMEvaluatorValue evaluatorValue, intptr_t pos) |
Get an element of the List. More... | |
bool | omEvaluatorValueIsATuple (OMEvaluatorValue evaluatorValue) |
Query if the EvaluatorValue is a Tuple. More... | |
intptr_t | omEvaluatorTupleGetNumElements (OMEvaluatorValue evaluatorValue) |
Get the length of the Tuple. More... | |
OMEvaluatorValue | omEvaluatorTupleGetElement (OMEvaluatorValue evaluatorValue, intptr_t pos) |
Get an element of the Tuple. More... | |
OMEvaluatorValue | omEvaluatorMapGetElement (OMEvaluatorValue evaluatorValue, MlirAttribute attr) |
Get an element of the Map. More... | |
bool | omEvaluatorValueIsAMap (OMEvaluatorValue evaluatorValue) |
Query if the EvaluatorValue is a map. More... | |
bool | omEvaluatorValueIsABasePath (OMEvaluatorValue evaluatorValue) |
Query if the EvaluatorValue is a BasePath. More... | |
OMEvaluatorValue | omEvaluatorBasePathGetEmpty (MlirContext context) |
Create an empty BasePath. More... | |
bool | omEvaluatorValueIsAPath (OMEvaluatorValue evaluatorValue) |
Query if the EvaluatorValue is a Path. More... | |
MlirAttribute | omEvaluatorPathGetAsString (OMEvaluatorValue evaluatorValue) |
Get a string representation of a Path. More... | |
bool | omEvaluatorValueIsAReference (OMEvaluatorValue evaluatorValue) |
Query if the EvaluatorValue is a Reference. More... | |
OMEvaluatorValue | omEvaluatorValueGetReferenceValue (OMEvaluatorValue evaluatorValue) |
Dereference a Reference EvaluatorValue. More... | |
bool | omAttrIsAReferenceAttr (MlirAttribute attr) |
MlirAttribute | omReferenceAttrGetInnerRef (MlirAttribute referenceAttr) |
bool | omAttrIsAIntegerAttr (MlirAttribute attr) |
MlirAttribute | omIntegerAttrGetInt (MlirAttribute attr) |
Given an om::IntegerAttr, return the mlir::IntegerAttr. More... | |
MlirAttribute | omIntegerAttrGet (MlirAttribute attr) |
Get an om::IntegerAttr from mlir::IntegerAttr. More... | |
MlirStringRef | omIntegerAttrToString (MlirAttribute attr) |
Get a string representation of an om::IntegerAttr. More... | |
bool | omAttrIsAListAttr (MlirAttribute attr) |
intptr_t | omListAttrGetNumElements (MlirAttribute attr) |
MlirAttribute | omListAttrGetElement (MlirAttribute attr, intptr_t pos) |
bool | omAttrIsAMapAttr (MlirAttribute attr) |
intptr_t | omMapAttrGetNumElements (MlirAttribute attr) |
MlirIdentifier | omMapAttrGetElementKey (MlirAttribute attr, intptr_t pos) |
MlirAttribute | omMapAttrGetElementValue (MlirAttribute attr, intptr_t pos) |
MlirTypeID omAnyTypeGetTypeID | ( | void | ) |
Get the TypeID for an AnyType.
Definition at line 36 of file OM.cpp.
References circt::esi::detail::getTypeID(), and wrap().
bool omAttrIsAIntegerAttr | ( | MlirAttribute | attr | ) |
bool omAttrIsAListAttr | ( | MlirAttribute | attr | ) |
bool omAttrIsAMapAttr | ( | MlirAttribute | attr | ) |
bool omAttrIsAReferenceAttr | ( | MlirAttribute | attr | ) |
MlirIdentifier omClassTypeGetName | ( | MlirType | type | ) |
MlirTypeID omClassTypeGetTypeID | ( | void | ) |
Get the TypeID for a ClassType.
Definition at line 42 of file OM.cpp.
References circt::esi::detail::getTypeID(), and wrap().
OMEvaluatorValue omEvaluatorBasePathGetEmpty | ( | MlirContext | context | ) |
MlirModule omEvaluatorGetModule | ( | OMEvaluator | evaluator | ) |
OMEvaluatorValue omEvaluatorInstantiate | ( | OMEvaluator | evaluator, |
MlirAttribute | className, | ||
intptr_t | nActualParams, | ||
OMEvaluatorValue * | actualParams | ||
) |
Use the Evaluator to Instantiate an Object from its class name and actual parameters.
Definition at line 129 of file OM.cpp.
References circt::om::Evaluator::instantiate(), unwrap(), and wrap().
OMEvaluatorValue omEvaluatorListGetElement | ( | OMEvaluatorValue | evaluatorValue, |
intptr_t | pos | ||
) |
Get an element of the List.
Get an element of the list.
Definition at line 287 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
intptr_t omEvaluatorListGetNumElements | ( | OMEvaluatorValue | evaluatorValue | ) |
Get the length of the List.
Get the length of the list.
Definition at line 280 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
OMEvaluatorValue omEvaluatorMapGetElement | ( | OMEvaluatorValue | evaluatorValue, |
MlirAttribute | attr | ||
) |
Get an element of the Map.
Get an element of the map.
Definition at line 313 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute omEvaluatorMapGetKeys | ( | OMEvaluatorValue | object | ) |
Get an ArrayAttr with the keys in a Map.
Definition at line 198 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType omEvaluatorMapGetType | ( | OMEvaluatorValue | value | ) |
Get the Type from a Map, which will be a MapType.
Definition at line 193 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
OMEvaluator omEvaluatorNew | ( | MlirModule | mod | ) |
OMEvaluatorValue omEvaluatorObjectGetField | ( | OMEvaluatorValue | object, |
MlirAttribute | name | ||
) |
Get a field from an Object, which must contain a field of that name.
Definition at line 203 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute omEvaluatorObjectGetFieldNames | ( | OMEvaluatorValue | object | ) |
Get an ArrayAttr with the names of the fields in an Object.
Get all the field names from an Object, can be empty if object has no fields.
Definition at line 189 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
unsigned omEvaluatorObjectGetHash | ( | OMEvaluatorValue | object | ) |
Get the hash for the object.
Get the object hash.
Definition at line 178 of file OM.cpp.
References circt::calyx::direction::get(), circt::esi::hash_value(), and unwrap().
MlirType omEvaluatorObjectGetType | ( | OMEvaluatorValue | object | ) |
Get the Type from an Object, which will be a ClassType.
Definition at line 173 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
bool omEvaluatorObjectIsEq | ( | OMEvaluatorValue | object, |
OMEvaluatorValue | other | ||
) |
Check if two objects are same.
Check equality of two objects.
Definition at line 183 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
bool omEvaluatorObjectIsNull | ( | OMEvaluatorValue | object | ) |
MlirAttribute omEvaluatorPathGetAsString | ( | OMEvaluatorValue | evaluatorValue | ) |
Get a string representation of a Path.
Definition at line 340 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
OMEvaluatorValue omEvaluatorTupleGetElement | ( | OMEvaluatorValue | evaluatorValue, |
intptr_t | pos | ||
) |
Get an element of the Tuple.
Get an element of the tuple.
Definition at line 306 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
intptr_t omEvaluatorTupleGetNumElements | ( | OMEvaluatorValue | evaluatorValue | ) |
Get the length of the Tuple.
Get the size of the tuple.
Definition at line 299 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
OMEvaluatorValue omEvaluatorValueFromPrimitive | ( | MlirAttribute | primitive | ) |
MlirContext omEvaluatorValueGetContext | ( | OMEvaluatorValue | evaluatorValue | ) |
OMEvaluatorValue omEvaluatorValueGetList | ( | OMEvaluatorValue | evaluatorValue | ) |
Get the List from an EvaluatorValue, which must contain a List.
TODO: This can be removed.
Definition at line 273 of file OM.cpp.
References assert(), and omEvaluatorValueIsAList().
MlirLocation omEvaluatorValueGetLoc | ( | OMEvaluatorValue | evaluatorValue | ) |
MlirAttribute omEvaluatorValueGetPrimitive | ( | OMEvaluatorValue | evaluatorValue | ) |
Get the Primitive from an EvaluatorValue, which must contain a Primitive.
Definition at line 252 of file OM.cpp.
References assert(), circt::calyx::direction::get(), omEvaluatorValueIsAPrimitive(), unwrap(), and wrap().
OMEvaluatorValue omEvaluatorValueGetReferenceValue | ( | OMEvaluatorValue | evaluatorValue | ) |
Dereference a Reference EvaluatorValue.
Emits an error and returns null if the Reference cannot be dereferenced.
Definition at line 353 of file OM.cpp.
References assert(), circt::calyx::direction::get(), omEvaluatorValueIsAReference(), unwrap(), and wrap().
bool omEvaluatorValueIsABasePath | ( | OMEvaluatorValue | evaluatorValue | ) |
Query if the EvaluatorValue is a BasePath.
Definition at line 328 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
bool omEvaluatorValueIsAList | ( | OMEvaluatorValue | evaluatorValue | ) |
Query if the EvaluatorValue is a List.
Query if the EvaluatorValue is an Object.
Definition at line 267 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
Referenced by omEvaluatorValueGetList().
bool omEvaluatorValueIsAMap | ( | OMEvaluatorValue | evaluatorValue | ) |
Query if the EvaluatorValue is a map.
Query if the EvaluatorValue is a Map.
Definition at line 324 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
bool omEvaluatorValueIsAObject | ( | OMEvaluatorValue | evaluatorValue | ) |
Query if the EvaluatorValue is an Object.
Definition at line 240 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
bool omEvaluatorValueIsAPath | ( | OMEvaluatorValue | evaluatorValue | ) |
Query if the EvaluatorValue is a Path.
Definition at line 336 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
bool omEvaluatorValueIsAPrimitive | ( | OMEvaluatorValue | evaluatorValue | ) |
Query if the EvaluatorValue is a Primitive.
Definition at line 246 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
Referenced by omEvaluatorValueGetPrimitive().
bool omEvaluatorValueIsAReference | ( | OMEvaluatorValue | evaluatorValue | ) |
Query if the EvaluatorValue is a Reference.
Definition at line 346 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
Referenced by omEvaluatorValueGetReferenceValue().
bool omEvaluatorValueIsATuple | ( | OMEvaluatorValue | evaluatorValue | ) |
Query if the EvaluatorValue is a Tuple.
Definition at line 294 of file OM.cpp.
References circt::calyx::direction::get(), and unwrap().
bool omEvaluatorValueIsNull | ( | OMEvaluatorValue | evaluatorValue | ) |
Definition at line 234 of file OM.cpp.
References OMEvaluatorValue::ptr.
MlirTypeID omFrozenBasePathTypeGetTypeID | ( | void | ) |
Get the TypeID for a FrozenBasePathType.
Definition at line 55 of file OM.cpp.
References circt::esi::detail::getTypeID(), and wrap().
MlirTypeID omFrozenPathTypeGetTypeID | ( | void | ) |
Get the TypeID for a FrozenPathType.
Definition at line 65 of file OM.cpp.
References circt::esi::detail::getTypeID(), and wrap().
MlirAttribute omIntegerAttrGet | ( | MlirAttribute | attr | ) |
Get an om::IntegerAttr from mlir::IntegerAttr.
Definition at line 395 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute omIntegerAttrGetInt | ( | MlirAttribute | attr | ) |
MlirStringRef omIntegerAttrToString | ( | MlirAttribute | attr | ) |
Get a string representation of an om::IntegerAttr.
Definition at line 402 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute omListAttrGetElement | ( | MlirAttribute | attr, |
intptr_t | pos | ||
) |
intptr_t omListAttrGetNumElements | ( | MlirAttribute | attr | ) |
MlirType omListTypeGetElementType | ( | MlirType | type | ) |
MlirTypeID omListTypeGetTypeID | ( | void | ) |
Get the TypeID for a ListType.
Definition at line 73 of file OM.cpp.
References circt::esi::detail::getTypeID(), and wrap().
MlirIdentifier omMapAttrGetElementKey | ( | MlirAttribute | attr, |
intptr_t | pos | ||
) |
MlirAttribute omMapAttrGetElementValue | ( | MlirAttribute | attr, |
intptr_t | pos | ||
) |
intptr_t omMapAttrGetNumElements | ( | MlirAttribute | attr | ) |
MlirType omMapTypeGetKeyType | ( | MlirType | type | ) |
MlirAttribute omReferenceAttrGetInnerRef | ( | MlirAttribute | referenceAttr | ) |
MlirType omStringTypeGet | ( | MlirContext | ctx | ) |
Get a StringType.
Definition at line 86 of file OM.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
bool omTypeIsAAnyType | ( | MlirType | type | ) |
bool omTypeIsAClassType | ( | MlirType | type | ) |
bool omTypeIsAFrozenBasePathType | ( | MlirType | type | ) |
bool omTypeIsAFrozenPathType | ( | MlirType | type | ) |
bool omTypeIsAListType | ( | MlirType | type | ) |
bool omTypeIsAStringType | ( | MlirType | type | ) |
|
inlinestatic |
Definition at line 113 of file OM.cpp.
References OMEvaluatorValue::ptr.
Referenced by chirrtlTypeGetCMemoryPort(), circtESIAnyTypeGet(), circtESIAppendMlirFile(), circtESIAppIDAttrGet(), circtESIAppIDAttrGetIndex(), circtESIAppIDAttrGetName(), circtESIAppIDAttrGetNoIdx(), circtESIAppIDAttrPathGet(), circtESIAppIDAttrPathGetComponent(), circtESIAppIDAttrPathGetNumComponents(), circtESIAppIDAttrPathGetRoot(), circtESIAppIDIndexFree(), circtESIAppIDIndexGet(), circtESIAppIDIndexGetAppIDPath(), circtESIAppIDIndexGetChildAppIDsOf(), circtESIAttributeIsAnAppIDAttr(), circtESIAttributeIsAnAppIDPathAttr(), circtESIBundleTypeGet(), circtESIBundleTypeGetChannel(), circtESIBundleTypeGetNumChannels(), circtESIBundleTypeGetResettable(), circtESIChannelGetDataDelay(), circtESIChannelGetInner(), circtESIChannelGetSignaling(), circtESIChannelTypeGet(), circtESIListTypeGet(), circtESIListTypeGetElementType(), circtESILookup(), circtESIRegisterGlobalServiceGenerator(), circtESITypeIsABundleType(), circtESITypeIsAChannelType(), circtESITypeIsAListType(), circtESITypeIsAnAnyType(), circtFirtoolOptionsDestroy(), circtFirtoolOptionsSetAddMuxPragmas(), circtFirtoolOptionsSetAddVivadoRAMAddressConflictSynthesisBugWorkaround(), circtFirtoolOptionsSetAllowAddingPortsOnPublic(), circtFirtoolOptionsSetBlackBoxRootPath(), circtFirtoolOptionsSetBuildMode(), circtFirtoolOptionsSetChiselInterfaceOutDirectory(), circtFirtoolOptionsSetCkgEnableName(), circtFirtoolOptionsSetCkgInputName(), circtFirtoolOptionsSetCkgModuleName(), circtFirtoolOptionsSetCkgOutputName(), circtFirtoolOptionsSetCkgTestEnableName(), circtFirtoolOptionsSetCompanionMode(), circtFirtoolOptionsSetDisableAggressiveMergeConnections(), circtFirtoolOptionsSetDisableAnnotationsClassless(), circtFirtoolOptionsSetDisableOptimization(), circtFirtoolOptionsSetDisableRandom(), circtFirtoolOptionsSetDisableUnknownAnnotations(), circtFirtoolOptionsSetEmitOmir(), circtFirtoolOptionsSetEmitSeparateAlwaysBlocks(), circtFirtoolOptionsSetEnableAnnotationWarning(), circtFirtoolOptionsSetEnableDebugInfo(), circtFirtoolOptionsSetEtcDisableInstanceExtraction(), circtFirtoolOptionsSetEtcDisableModuleInlining(), circtFirtoolOptionsSetEtcDisableRegisterExtraction(), circtFirtoolOptionsSetExportChiselInterface(), circtFirtoolOptionsSetExportModuleHierarchy(), circtFirtoolOptionsSetExtractTestCode(), circtFirtoolOptionsSetIgnoreReadEnableMem(), circtFirtoolOptionsSetLowerAnnotationsNoRefTypePorts(), circtFirtoolOptionsSetLowerMemories(), circtFirtoolOptionsSetNoDedup(), circtFirtoolOptionsSetOmirOutFile(), circtFirtoolOptionsSetOutputAnnotationFilename(), circtFirtoolOptionsSetOutputFilename(), circtFirtoolOptionsSetPreserveAggregate(), circtFirtoolOptionsSetPreserveValues(), circtFirtoolOptionsSetReplSeqMem(), circtFirtoolOptionsSetReplSeqMemFile(), circtFirtoolOptionsSetStripDebugInfo(), circtFirtoolOptionsSetStripFirDebugInfo(), circtFirtoolOptionsSetVbToBv(), circtFirtoolOptionsSetVerificationFlavor(), circtFirtoolPopulateCHIRRTLToLowFIRRTL(), circtFirtoolPopulateExportSplitVerilog(), circtFirtoolPopulateExportVerilog(), circtFirtoolPopulateFinalizeIR(), circtFirtoolpopulateHWToBTOR2(), circtFirtoolPopulateHWToSV(), circtFirtoolPopulateLowFIRRTLToHW(), circtFirtoolPopulatePreprocessTransforms(), circtMSFTAttributeIsALocationVectorAttribute(), circtMSFTAttributeIsAPhysicalBoundsAttr(), circtMSFTAttributeIsAPhysLocationAttribute(), circtMSFTCreatePlacementDB(), circtMSFTCreatePrimitiveDB(), circtMSFTDeletePlacementDB(), circtMSFTDeletePrimitiveDB(), circtMSFTLocationVectorAttrGet(), circtMSFTLocationVectorAttrGetElement(), circtMSFTLocationVectorAttrGetNumElements(), circtMSFTLocationVectorAttrGetType(), circtMSFTPhysicalBoundsAttrGet(), circtMSFTPhysLocationAttrGet(), circtMSFTPhysLocationAttrGetNum(), circtMSFTPhysLocationAttrGetPrimitiveType(), circtMSFTPhysLocationAttrGetX(), circtMSFTPhysLocationAttrGetY(), circtMSFTPlacementDBGetInstanceAt(), circtMSFTPlacementDBGetNearestFreeInColumn(), circtMSFTPlacementDBMovePlacement(), circtMSFTPlacementDBPlace(), circtMSFTPlacementDBRemovePlacement(), circtMSFTPlacementDBWalkPlacements(), circtMSFTPrimitiveDBAddPrimitive(), circtMSFTPrimitiveDBIsValidLocation(), circtMSFTReplaceAllUsesWith(), firrtlAttrGetConvention(), firrtlAttrGetEventControl(), firrtlAttrGetIntegerFromString(), firrtlAttrGetMemDir(), firrtlAttrGetMemInit(), firrtlAttrGetNameKind(), firrtlAttrGetParamDecl(), firrtlAttrGetPortDirs(), firrtlAttrGetRUW(), firrtlImportAnnotationsFromJSONRaw(), firrtlTypeGetAnalog(), firrtlTypeGetAnyRef(), firrtlTypeGetAsyncReset(), firrtlTypeGetBoolean(), firrtlTypeGetBundle(), firrtlTypeGetBundleFieldIndex(), firrtlTypeGetClass(), firrtlTypeGetClock(), firrtlTypeGetDouble(), firrtlTypeGetInteger(), firrtlTypeGetList(), firrtlTypeGetMaskType(), firrtlTypeGetPath(), firrtlTypeGetRef(), firrtlTypeGetReset(), firrtlTypeGetSInt(), firrtlTypeGetString(), firrtlTypeGetVector(), firrtlTypeIsAOpenBundle(), firrtlValueFoldFlow(), hwArrayTypeGet(), hwArrayTypeGetElementType(), hwArrayTypeGetSize(), hwAttrIsAInnerRefAttr(), hwAttrIsAInnerSymAttr(), hwAttrIsAOutputFileAttr(), hwAttrIsAParamDeclAttr(), hwAttrIsAParamDeclRefAttr(), hwAttrIsAParamVerbatimAttr(), hwGetBitWidth(), hwInnerRefAttrGet(), hwInnerRefAttrGetModule(), hwInnerRefAttrGetName(), hwInnerSymAttrGet(), hwInnerSymAttrGetEmpty(), hwInnerSymAttrGetSymName(), hwInOutTypeGet(), hwInOutTypeGetElementType(), hwInstanceGraphDestroy(), hwInstanceGraphForEachNode(), hwInstanceGraphGet(), hwInstanceGraphGetTopLevelNode(), hwInstanceGraphNodeEqual(), hwInstanceGraphNodeGetModule(), hwInstanceGraphNodeGetModuleOp(), hwModuleTypeGet(), hwModuleTypeGetInputName(), hwModuleTypeGetInputType(), hwModuleTypeGetNumInputs(), hwModuleTypeGetNumOutputs(), hwModuleTypeGetOutputName(), hwModuleTypeGetOutputType(), hwOutputFileGetFromFileName(), hwParamDeclAttrGet(), hwParamDeclAttrGetName(), hwParamDeclAttrGetType(), hwParamDeclAttrGetValue(), hwParamDeclRefAttrGet(), hwParamDeclRefAttrGetName(), hwParamDeclRefAttrGetType(), hwParamIntTypeGet(), hwParamIntTypeGetWidthAttr(), hwParamVerbatimAttrGet(), hwStructTypeGet(), hwStructTypeGetField(), hwStructTypeGetFieldIndex(), hwStructTypeGetFieldNum(), hwStructTypeGetNumFields(), hwTypeAliasTypeGet(), hwTypeAliasTypeGetCanonicalType(), hwTypeAliasTypeGetInnerType(), hwTypeAliasTypeGetName(), hwTypeAliasTypeGetScope(), hwTypeIsAArrayType(), hwTypeIsAInOut(), hwTypeIsAIntType(), hwTypeIsAModuleType(), hwTypeIsAStructType(), hwTypeIsATypeAliasType(), hwTypeIsAValueType(), instantiateSystemVerilogMemory(), llhdAttrIsATimeAttr(), llhdPointerTypeGet(), llhdPointerTypeGetElementType(), llhdTimeAttrGet(), llhdTimeAttrGetDelta(), llhdTimeAttrGetEpsilon(), llhdTimeAttrGetSeconds(), llhdTimeAttrGetTimeUnit(), llhdTimeTypeGet(), llhdTypeIsAPointerType(), llhdTypeIsATimeType(), mlirExportFIRRTL(), mlirExportSplitVerilog(), mlirExportVerilog(), mlirMSFTAddPhysLocationAttr(), mooreArrayTypeGet(), mooreAssocArrayTypeGet(), mooreChandleTypeGet(), mooreEventTypeGet(), mooreIntTypeGetInt(), mooreIntTypeGetLogic(), mooreIsFourValuedType(), mooreIsTwoValuedType(), mooreOpenArrayTypeGet(), mooreOpenUnpackedArrayTypeGet(), mooreQueueTypeGet(), mooreRealTypeGet(), mooreStringTypeGet(), mooreUnpackedArrayTypeGet(), mooreVoidTypeGet(), omAttrIsAIntegerAttr(), omAttrIsAListAttr(), omAttrIsAMapAttr(), omAttrIsAReferenceAttr(), omClassTypeGetName(), omEvaluatorBasePathGetEmpty(), omEvaluatorGetModule(), omEvaluatorInstantiate(), omEvaluatorListGetElement(), omEvaluatorListGetNumElements(), omEvaluatorMapGetElement(), omEvaluatorMapGetKeys(), omEvaluatorMapGetType(), omEvaluatorNew(), omEvaluatorObjectGetField(), omEvaluatorObjectGetFieldNames(), omEvaluatorObjectGetHash(), omEvaluatorObjectGetType(), omEvaluatorObjectIsEq(), omEvaluatorPathGetAsString(), omEvaluatorTupleGetElement(), omEvaluatorTupleGetNumElements(), omEvaluatorValueFromPrimitive(), omEvaluatorValueGetContext(), omEvaluatorValueGetLoc(), omEvaluatorValueGetPrimitive(), omEvaluatorValueGetReferenceValue(), omEvaluatorValueIsABasePath(), omEvaluatorValueIsAList(), omEvaluatorValueIsAMap(), omEvaluatorValueIsAObject(), omEvaluatorValueIsAPath(), omEvaluatorValueIsAPrimitive(), omEvaluatorValueIsAReference(), omEvaluatorValueIsATuple(), omIntegerAttrGet(), omIntegerAttrGetInt(), omIntegerAttrToString(), omListAttrGetElement(), omListAttrGetNumElements(), omListTypeGetElementType(), omMapAttrGetElementKey(), omMapAttrGetElementValue(), omMapAttrGetNumElements(), omMapTypeGetKeyType(), omReferenceAttrGetInnerRef(), omStringTypeGet(), omTypeIsAAnyType(), omTypeIsAClassType(), omTypeIsAFrozenBasePathType(), omTypeIsAFrozenPathType(), omTypeIsAListType(), omTypeIsAStringType(), operationTypeDupIntRepProc(), operationTypeFreeIntRepProc(), operationTypeUpdateStringProc(), seqClockTypeGet(), seqImmutableTypeGet(), seqImmutableTypeGetInnerType(), seqTypeIsAClock(), seqTypeIsAImmutable(), svAttrIsASVAttributeAttr(), svSVAttributeAttrGet(), svSVAttributeAttrGetEmitAsComment(), svSVAttributeAttrGetExpression(), and svSVAttributeAttrGetName().
|
inlinestatic |
Define our own wrap and unwrap instead of using the usual macro.
This is To handle the std::shared_ptr reference counts appropriately. We want to always create new shared pointers to the EvaluatorValue when we wrap it for C, to increment the reference count. We want to use the shared_from_this functionality to ensure it is unwrapped into C++ with the correct reference count.
Definition at line 108 of file OM.cpp.
References circt::calyx::direction::get().
Referenced by omAnyTypeGetTypeID(), omClassTypeGetName(), omClassTypeGetTypeID(), omEvaluatorBasePathGetEmpty(), omEvaluatorGetModule(), omEvaluatorInstantiate(), omEvaluatorListGetElement(), omEvaluatorMapGetElement(), omEvaluatorMapGetKeys(), omEvaluatorMapGetType(), omEvaluatorNew(), omEvaluatorObjectGetField(), omEvaluatorObjectGetFieldNames(), omEvaluatorObjectGetType(), omEvaluatorPathGetAsString(), omEvaluatorTupleGetElement(), omEvaluatorValueFromPrimitive(), omEvaluatorValueGetContext(), omEvaluatorValueGetLoc(), omEvaluatorValueGetPrimitive(), omEvaluatorValueGetReferenceValue(), omFrozenBasePathTypeGetTypeID(), omFrozenPathTypeGetTypeID(), omIntegerAttrGet(), omIntegerAttrGetInt(), omIntegerAttrToString(), omListAttrGetElement(), omListTypeGetElementType(), omListTypeGetTypeID(), omMapAttrGetElementKey(), omMapAttrGetElementValue(), omMapTypeGetKeyType(), omReferenceAttrGetInnerRef(), and omStringTypeGet().