Loading [MathJax]/extensions/tex2jax.js
CIRCT 22.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
OM.cpp File Reference
#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"
Include dependency graph for OM.cpp:

Go to the source code of this file.

Functions

bool omTypeIsAAnyType (MlirType type)
 Is the Type an AnyType.
 
MlirTypeID omAnyTypeGetTypeID (void)
 Get the TypeID for an AnyType.
 
bool omTypeIsAClassType (MlirType type)
 Is the Type a ClassType.
 
MlirTypeID omClassTypeGetTypeID ()
 Get the TypeID for a ClassType.
 
MlirIdentifier omClassTypeGetName (MlirType type)
 Get the name for a ClassType.
 
bool omTypeIsAFrozenBasePathType (MlirType type)
 Is the Type a FrozenBasePathType.
 
MlirTypeID omFrozenBasePathTypeGetTypeID (void)
 Get the TypeID for a FrozenBasePathType.
 
bool omTypeIsAFrozenPathType (MlirType type)
 Is the Type a FrozenPathType.
 
MlirTypeID omFrozenPathTypeGetTypeID (void)
 Get the TypeID for a FrozenPathType.
 
bool omTypeIsAListType (MlirType type)
 Is the Type a ListType.
 
MlirTypeID omListTypeGetTypeID (void)
 Get the TypeID for a ListType.
 
MlirType omListTypeGetElementType (MlirType type)
 
bool omTypeIsAStringType (MlirType type)
 Is the Type a StringType.
 
MlirType omStringTypeGet (MlirContext ctx)
 Get a StringType.
 
MlirTypeID omStringTypeGetTypeID (void)
 Get the TypeID for a StringType.
 
static OMEvaluatorValue wrap (EvaluatorValuePtr object)
 Define our own wrap and unwrap instead of using the usual macro.
 
static EvaluatorValuePtr unwrap (OMEvaluatorValue c)
 
OMEvaluator omEvaluatorNew (MlirModule mod)
 Construct an Evaluator with an IR module.
 
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.
 
MlirModule omEvaluatorGetModule (OMEvaluator evaluator)
 Get the Module the Evaluator is built from.
 
bool omEvaluatorObjectIsNull (OMEvaluatorValue object)
 Query if the Object is null.
 
MlirType omEvaluatorObjectGetType (OMEvaluatorValue object)
 Get the Type from an Object, which will be a ClassType.
 
unsigned omEvaluatorObjectGetHash (OMEvaluatorValue object)
 Get the hash for the object.
 
bool omEvaluatorObjectIsEq (OMEvaluatorValue object, OMEvaluatorValue other)
 Check if two objects are same.
 
MlirAttribute omEvaluatorObjectGetFieldNames (OMEvaluatorValue object)
 Get an ArrayAttr with the names of the fields in an Object.
 
OMEvaluatorValue omEvaluatorObjectGetField (OMEvaluatorValue object, MlirAttribute name)
 Get a field from an Object, which must contain a field of that name.
 
MlirContext omEvaluatorValueGetContext (OMEvaluatorValue evaluatorValue)
 
MlirLocation omEvaluatorValueGetLoc (OMEvaluatorValue evaluatorValue)
 
bool omEvaluatorValueIsNull (OMEvaluatorValue evaluatorValue)
 
bool omEvaluatorValueIsAObject (OMEvaluatorValue evaluatorValue)
 Query if the EvaluatorValue is an Object.
 
bool omEvaluatorValueIsAPrimitive (OMEvaluatorValue evaluatorValue)
 Query if the EvaluatorValue is a Primitive.
 
MlirAttribute omEvaluatorValueGetPrimitive (OMEvaluatorValue evaluatorValue)
 Get the Primitive from an EvaluatorValue, which must contain a Primitive.
 
OMEvaluatorValue omEvaluatorValueFromPrimitive (MlirAttribute primitive)
 Get the Primitive from an EvaluatorValue, which must contain a Primitive.
 
