Loading [MathJax]/extensions/tex2jax.js
CIRCT 22.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Typedefs | Functions
OM.h File Reference
#include "mlir-c/IR.h"
Include dependency graph for OM.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OMEvaluator
 A value type for use in C APIs that just wraps a pointer to an Evaluator. More...
 
struct  OMEvaluatorValue
 A value type for use in C APIs that just wraps a pointer to an Object. More...
 

Typedefs

typedef struct OMEvaluator OMEvaluator
 
typedef struct OMEvaluatorValue OMEvaluatorValue
 

Functions

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

Typedef Documentation

◆ OMEvaluator

typedef struct OMEvaluator OMEvaluator

Definition at line 86 of file OM.h.

◆ OMEvaluatorValue

Definition at line 97 of file OM.h.

Function Documentation

◆ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION()

MLIR_DECLARE_CAPI_DIALECT_REGISTRATION ( OM  ,
om   
)

◆ omAnyTypeGetTypeID()

MLIR_CAPI_EXPORTED MlirTypeID omAnyTypeGetTypeID ( void  )

Get the TypeID for an AnyType.

Definition at line 36 of file OM.cpp.

References wrap().

◆ omAttrIsAIntegerAttr()

MLIR_CAPI_EXPORTED bool omAttrIsAIntegerAttr ( MlirAttribute  attr)

Definition at line 341 of file OM.cpp.

References unwrap().

◆ omAttrIsAListAttr()

MLIR_CAPI_EXPORTED bool omAttrIsAListAttr ( MlirAttribute  attr)

Definition at line 369 of file OM.cpp.

References unwrap().

◆ omAttrIsAReferenceAttr()

MLIR_CAPI_EXPORTED bool omAttrIsAReferenceAttr ( MlirAttribute  attr)

Definition at line 328 of file OM.cpp.

References unwrap().

◆ omClassTypeGetName()

MLIR_CAPI_EXPORTED MlirIdentifier omClassTypeGetName ( MlirType  type)

Get the name for a ClassType.

Definition at line 45 of file OM.cpp.

References unwrap(), and wrap().

◆ omClassTypeGetTypeID()

MLIR_CAPI_EXPORTED MlirTypeID omClassTypeGetTypeID ( void  )

Get the TypeID for a ClassType.

Definition at line 42 of file OM.cpp.

References wrap().

◆ omEvaluatorBasePathGetEmpty()

MLIR_CAPI_EXPORTED OMEvaluatorValue omEvaluatorBasePathGetEmpty ( MlirContext  context)

Create an empty BasePath.

Definition at line 286 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorGetModule()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED OMEvaluator omEvaluatorNew ( MlirModule  mod)

Construct an Evaluator with an IR module.

Definition at line 120 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorObjectGetField()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED MlirAttribute omEvaluatorObjectGetFieldNames ( OMEvaluatorValue  object)

Get all the field names from an Object, can be empty if object has no fields.

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()

MLIR_CAPI_EXPORTED unsigned omEvaluatorObjectGetHash ( OMEvaluatorValue  object)

Get the object hash.

Get the object hash.

Definition at line 176 of file OM.cpp.

References unwrap().

◆ omEvaluatorObjectGetType()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED bool omEvaluatorObjectIsEq ( OMEvaluatorValue  object,
OMEvaluatorValue  other 
)

Check equality of two objects.

Check equality of two objects.

Definition at line 181 of file OM.cpp.

References unwrap().

◆ omEvaluatorObjectIsNull()

MLIR_CAPI_EXPORTED bool omEvaluatorObjectIsNull ( OMEvaluatorValue  object)

Query if the Object is null.

Definition at line 165 of file OM.cpp.

◆ omEvaluatorPathGetAsString()

MLIR_CAPI_EXPORTED MlirAttribute omEvaluatorPathGetAsString ( OMEvaluatorValue  evaluatorValue)

Get a string representation of a Path.

Definition at line 294 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorValueFromPrimitive()

MLIR_CAPI_EXPORTED OMEvaluatorValue omEvaluatorValueFromPrimitive ( MlirAttribute  primitive)

Get the EvaluatorValue from a Primitive value.

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()

MLIR_CAPI_EXPORTED MlirContext omEvaluatorValueGetContext ( OMEvaluatorValue  evaluatorValue)

Definition at line 213 of file OM.cpp.

References unwrap(), and wrap().

◆ omEvaluatorValueGetLoc()

MLIR_CAPI_EXPORTED MlirLocation omEvaluatorValueGetLoc ( OMEvaluatorValue  evaluatorValue)

Definition at line 218 of file OM.cpp.

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

◆ omEvaluatorValueGetPrimitive()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED bool omEvaluatorValueIsABasePath ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is a BasePath.

Definition at line 282 of file OM.cpp.

References unwrap().

◆ omEvaluatorValueIsAList()