bool omEvaluatorValueIsAList (OMEvaluatorValue evaluatorValue)
 Query if the EvaluatorValue is a List.
 
OMEvaluatorValue omEvaluatorValueGetList (OMEvaluatorValue evaluatorValue)
 Get the List from an EvaluatorValue, which must contain a List.
 
intptr_t omEvaluatorListGetNumElements (OMEvaluatorValue evaluatorValue)
 Get the length of the List.
 
OMEvaluatorValue omEvaluatorListGetElement (OMEvaluatorValue evaluatorValue, intptr_t pos)
 Get an element of the List.
 
bool omEvaluatorValueIsABasePath (OMEvaluatorValue evaluatorValue)
 Query if the EvaluatorValue is a BasePath.
 
OMEvaluatorValue omEvaluatorBasePathGetEmpty (MlirContext context)
 Create an empty BasePath.
 
bool omEvaluatorValueIsAPath (OMEvaluatorValue evaluatorValue)
 Query if the EvaluatorValue is a Path.
 
MlirAttribute omEvaluatorPathGetAsString (OMEvaluatorValue evaluatorValue)
 Get a string representation of a Path.
 
bool omEvaluatorValueIsAReference (OMEvaluatorValue evaluatorValue)
 Query if the EvaluatorValue is a Reference.
 
OMEvaluatorValue omEvaluatorValueGetReferenceValue (OMEvaluatorValue evaluatorValue)
 Dereference a Reference EvaluatorValue.
 
bool omAttrIsAReferenceAttr (MlirAttribute attr)
 
MlirAttribute omReferenceAttrGetInnerRef (MlirAttribute referenceAttr)
 
bool omAttrIsAIntegerAttr (MlirAttribute attr)
 
MlirAttribute omIntegerAttrGetInt (MlirAttribute attr)
 Given an om::IntegerAttr, return the mlir::IntegerAttr.
 
MlirAttribute omIntegerAttrGet (MlirAttribute attr)
 Get an om::IntegerAttr from mlir::IntegerAttr.
 
MlirStringRef omIntegerAttrToString (MlirAttribute attr)
 Get a string representation of an om::IntegerAttr.
 
bool omAttrIsAListAttr (MlirAttribute attr)
 
intptr_t omListAttrGetNumElements (MlirAttribute attr)
 
MlirAttribute omListAttrGetElement (MlirAttribute attr, intptr_t pos)
 
MlirAttribute omListAttrGet (MlirType elementType, intptr_t numElements, const MlirAttribute *elements)
 

Function Documentation

◆ omAnyTypeGetTypeID()

MlirTypeID omAnyTypeGetTypeID ( void  )

Get the TypeID for an AnyType.

Definition at line 36 of file OM.cpp.

References wrap().

◆ omAttrIsAIntegerAttr()

bool omAttrIsAIntegerAttr ( MlirAttribute  attr)

Definition at line 341 of file OM.cpp.

References unwrap().

◆ omAttrIsAListAttr()

bool omAttrIsAListAttr ( MlirAttribute  attr)

Definition at line 369 of file OM.cpp.

References unwrap().

◆ omAttrIsAReferenceAttr()

bool omAttrIsAReferenceAttr ( MlirAttribute  attr)

Definition at line 328 of file OM.cpp.

References unwrap().

◆ omClassTypeGetName()

MlirIdentifier omClassTypeGetName ( MlirType  type)

Get the name for a ClassType.

Definition at line 45 of file OM.cpp.

References unwrap(), and wrap().

◆ omClassTypeGetTypeID()

MlirTypeID omClassTypeGetTypeID ( void  )

Get the TypeID for a ClassType.

Definition at line 42 of file OM.cpp.

References wrap().

◆ omEvaluatorBasePathGetEmpty()

OMEvaluatorValue omEvaluatorBasePathGetEmpty ( MlirContext  context)

Create an empty BasePath.

Definition at line 286 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorGetModule()

MlirModule omEvaluatorGetModule ( OMEvaluator  evaluator)

Get the Module the Evaluator is built from.

Definition at line 155 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorInstantiate()

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 127 of file OM.cpp.

References circt::om::Evaluator::instantiate(), unwrap(), and wrap().

◆ omEvaluatorListGetElement()

OMEvaluatorValue omEvaluatorListGetElement ( OMEvaluatorValue  evaluatorValue,
intptr_t  pos 
)

Get an element of the List.

Get an element of the list.

Definition at line 276 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorListGetNumElements()

intptr_t omEvaluatorListGetNumElements ( OMEvaluatorValue  evaluatorValue)

Get the length of the List.

Get the length of the list.

Definition at line 269 of file OM.cpp.

References unwrap().

◆ omEvaluatorNew()

OMEvaluator omEvaluatorNew ( MlirModule  mod)

Construct an Evaluator with an IR module.

Definition at line 120 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorObjectGetField()

OMEvaluatorValue omEvaluatorObjectGetField ( OMEvaluatorValue  object,
MlirAttribute  name 
)

Get a field from an Object, which must contain a field of that name.

Definition at line 192 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorObjectGetFieldNames()

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 187 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorObjectGetHash()

unsigned omEvaluatorObjectGetHash ( OMEvaluatorValue  object)

Get the hash for the object.

Get the object hash.

Definition at line 176 of file OM.cpp.

References unwrap().

◆ omEvaluatorObjectGetType()

MlirType omEvaluatorObjectGetType ( OMEvaluatorValue  object)

Get the Type from an Object, which will be a ClassType.

Definition at line 171 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorObjectIsEq()

bool omEvaluatorObjectIsEq ( OMEvaluatorValue  object,
OMEvaluatorValue  other 
)

Check if two objects are same.

Check equality of two objects.

Definition at line 181 of file OM.cpp.

References unwrap().

◆ omEvaluatorObjectIsNull()

bool omEvaluatorObjectIsNull ( OMEvaluatorValue  object)

Query if the Object is null.

Definition at line 165 of file OM.cpp.

◆ omEvaluatorPathGetAsString()

MlirAttribute omEvaluatorPathGetAsString ( OMEvaluatorValue  evaluatorValue)

Get a string representation of a Path.

Definition at line 294 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorValueFromPrimitive()

OMEvaluatorValue omEvaluatorValueFromPrimitive ( MlirAttribute  primitive)

Get the Primitive from an EvaluatorValue, which must contain a Primitive.

Get the EvaluatorValue from a Primitive value.

Definition at line 250 of file OM.cpp.

References circt::om::evaluator::AttributeValue::get, unwrap(), and wrap().

◆ omEvaluatorValueGetContext()

MlirContext omEvaluatorValueGetContext ( OMEvaluatorValue  evaluatorValue)

Definition at line 213 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorValueGetList()

OMEvaluatorValue omEvaluatorValueGetList ( OMEvaluatorValue  evaluatorValue)

Get the List from an EvaluatorValue, which must contain a List.

TODO: This can be removed.

Definition at line 262 of file OM.cpp.

References assert(), and omEvaluatorValueIsAList().

◆ omEvaluatorValueGetLoc()

MlirLocation omEvaluatorValueGetLoc ( OMEvaluatorValue  evaluatorValue)

Definition at line 218 of file OM.cpp.

References getLoc(), unwrap(), and wrap().

◆ omEvaluatorValueGetPrimitive()

MlirAttribute omEvaluatorValueGetPrimitive ( OMEvaluatorValue  evaluatorValue)

Get the Primitive from an EvaluatorValue, which must contain a Primitive.

Definition at line 241 of file OM.cpp.

References assert(), omEvaluatorValueIsAPrimitive(), unwrap(), and wrap().

◆ omEvaluatorValueGetReferenceValue()

OMEvaluatorValue omEvaluatorValueGetReferenceValue ( OMEvaluatorValue  evaluatorValue)

Dereference a Reference EvaluatorValue.

Emits an error and returns null if the Reference cannot be dereferenced.

Definition at line 307 of file OM.cpp.