MLIR_CAPI_EXPORTED bool omEvaluatorValueIsAList ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is an Object.

Query if the EvaluatorValue is an Object.

Definition at line 256 of file OM.cpp.

References unwrap().

Referenced by omEvaluatorValueGetList().

◆ omEvaluatorValueIsAObject()

MLIR_CAPI_EXPORTED bool omEvaluatorValueIsAObject ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is an Object.

Definition at line 229 of file OM.cpp.

References unwrap().

◆ omEvaluatorValueIsAPath()

MLIR_CAPI_EXPORTED bool omEvaluatorValueIsAPath ( OMEvaluatorValue  evaluatorValue)

Query if the EvaluatorValue is a Path.

Definition at line 290 of file OM.cpp.

References unwrap().

◆ omEvaluatorValueIsAPrimitive()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED bool omEvaluatorValueIsNull ( OMEvaluatorValue  evaluatorValue)

Definition at line 223 of file OM.cpp.

References OMEvaluatorValue::ptr.

◆ omFrozenBasePathTypeGetTypeID()

MLIR_CAPI_EXPORTED MlirTypeID omFrozenBasePathTypeGetTypeID ( void  )

Get the TypeID for a FrozenBasePathType.

Definition at line 55 of file OM.cpp.

References wrap().

◆ omFrozenPathTypeGetTypeID()

MLIR_CAPI_EXPORTED MlirTypeID omFrozenPathTypeGetTypeID ( void  )

Get the TypeID for a FrozenPathType.

Definition at line 65 of file OM.cpp.

References wrap().

◆ omIntegerAttrGet()

MLIR_CAPI_EXPORTED MlirAttribute omIntegerAttrGet ( MlirAttribute  attr)

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

Definition at line 349 of file OM.cpp.

References unwrap(), and wrap().

◆ omIntegerAttrGetInt()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED 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()

MLIR_CAPI_EXPORTED MlirAttribute omListAttrGetElement ( MlirAttribute  attr,
intptr_t  pos 
)

Definition at line 378 of file OM.cpp.

References unwrap(), and wrap().

◆ omListAttrGetNumElements()

MLIR_CAPI_EXPORTED intptr_t omListAttrGetNumElements ( MlirAttribute  attr)

Definition at line 373 of file OM.cpp.

References unwrap().

◆ omListTypeGetElementType()

MLIR_CAPI_EXPORTED MlirType omListTypeGetElementType ( MlirType  type)

Definition at line 76 of file OM.cpp.

References unwrap(), and wrap().

◆ omListTypeGetTypeID()

MLIR_CAPI_EXPORTED MlirTypeID omListTypeGetTypeID ( void  )

Get the TypeID for a ListType.

Definition at line 73 of file OM.cpp.

References wrap().

◆ omReferenceAttrGetInnerRef()

MLIR_CAPI_EXPORTED MlirAttribute omReferenceAttrGetInnerRef ( MlirAttribute  attr)

Definition at line 332 of file OM.cpp.

References unwrap(), and wrap().

◆ omStringTypeGet()

MLIR_CAPI_EXPORTED MlirType omStringTypeGet ( MlirContext  ctx)

Get a StringType.

Definition at line 86 of file OM.cpp.

References unwrap(), and wrap().

◆ omStringTypeGetTypeID()

MLIR_CAPI_EXPORTED MlirTypeID omStringTypeGetTypeID ( void  )

Get the TypeID for a StringType.

Definition at line 91 of file OM.cpp.

References wrap().

◆ omTypeIsAAnyType()

MLIR_CAPI_EXPORTED bool omTypeIsAAnyType ( MlirType  type)

Is the Type an AnyType.

Definition at line 33 of file OM.cpp.

References unwrap().

◆ omTypeIsAClassType()

MLIR_CAPI_EXPORTED bool omTypeIsAClassType ( MlirType  type)

Is the Type a ClassType.

Definition at line 39 of file OM.cpp.

References unwrap().

◆ omTypeIsAFrozenBasePathType()

MLIR_CAPI_EXPORTED bool omTypeIsAFrozenBasePathType ( MlirType  type)

Is the Type a FrozenBasePathType.

Definition at line 50 of file OM.cpp.

References unwrap().

◆ omTypeIsAFrozenPathType()

MLIR_CAPI_EXPORTED bool omTypeIsAFrozenPathType ( MlirType  type)

Is the Type a FrozenPathType.

Definition at line 60 of file OM.cpp.

References unwrap().

◆ omTypeIsAListType()

MLIR_CAPI_EXPORTED bool omTypeIsAListType ( MlirType  type)

Is the Type a ListType.

Definition at line 70 of file OM.cpp.

References unwrap().

◆ omTypeIsAStringType()

MLIR_CAPI_EXPORTED bool omTypeIsAStringType ( MlirType  type)

Is the Type a StringType.

Definition at line 81 of file OM.cpp.

References unwrap().