References assert(), omEvaluatorValueIsAReference(), unwrap(), and wrap().

◆ omEvaluatorValueIsABasePath()

bool omEvaluatorValueIsABasePath ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is a BasePath.

Definition at line 282 of file OM.cpp.

References unwrap().

◆ omEvaluatorValueIsAList()

bool omEvaluatorValueIsAList ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is a List.

Query if the EvaluatorValue is an Object.

Definition at line 256 of file OM.cpp.

References unwrap().

Referenced by omEvaluatorValueGetList().

◆ omEvaluatorValueIsAObject()

bool omEvaluatorValueIsAObject ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is an Object.

Definition at line 229 of file OM.cpp.

References unwrap().

◆ omEvaluatorValueIsAPath()

bool omEvaluatorValueIsAPath ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is a Path.

Definition at line 290 of file OM.cpp.

References unwrap().

◆ omEvaluatorValueIsAPrimitive()

bool omEvaluatorValueIsAPrimitive ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is a Primitive.

Definition at line 235 of file OM.cpp.

References unwrap().

Referenced by omEvaluatorValueGetPrimitive().

◆ omEvaluatorValueIsAReference()

bool omEvaluatorValueIsAReference ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is a Reference.

Definition at line 300 of file OM.cpp.

References unwrap().

Referenced by omEvaluatorValueGetReferenceValue().

◆ omEvaluatorValueIsNull()

bool omEvaluatorValueIsNull ( OMEvaluatorValue  evaluatorValue)

Definition at line 223 of file OM.cpp.

References OMEvaluatorValue::ptr.

◆ omFrozenBasePathTypeGetTypeID()

MlirTypeID omFrozenBasePathTypeGetTypeID ( void  )

Get the TypeID for a FrozenBasePathType.

Definition at line 55 of file OM.cpp.

References wrap().

◆ omFrozenPathTypeGetTypeID()

MlirTypeID omFrozenPathTypeGetTypeID ( void  )

Get the TypeID for a FrozenPathType.

Definition at line 65 of file OM.cpp.

References wrap().

◆ omIntegerAttrGet()

MlirAttribute omIntegerAttrGet ( MlirAttribute  attr)

Get an om::IntegerAttr from mlir::IntegerAttr.

Definition at line 349 of file OM.cpp.

References unwrap(), and wrap().

◆ omIntegerAttrGetInt()

MlirAttribute omIntegerAttrGetInt ( MlirAttribute  attr)

Given an om::IntegerAttr, return the mlir::IntegerAttr.

Definition at line 345 of file OM.cpp.

References unwrap(), and wrap().

◆ omIntegerAttrToString()

MlirStringRef omIntegerAttrToString ( MlirAttribute  attr)

Get a string representation of an om::IntegerAttr.

Definition at line 356 of file OM.cpp.

References unwrap(), and wrap().

◆ omListAttrGet()

MlirAttribute omListAttrGet ( MlirType  elementType,
intptr_t  numElements,
const MlirAttribute *  elements 
)

Definition at line 383 of file OM.cpp.

References elementType, numElements, unwrap(), and wrap().

◆ omListAttrGetElement()

MlirAttribute omListAttrGetElement ( MlirAttribute  attr,
intptr_t  pos 
)

Definition at line 378 of file OM.cpp.

References unwrap(), and wrap().

◆ omListAttrGetNumElements()

intptr_t omListAttrGetNumElements ( MlirAttribute  attr)

Definition at line 373 of file OM.cpp.

References unwrap().

◆ omListTypeGetElementType()

MlirType omListTypeGetElementType ( MlirType  type)

Definition at line 76 of file OM.cpp.

References unwrap(), and wrap().

◆ omListTypeGetTypeID()

MlirTypeID omListTypeGetTypeID ( void  )

Get the TypeID for a ListType.

Definition at line 73 of file OM.cpp.

References wrap().

◆ omReferenceAttrGetInnerRef()

MlirAttribute omReferenceAttrGetInnerRef ( MlirAttribute  referenceAttr)

Definition at line 332 of file OM.cpp.

References unwrap(), and wrap().

◆ omStringTypeGet()

MlirType omStringTypeGet ( MlirContext  ctx)

Get a StringType.

Definition at line 86 of file OM.cpp.

References unwrap(), and wrap().

◆ omStringTypeGetTypeID()

MlirTypeID omStringTypeGetTypeID ( void  )

Get the TypeID for a StringType.

Definition at line 91 of file OM.cpp.

References wrap().

◆ omTypeIsAAnyType()

bool omTypeIsAAnyType ( MlirType  type)

Is the Type an AnyType.

Definition at line 33 of file OM.cpp.

References unwrap().

◆ omTypeIsAClassType()

bool omTypeIsAClassType ( MlirType  type)

Is the Type a ClassType.

Definition at line 39 of file OM.cpp.

References unwrap().

◆ omTypeIsAFrozenBasePathType()

bool omTypeIsAFrozenBasePathType ( MlirType  type)

Is the Type a FrozenBasePathType.

Definition at line 50 of file OM.cpp.

References unwrap().

◆ omTypeIsAFrozenPathType()

bool omTypeIsAFrozenPathType ( MlirType  type)

Is the Type a FrozenPathType.

Definition at line 60 of file OM.cpp.

References unwrap().

◆ omTypeIsAListType()

bool omTypeIsAListType ( MlirType  type)

Is the Type a ListType.

Definition at line 70 of file OM.cpp.

References unwrap().

◆ omTypeIsAStringType()

bool omTypeIsAStringType ( MlirType  type)

Is the Type a StringType.

Definition at line 81 of file OM.cpp.

References unwrap().

◆ unwrap()

static EvaluatorValuePtr unwrap ( OMEvaluatorValue  c)
inlinestatic

Definition at line 111 of file OM.cpp.

References OMEvaluatorValue::ptr.

Referenced by aigLongestPathAnalysisCreate(), aigLongestPathAnalysisDestroy(), aigLongestPathAnalysisGetAllPaths(), aigLongestPathCollectionDestroy(), aigLongestPathCollectionGetDataflowPath(), aigLongestPathCollectionGetSize(), aigLongestPathDataflowPathGetDelay(), aigLongestPathDataflowPathGetFanIn(), aigLongestPathDataflowPathGetFanOut(), aigLongestPathDataflowPathGetHistory(), aigLongestPathDataflowPathGetRoot(), aigLongestPathHistoryGetHead(), aigLongestPathHistoryGetTail(), aigLongestPathHistoryIsEmpty(), aigLongestPathObjectBitPos(), aigLongestPathObjectGetInstancePath(), aigLongestPathObjectName(), 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(), circtESICheckInnerTypeMatch(), circtESIListTypeGet(), circtESIListTypeGetElementType(), circtESILookup(), circtESIRegisterGlobalServiceGenerator(), circtESITypeIsABundleType(), circtESITypeIsAChannelType(), circtESITypeIsAListType(), circtESITypeIsAnAnyType(), circtFirtoolOptionsDestroy(), circtFirtoolOptionsSetAddMuxPragmas(), circtFirtoolOptionsSetAddVivadoRAMAddressConflictSynthesisBugWorkaround(), circtFirtoolOptionsSetAllowAddingPortsOnPublic(), circtFirtoolOptionsSetBlackBoxRootPath(), circtFirtoolOptionsSetBuildMode(), circtFirtoolOptionsSetCkgEnableName(), circtFirtoolOptionsSetCkgInputName(), circtFirtoolOptionsSetCkgModuleName(), circtFirtoolOptionsSetCkgOutputName(), circtFirtoolOptionsSetCkgTestEnableName(), circtFirtoolOptionsSetCompanionMode(), circtFirtoolOptionsSetDisableAggressiveMergeConnections(), circtFirtoolOptionsSetDisableAnnotationsClassless(), circtFirtoolOptionsSetDisableCSEinClasses(), circtFirtoolOptionsSetDisableLayerSink(), circtFirtoolOptionsSetDisableOptimization(), circtFirtoolOptionsSetDisableRandom(), circtFirtoolOptionsSetDisableUnknownAnnotations(), circtFirtoolOptionsSetEmitSeparateAlwaysBlocks(), circtFirtoolOptionsSetEnableAnnotationWarning(), circtFirtoolOptionsSetEnableDebugInfo(), circtFirtoolOptionsSetEtcDisableInstanceExtraction(), circtFirtoolOptionsSetEtcDisableModuleInlining(), circtFirtoolOptionsSetEtcDisableRegisterExtraction(), circtFirtoolOptionsSetExportModuleHierarchy(), circtFirtoolOptionsSetExtractTestCode(), circtFirtoolOptionsSetIgnoreReadEnableMem(), circtFirtoolOptionsSetLowerAnnotationsNoRefTypePorts(), circtFirtoolOptionsSetLowerMemories(), circtFirtoolOptionsSetNoDedup(), circtFirtoolOptionsSetOutputAnnotationFilename(), circtFirtoolOptionsSetOutputFilename(), circtFirtoolOptionsSetPreserveAggregate(), circtFirtoolOptionsSetPreserveValues(), circtFirtoolOptionsSetReplSeqMem(), circtFirtoolOptionsSetReplSeqMemFile(), circtFirtoolOptionsSetSelectDefaultInstanceChoice(), 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(), firrtlAttrGetLayerConvention(), firrtlAttrGetMemDir(), firrtlAttrGetMemInit(), firrtlAttrGetNameKind(), firrtlAttrGetParamDecl(), firrtlAttrGetPortDirs(), firrtlAttrGetRUW(), firrtlImportAnnotationsFromJSONRaw(), firrtlTypeGetAnalog(), firrtlTypeGetAnyRef(), firrtlTypeGetAsyncReset(), firrtlTypeGetBitWidth(), firrtlTypeGetBoolean(), firrtlTypeGetBundle(), firrtlTypeGetBundleFieldByIndex(), firrtlTypeGetBundleFieldIndex(), firrtlTypeGetBundleNumFields(), firrtlTypeGetClass(), firrtlTypeGetClock(), firrtlTypeGetConstType(), firrtlTypeGetDouble(), firrtlTypeGetInteger(), firrtlTypeGetList(), firrtlTypeGetMaskType(), firrtlTypeGetPath(), firrtlTypeGetRef(), firrtlTypeGetReset(), firrtlTypeGetSInt(), firrtlTypeGetString(), firrtlTypeGetUInt(), firrtlTypeGetVector(), firrtlTypeGetVectorElement(), firrtlTypeGetVectorNumElements(), firrtlTypeIsAAnalog(), firrtlTypeIsAAnyRef(), firrtlTypeIsAAsyncReset(), firrtlTypeIsABoolean(), firrtlTypeIsABundle(), firrtlTypeIsAClass(), firrtlTypeIsAClock(), firrtlTypeIsADouble(), firrtlTypeIsAInteger(), firrtlTypeIsAList(), firrtlTypeIsAOpenBundle(), firrtlTypeIsAPath(), firrtlTypeIsARef(), firrtlTypeIsAReset(), firrtlTypeIsASInt(), firrtlTypeIsAString(), firrtlTypeIsAUInt(), firrtlTypeIsAVector(), 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(), hwModuleTypeGetPort(), hwOutputFileGetFileName(), 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(), MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(), mlirExportFIRRTL(), mlirExportSplitVerilog(), mlirExportVerilog(), mlirMSFTAddPhysLocationAttr(), mooreArrayTypeGet(), mooreAssocArrayTypeGet(), mooreChandleTypeGet(), mooreEventTypeGet(), mooreIntTypeGetInt(), mooreIntTypeGetLogic(), mooreIsFourValuedType(), mooreIsTwoValuedType(), mooreOpenArrayTypeGet(), mooreOpenUnpackedArrayTypeGet(), mooreQueueTypeGet(), mooreRealTypeGet(), mooreStringTypeGet(), mooreUnpackedArrayTypeGet(), mooreVoidTypeGet(), omAttrIsAIntegerAttr(), omAttrIsAListAttr(), omAttrIsAReferenceAttr(), omClassTypeGetName(), omEvaluatorBasePathGetEmpty(), omEvaluatorGetModule(), omEvaluatorInstantiate(), omEvaluatorListGetElement(), omEvaluatorListGetNumElements(), omEvaluatorNew(), omEvaluatorObjectGetField(), omEvaluatorObjectGetFieldNames(), omEvaluatorObjectGetHash(), omEvaluatorObjectGetType(), omEvaluatorObjectIsEq(), omEvaluatorPathGetAsString(), omEvaluatorValueFromPrimitive(), omEvaluatorValueGetContext(), omEvaluatorValueGetLoc(), omEvaluatorValueGetPrimitive(), omEvaluatorValueGetReferenceValue(), omEvaluatorValueIsABasePath(), omEvaluatorValueIsAList(), omEvaluatorValueIsAObject(), omEvaluatorValueIsAPath(), omEvaluatorValueIsAPrimitive(), omEvaluatorValueIsAReference(), omIntegerAttrGet(), omIntegerAttrGetInt(), omIntegerAttrToString(), omListAttrGet(), omListAttrGetElement(), omListAttrGetNumElements(), omListTypeGetElementType(), omReferenceAttrGetInnerRef(), omStringTypeGet(), omTypeIsAAnyType(), omTypeIsAClassType(), omTypeIsAFrozenBasePathType(), omTypeIsAFrozenPathType(), omTypeIsAListType(), omTypeIsAStringType(), operationTypeDupIntRepProc(), operationTypeFreeIntRepProc(), operationTypeUpdateStringProc(), rtgAnyContextAttrGet(), rtgArrayTypeGet(), rtgArrayTypeGetElementType(), rtgAttrIsAAnyContextAttr(), rtgAttrIsADefaultContextAttr(), rtgAttrIsAImmediate(), rtgAttrIsALabelVisibilityAttr(), rtgBagTypeGet(), rtgBagTypeGetElementType(), rtgDefaultContextAttrGet(), rtgDictTypeGet(), rtgImmediateAttrGet(), rtgImmediateAttrGetValue(), rtgImmediateAttrGetWidth(), rtgImmediateTypeGet(), rtgImmediateTypeGetWidth(), rtgLabelTypeGet(), rtgLabelVisibilityAttrGet(), rtgLabelVisibilityAttrGetValue(), rtgMemoryBlockTypeGet(), rtgMemoryBlockTypeGetAddressWidth(), rtgMemoryTypeGet(), rtgMemoryTypeGetAddressWidth(), rtgRandomizedSequenceTypeGet(), rtgSequenceTypeGet(), rtgSequenceTypeGetElement(), rtgSequenceTypeGetNumElements(), rtgSetTypeGet(), rtgSetTypeGetElementType(), rtgtestAttrIsACPU(), rtgtestAttrIsARegA0(), rtgtestAttrIsARegA1(), rtgtestAttrIsARegA2(), rtgtestAttrIsARegA3(), rtgtestAttrIsARegA4(), rtgtestAttrIsARegA5(), rtgtestAttrIsARegA6(), rtgtestAttrIsARegA7(), rtgtestAttrIsARegGp(), rtgtestAttrIsARegRa(), rtgtestAttrIsARegS0(), rtgtestAttrIsARegS1(), rtgtestAttrIsARegS10(), rtgtestAttrIsARegS11(), rtgtestAttrIsARegS2(), rtgtestAttrIsARegS3(), rtgtestAttrIsARegS4(), rtgtestAttrIsARegS5(), rtgtestAttrIsARegS6(), rtgtestAttrIsARegS7(), rtgtestAttrIsARegS8(), rtgtestAttrIsARegS9(), rtgtestAttrIsARegSp(), rtgtestAttrIsARegT0(), rtgtestAttrIsARegT1(), rtgtestAttrIsARegT2(), rtgtestAttrIsARegT3(), rtgtestAttrIsARegT4(), rtgtestAttrIsARegT5(), rtgtestAttrIsARegT6(), rtgtestAttrIsARegTp(), rtgtestAttrIsARegZero(), rtgtestCPUAttrGet(), rtgtestCPUAttrGetId(), rtgtestCPUTypeGet(), rtgtestIntegerRegisterTypeGet(), rtgtestRegA0AttrGet(), rtgtestRegA1AttrGet(), rtgtestRegA2AttrGet(), rtgtestRegA3AttrGet(), rtgtestRegA4AttrGet(), rtgtestRegA5AttrGet(), rtgtestRegA6AttrGet(), rtgtestRegA7AttrGet(), rtgtestRegGpAttrGet(), rtgtestRegRaAttrGet(), rtgtestRegS0AttrGet(), rtgtestRegS10AttrGet(), rtgtestRegS11AttrGet(), rtgtestRegS1AttrGet(), rtgtestRegS2AttrGet(), rtgtestRegS3AttrGet(), rtgtestRegS4AttrGet(), rtgtestRegS5AttrGet(), rtgtestRegS6AttrGet(), rtgtestRegS7AttrGet(), rtgtestRegS8AttrGet(), rtgtestRegS9AttrGet(), rtgtestRegSpAttrGet(), rtgtestRegT0AttrGet(), rtgtestRegT1AttrGet(), rtgtestRegT2AttrGet(), rtgtestRegT3AttrGet(), rtgtestRegT4AttrGet(), rtgtestRegT5AttrGet(), rtgtestRegT6AttrGet(), rtgtestRegTpAttrGet(), rtgtestRegZeroAttrGet(), rtgtestTypeIsACPU(), rtgtestTypeIsAIntegerRegister(), rtgTupleTypeGet(), rtgTupleTypeGetFieldType(), rtgTypeGetNumFields(), rtgTypeIsAArray(), rtgTypeIsABag(), rtgTypeIsADict(), rtgTypeIsAImmediate(), rtgTypeIsALabel(), rtgTypeIsAMemory(), rtgTypeIsAMemoryBlock(), rtgTypeIsARandomizedSequence(), rtgTypeIsASequence(), rtgTypeIsASet(), rtgTypeIsATuple(), seqClockTypeGet(), seqImmutableTypeGet(), seqImmutableTypeGetInnerType(), seqTypeIsAClock(), seqTypeIsAImmutable(), svAttrIsASVAttributeAttr(), svSVAttributeAttrGet(), svSVAttributeAttrGetEmitAsComment(), svSVAttributeAttrGetExpression(), and svSVAttributeAttrGetName().

◆ wrap()

static OMEvaluatorValue wrap ( EvaluatorValuePtr  object)
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 106 of file OM.cpp.

Referenced by omAnyTypeGetTypeID(), omClassTypeGetName(), omClassTypeGetTypeID(), omEvaluatorBasePathGetEmpty(), omEvaluatorGetModule(), omEvaluatorInstantiate(), omEvaluatorListGetElement(), omEvaluatorNew(), omEvaluatorObjectGetField(), omEvaluatorObjectGetFieldNames(), omEvaluatorObjectGetType(), omEvaluatorPathGetAsString(), omEvaluatorValueFromPrimitive(), omEvaluatorValueGetContext(), omEvaluatorValueGetLoc(), omEvaluatorValueGetPrimitive(), omEvaluatorValueGetReferenceValue(), omFrozenBasePathTypeGetTypeID(), omFrozenPathTypeGetTypeID(), omIntegerAttrGet(), omIntegerAttrGetInt(), omIntegerAttrToString(), omListAttrGet(), omListAttrGetElement(), omListTypeGetElementType(), omListTypeGetTypeID(), omReferenceAttrGetInnerRef(), omStringTypeGet(), and omStringTypeGetTypeID().