CIRCT 24.0.0git
Loading...
Searching...
No Matches
HW.h File Reference
#include "mlir-c/IR.h"
Include dependency graph for HW.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  HWStructFieldInfo
struct  HWUnionFieldInfo
struct  HWModulePort

Macros

#define DEFINE_C_API_STRUCT(name, storage)

Typedefs

typedef struct HWStructFieldInfo HWStructFieldInfo
typedef struct HWUnionFieldInfo HWUnionFieldInfo
typedef enum HWModulePortDirection HWModulePortDirection
typedef struct HWModulePort HWModulePort
typedef void(* HWInstanceGraphNodeCallback) (HWInstanceGraphNode, void *)

Enumerations

enum  HWModulePortDirection { Input , Output }

Functions

 DEFINE_C_API_STRUCT (HWInstanceGraph, void)
 DEFINE_C_API_STRUCT (HWInstanceGraphNode, void)
 MLIR_DECLARE_CAPI_DIALECT_REGISTRATION (HW, hw)
MLIR_CAPI_EXPORTED void registerHWPasses (void)
MLIR_CAPI_EXPORTED int64_t hwGetBitWidth (MlirType)
 Return the hardware bit width of a type.
MLIR_CAPI_EXPORTED MlirType hwGetCanonicalType (MlirType type)
 Recursively remove HW type aliases from a type and its subelements.
MLIR_CAPI_EXPORTED bool hwTypeIsAValueType (MlirType)
 Return true if the specified type can be used as an HW value type, that is the set of types that can be composed together to represent synthesized, hardware but not marker types like InOutType or unknown types from other dialects.
MLIR_CAPI_EXPORTED bool hwTypeIsAArrayType (MlirType)
 If the type is an HW array.
MLIR_CAPI_EXPORTED bool hwTypeIsAInOut (MlirType type)
 If the type is an HW inout.
MLIR_CAPI_EXPORTED bool hwTypeIsAModuleType (MlirType type)
 If the type is an HW module type.
MLIR_CAPI_EXPORTED bool hwTypeIsAStructType (MlirType)
 If the type is an HW struct.
MLIR_CAPI_EXPORTED bool hwTypeIsAUnionType (MlirType)
 If the type is an HW union.
MLIR_CAPI_EXPORTED bool hwTypeIsATypeAliasType (MlirType)
 If the type is an HW type alias.
MLIR_CAPI_EXPORTED bool hwTypeIsAIntType (MlirType)
 If the type is an HW int.
MLIR_CAPI_EXPORTED MlirType hwArrayTypeGet (MlirType element, size_t size)
 Creates a fixed-size HW array type in the context associated with element.
MLIR_CAPI_EXPORTED MlirType hwArrayTypeGetElementType (MlirType)
 returns the element type of an array type
MLIR_CAPI_EXPORTED intptr_t hwArrayTypeGetSize (MlirType)
 returns the size of an array type
MLIR_CAPI_EXPORTED MlirType hwInOutTypeGet (MlirType element)
 Creates an HW inout type in the context associated with element.
MLIR_CAPI_EXPORTED MlirType hwInOutTypeGetElementType (MlirType)
 Returns the element type of an inout type.
MLIR_CAPI_EXPORTED MlirType hwModuleTypeGet (MlirContext ctx, intptr_t numPorts, HWModulePort const *ports)
 Creates an HW module type.
MLIR_CAPI_EXPORTED intptr_t hwModuleTypeGetNumInputs (MlirType type)
 Get an HW module type's number of inputs.
MLIR_CAPI_EXPORTED MlirType hwModuleTypeGetInputType (MlirType type, intptr_t index)
 Get an HW module type's input type at a specific index.
MLIR_CAPI_EXPORTED MlirStringRef hwModuleTypeGetInputName (MlirType type, intptr_t index)
 Get an HW module type's input name at a specific index.
MLIR_CAPI_EXPORTED intptr_t hwModuleTypeGetNumOutputs (MlirType type)
 Get an HW module type's number of outputs.
MLIR_CAPI_EXPORTED MlirType hwModuleTypeGetOutputType (MlirType type, intptr_t index)
 Get an HW module type's output type at a specific index.
MLIR_CAPI_EXPORTED MlirStringRef hwModuleTypeGetOutputName (MlirType type, intptr_t index)
 Get an HW module type's output name at a specific index.
MLIR_CAPI_EXPORTED void hwModuleTypeGetPort (MlirType type, intptr_t index, HWModulePort *ret)
 Get an HW module type's port info at a specific index.
MLIR_CAPI_EXPORTED MlirType hwStructTypeGet (MlirContext ctx, intptr_t numElements, HWStructFieldInfo const *elements)
 Creates an HW struct type in the context associated with the elements.
MLIR_CAPI_EXPORTED MlirType hwStructTypeGetField (MlirType structType, MlirStringRef fieldName)
MLIR_CAPI_EXPORTED MlirType hwParamIntTypeGet (MlirAttribute parameter)
MLIR_CAPI_EXPORTED MlirAttribute hwParamIntTypeGetWidthAttr (MlirType)
MLIR_CAPI_EXPORTED MlirAttribute hwStructTypeGetFieldIndex (MlirType structType, MlirStringRef fieldName)
MLIR_CAPI_EXPORTED HWStructFieldInfo hwStructTypeGetFieldNum (MlirType structType, unsigned idx)
MLIR_CAPI_EXPORTED intptr_t hwStructTypeGetNumFields (MlirType structType)
MLIR_CAPI_EXPORTED MlirType hwUnionTypeGet (MlirContext ctx, intptr_t numElements, HWUnionFieldInfo const *elements)
 Creates an HW union type in the context associated with the elements.
MLIR_CAPI_EXPORTED MlirType hwUnionTypeGetField (MlirType unionType, MlirStringRef fieldName)
MLIR_CAPI_EXPORTED MlirAttribute hwUnionTypeGetFieldIndex (MlirType unionType, MlirStringRef fieldName)
MLIR_CAPI_EXPORTED HWUnionFieldInfo hwUnionTypeGetFieldNum (MlirType unionType, unsigned idx)
MLIR_CAPI_EXPORTED intptr_t hwUnionTypeGetNumFields (MlirType unionType)
MLIR_CAPI_EXPORTED MlirType hwTypeAliasTypeGet (MlirStringRef scope, MlirStringRef name, MlirType innerType)
MLIR_CAPI_EXPORTED MlirType hwTypeAliasTypeGetCanonicalType (MlirType typeAlias)
MLIR_CAPI_EXPORTED MlirType hwTypeAliasTypeGetInnerType (MlirType typeAlias)
MLIR_CAPI_EXPORTED MlirStringRef hwTypeAliasTypeGetName (MlirType typeAlias)
MLIR_CAPI_EXPORTED MlirStringRef hwTypeAliasTypeGetScope (MlirType typeAlias)
MLIR_CAPI_EXPORTED bool hwAttrIsAInnerSymAttr (MlirAttribute)
MLIR_CAPI_EXPORTED MlirAttribute hwInnerSymAttrGet (MlirAttribute symName)
MLIR_CAPI_EXPORTED MlirAttribute hwInnerSymAttrGetEmpty (MlirContext ctx)
MLIR_CAPI_EXPORTED MlirAttribute hwInnerSymAttrGetSymName (MlirAttribute)
MLIR_CAPI_EXPORTED bool hwAttrIsAInnerRefAttr (MlirAttribute)
MLIR_CAPI_EXPORTED MlirAttribute hwInnerRefAttrGet (MlirAttribute moduleName, MlirAttribute innerSym)
MLIR_CAPI_EXPORTED MlirAttribute hwInnerRefAttrGetName (MlirAttribute)
MLIR_CAPI_EXPORTED MlirAttribute hwInnerRefAttrGetModule (MlirAttribute)
MLIR_CAPI_EXPORTED bool hwAttrIsAParamDeclAttr (MlirAttribute)
MLIR_CAPI_EXPORTED MlirAttribute hwParamDeclAttrGet (MlirStringRef name, MlirType type, MlirAttribute value)
MLIR_CAPI_EXPORTED MlirStringRef hwParamDeclAttrGetName (MlirAttribute decl)
MLIR_CAPI_EXPORTED MlirType hwParamDeclAttrGetType (MlirAttribute decl)
MLIR_CAPI_EXPORTED MlirAttribute hwParamDeclAttrGetValue (MlirAttribute decl)
MLIR_CAPI_EXPORTED bool hwAttrIsAParamDeclRefAttr (MlirAttribute)
MLIR_CAPI_EXPORTED MlirAttribute hwParamDeclRefAttrGet (MlirContext ctx, MlirStringRef cName)
MLIR_CAPI_EXPORTED MlirStringRef hwParamDeclRefAttrGetName (MlirAttribute decl)
MLIR_CAPI_EXPORTED MlirType hwParamDeclRefAttrGetType (MlirAttribute decl)
MLIR_CAPI_EXPORTED bool hwAttrIsAParamVerbatimAttr (MlirAttribute)
MLIR_CAPI_EXPORTED MlirAttribute hwParamVerbatimAttrGet (MlirAttribute text)
MLIR_CAPI_EXPORTED bool hwAttrIsAOutputFileAttr (MlirAttribute)
MLIR_CAPI_EXPORTED MlirAttribute hwOutputFileGetFromFileName (MlirAttribute text, bool excludeFromFileList, bool includeReplicatedOp)
MLIR_CAPI_EXPORTED MlirStringRef hwOutputFileGetFileName (MlirAttribute outputFile)
MLIR_CAPI_EXPORTED HWInstanceGraph hwInstanceGraphGet (MlirOperation operation)
MLIR_CAPI_EXPORTED void hwInstanceGraphDestroy (HWInstanceGraph instanceGraph)
MLIR_CAPI_EXPORTED HWInstanceGraphNode hwInstanceGraphGetTopLevelNode (HWInstanceGraph instanceGraph)
MLIR_CAPI_EXPORTED void hwInstanceGraphForEachNode (HWInstanceGraph instanceGraph, HWInstanceGraphNodeCallback callback, void *userData)
MLIR_CAPI_EXPORTED bool hwInstanceGraphNodeEqual (HWInstanceGraphNode lhs, HWInstanceGraphNode rhs)
MLIR_CAPI_EXPORTED MlirModule hwInstanceGraphNodeGetModule (HWInstanceGraphNode node)
MLIR_CAPI_EXPORTED MlirOperation hwInstanceGraphNodeGetModuleOp (HWInstanceGraphNode node)

Macro Definition Documentation

◆ DEFINE_C_API_STRUCT

#define DEFINE_C_API_STRUCT ( name,
storage )
Value:
struct name { \
storage *ptr; \
}; \
typedef struct name name

Definition at line 18 of file HW.h.

Typedef Documentation

◆ HWInstanceGraphNodeCallback

typedef void(* HWInstanceGraphNodeCallback) (HWInstanceGraphNode, void *)

Definition at line 243 of file HW.h.

◆ HWModulePort

typedef struct HWModulePort HWModulePort

Definition at line 50 of file HW.h.

◆ HWModulePortDirection

Definition at line 43 of file HW.h.

◆ HWStructFieldInfo

typedef struct HWStructFieldInfo HWStructFieldInfo

Definition at line 33 of file HW.h.

◆ HWUnionFieldInfo

typedef struct HWUnionFieldInfo HWUnionFieldInfo

Definition at line 40 of file HW.h.

Enumeration Type Documentation

◆ HWModulePortDirection

Enumerator
Input 
Output 

Definition at line 42 of file HW.h.

Function Documentation

◆ DEFINE_C_API_STRUCT() [1/2]

DEFINE_C_API_STRUCT ( HWInstanceGraph ,
void  )

◆ DEFINE_C_API_STRUCT() [2/2]

DEFINE_C_API_STRUCT ( HWInstanceGraphNode ,
void  )

◆ hwArrayTypeGet()

MLIR_CAPI_EXPORTED MlirType hwArrayTypeGet ( MlirType element,
size_t size )

Creates a fixed-size HW array type in the context associated with element.

Definition at line 48 of file HW.cpp.

References unwrap(), and wrap().

◆ hwArrayTypeGetElementType()

MLIR_CAPI_EXPORTED MlirType hwArrayTypeGetElementType ( MlirType type)

returns the element type of an array type

Definition at line 52 of file HW.cpp.

References unwrap(), and wrap().

◆ hwArrayTypeGetSize()

MLIR_CAPI_EXPORTED intptr_t hwArrayTypeGetSize ( MlirType type)

returns the size of an array type

Definition at line 56 of file HW.cpp.

References unwrap().

◆ hwAttrIsAInnerRefAttr()

MLIR_CAPI_EXPORTED bool hwAttrIsAInnerRefAttr ( MlirAttribute attr)

Definition at line 291 of file HW.cpp.

References unwrap().

◆ hwAttrIsAInnerSymAttr()

MLIR_CAPI_EXPORTED bool hwAttrIsAInnerSymAttr ( MlirAttribute attr)

Definition at line 275 of file HW.cpp.

References unwrap().

◆ hwAttrIsAOutputFileAttr()

MLIR_CAPI_EXPORTED bool hwAttrIsAOutputFileAttr ( MlirAttribute attr)

Definition at line 359 of file HW.cpp.

References unwrap().

◆ hwAttrIsAParamDeclAttr()

MLIR_CAPI_EXPORTED bool hwAttrIsAParamDeclAttr ( MlirAttribute attr)

Definition at line 310 of file HW.cpp.

References unwrap().

◆ hwAttrIsAParamDeclRefAttr()

MLIR_CAPI_EXPORTED bool hwAttrIsAParamDeclRefAttr ( MlirAttribute attr)

Definition at line 331 of file HW.cpp.

References unwrap().

◆ hwAttrIsAParamVerbatimAttr()

MLIR_CAPI_EXPORTED bool hwAttrIsAParamVerbatimAttr ( MlirAttribute attr)

Definition at line 349 of file HW.cpp.

References unwrap().

◆ hwGetBitWidth()

MLIR_CAPI_EXPORTED int64_t hwGetBitWidth ( MlirType type)

Return the hardware bit width of a type.

Does not reflect any encoding, padding, or storage scheme, just the bit (and wire width) of a statically-size type. Reflects the number of wires needed to transmit a value of this type. Returns -1 if the type is not known or cannot be statically computed.

Definition at line 38 of file HW.cpp.

References circt::hw::getBitWidth(), and unwrap().

◆ hwGetCanonicalType()

MLIR_CAPI_EXPORTED MlirType hwGetCanonicalType ( MlirType type)

Recursively remove HW type aliases from a type and its subelements.

Definition at line 40 of file HW.cpp.

References circt::hw::getCanonicalType(), unwrap(), and wrap().

◆ hwInnerRefAttrGet()

MLIR_CAPI_EXPORTED MlirAttribute hwInnerRefAttrGet ( MlirAttribute moduleName,
MlirAttribute innerSym )

Definition at line 295 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInnerRefAttrGetModule()

MLIR_CAPI_EXPORTED MlirAttribute hwInnerRefAttrGetModule ( MlirAttribute innerRefAttr)

Definition at line 306 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInnerRefAttrGetName()

MLIR_CAPI_EXPORTED MlirAttribute hwInnerRefAttrGetName ( MlirAttribute innerRefAttr)

Definition at line 302 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInnerSymAttrGet()

MLIR_CAPI_EXPORTED MlirAttribute hwInnerSymAttrGet ( MlirAttribute symName)

Definition at line 279 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInnerSymAttrGetEmpty()

MLIR_CAPI_EXPORTED MlirAttribute hwInnerSymAttrGetEmpty ( MlirContext ctx)

Definition at line 283 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInnerSymAttrGetSymName()

MLIR_CAPI_EXPORTED MlirAttribute hwInnerSymAttrGetSymName ( MlirAttribute innerSymAttr)

Definition at line 287 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInOutTypeGet()

MLIR_CAPI_EXPORTED MlirType hwInOutTypeGet ( MlirType element)

Creates an HW inout type in the context associated with element.

Definition at line 70 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInOutTypeGetElementType()

MLIR_CAPI_EXPORTED MlirType hwInOutTypeGetElementType ( MlirType type)

Returns the element type of an inout type.

Definition at line 74 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInstanceGraphDestroy()

MLIR_CAPI_EXPORTED void hwInstanceGraphDestroy ( HWInstanceGraph instanceGraph)

Definition at line 380 of file HW.cpp.

References unwrap().

◆ hwInstanceGraphForEachNode()

MLIR_CAPI_EXPORTED void hwInstanceGraphForEachNode ( HWInstanceGraph instanceGraph,
HWInstanceGraphNodeCallback callback,
void * userData )

Definition at line 390 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInstanceGraphGet()

MLIR_CAPI_EXPORTED HWInstanceGraph hwInstanceGraphGet ( MlirOperation operation)

Definition at line 376 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInstanceGraphGetTopLevelNode()

MLIR_CAPI_EXPORTED HWInstanceGraphNode hwInstanceGraphGetTopLevelNode ( HWInstanceGraph instanceGraph)

Definition at line 385 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInstanceGraphNodeEqual()

MLIR_CAPI_EXPORTED bool hwInstanceGraphNodeEqual ( HWInstanceGraphNode lhs,
HWInstanceGraphNode rhs )

Definition at line 399 of file HW.cpp.

References unwrap().

◆ hwInstanceGraphNodeGetModule()

MLIR_CAPI_EXPORTED MlirModule hwInstanceGraphNodeGetModule ( HWInstanceGraphNode node)

Definition at line 405 of file HW.cpp.

References unwrap(), and wrap().

◆ hwInstanceGraphNodeGetModuleOp()

MLIR_CAPI_EXPORTED MlirOperation hwInstanceGraphNodeGetModuleOp ( HWInstanceGraphNode node)

Definition at line 410 of file HW.cpp.

References unwrap(), and wrap().

◆ hwModuleTypeGet()

MLIR_CAPI_EXPORTED MlirType hwModuleTypeGet ( MlirContext ctx,
intptr_t numPorts,
HWModulePort const * ports )

◆ hwModuleTypeGetInputName()

MLIR_CAPI_EXPORTED MlirStringRef hwModuleTypeGetInputName ( MlirType type,
intptr_t index )

Get an HW module type's input name at a specific index.

Definition at line 117 of file HW.cpp.

References unwrap(), and wrap().

◆ hwModuleTypeGetInputType()

MLIR_CAPI_EXPORTED MlirType hwModuleTypeGetInputType ( MlirType type,
intptr_t index )

Get an HW module type's input type at a specific index.

Definition at line 113 of file HW.cpp.

References unwrap(), and wrap().

◆ hwModuleTypeGetNumInputs()

MLIR_CAPI_EXPORTED intptr_t hwModuleTypeGetNumInputs ( MlirType type)

Get an HW module type's number of inputs.

Definition at line 109 of file HW.cpp.

References unwrap().

◆ hwModuleTypeGetNumOutputs()

MLIR_CAPI_EXPORTED intptr_t hwModuleTypeGetNumOutputs ( MlirType type)

Get an HW module type's number of outputs.

Definition at line 121 of file HW.cpp.

References unwrap().

◆ hwModuleTypeGetOutputName()

MLIR_CAPI_EXPORTED MlirStringRef hwModuleTypeGetOutputName ( MlirType type,
intptr_t index )

Get an HW module type's output name at a specific index.

Definition at line 129 of file HW.cpp.

References unwrap(), and wrap().

◆ hwModuleTypeGetOutputType()

MLIR_CAPI_EXPORTED MlirType hwModuleTypeGetOutputType ( MlirType type,
intptr_t index )

Get an HW module type's output type at a specific index.

Definition at line 125 of file HW.cpp.

References unwrap(), and wrap().

◆ hwModuleTypeGetPort()

MLIR_CAPI_EXPORTED void hwModuleTypeGetPort ( MlirType type,
intptr_t index,
HWModulePort * ret )

Get an HW module type's port info at a specific index.

Definition at line 133 of file HW.cpp.

References HWModulePort::dir, circt::hw::ModulePort::Input, HWModulePort::name, circt::hw::ModulePort::Output, HWModulePort::type, unwrap(), and wrap().

◆ hwOutputFileGetFileName()

MLIR_CAPI_EXPORTED MlirStringRef hwOutputFileGetFileName ( MlirAttribute outputFile)

Definition at line 371 of file HW.cpp.

References unwrap(), and wrap().

◆ hwOutputFileGetFromFileName()

MLIR_CAPI_EXPORTED MlirAttribute hwOutputFileGetFromFileName ( MlirAttribute text,
bool excludeFromFileList,
bool includeReplicatedOp )

Definition at line 363 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamDeclAttrGet()

MLIR_CAPI_EXPORTED MlirAttribute hwParamDeclAttrGet ( MlirStringRef name,
MlirType type,
MlirAttribute value )

Definition at line 313 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamDeclAttrGetName()

MLIR_CAPI_EXPORTED MlirStringRef hwParamDeclAttrGetName ( MlirAttribute decl)

Definition at line 321 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamDeclAttrGetType()

MLIR_CAPI_EXPORTED MlirType hwParamDeclAttrGetType ( MlirAttribute decl)

Definition at line 324 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamDeclAttrGetValue()

MLIR_CAPI_EXPORTED MlirAttribute hwParamDeclAttrGetValue ( MlirAttribute decl)

Definition at line 327 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamDeclRefAttrGet()

MLIR_CAPI_EXPORTED MlirAttribute hwParamDeclRefAttrGet ( MlirContext ctx,
MlirStringRef cName )

Definition at line 335 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamDeclRefAttrGetName()

MLIR_CAPI_EXPORTED MlirStringRef hwParamDeclRefAttrGetName ( MlirAttribute decl)

Definition at line 342 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamDeclRefAttrGetType()

MLIR_CAPI_EXPORTED MlirType hwParamDeclRefAttrGetType ( MlirAttribute decl)

Definition at line 345 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamIntTypeGet()

MLIR_CAPI_EXPORTED MlirType hwParamIntTypeGet ( MlirAttribute parameter)

Definition at line 62 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamIntTypeGetWidthAttr()

MLIR_CAPI_EXPORTED MlirAttribute hwParamIntTypeGetWidthAttr ( MlirType type)

Definition at line 66 of file HW.cpp.

References unwrap(), and wrap().

◆ hwParamVerbatimAttrGet()

MLIR_CAPI_EXPORTED MlirAttribute hwParamVerbatimAttrGet ( MlirAttribute text)

Definition at line 352 of file HW.cpp.

References unwrap(), and wrap().

◆ hwStructTypeGet()

MLIR_CAPI_EXPORTED MlirType hwStructTypeGet ( MlirContext ctx,
intptr_t numElements,
HWStructFieldInfo const * elements )

Creates an HW struct type in the context associated with the elements.

Definition at line 155 of file HW.cpp.

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

◆ hwStructTypeGetField()

MLIR_CAPI_EXPORTED MlirType hwStructTypeGetField ( MlirType structType,
MlirStringRef fieldName )

Definition at line 166 of file HW.cpp.

References unwrap(), and wrap().

◆ hwStructTypeGetFieldIndex()

MLIR_CAPI_EXPORTED MlirAttribute hwStructTypeGetFieldIndex ( MlirType structType,
MlirStringRef fieldName )

Definition at line 171 of file HW.cpp.

References unwrap(), and wrap().

◆ hwStructTypeGetFieldNum()

MLIR_CAPI_EXPORTED HWStructFieldInfo hwStructTypeGetFieldNum ( MlirType structType,
unsigned idx )

Definition at line 184 of file HW.cpp.

References HWStructFieldInfo::name, HWStructFieldInfo::type, unwrap(), and wrap().

◆ hwStructTypeGetNumFields()

MLIR_CAPI_EXPORTED intptr_t hwStructTypeGetNumFields ( MlirType structType)

Definition at line 179 of file HW.cpp.

References unwrap().

◆ hwTypeAliasTypeGet()

MLIR_CAPI_EXPORTED MlirType hwTypeAliasTypeGet ( MlirStringRef scope,
MlirStringRef name,
MlirType innerType )

Definition at line 239 of file HW.cpp.

References unwrap(), and wrap().

◆ hwTypeAliasTypeGetCanonicalType()

MLIR_CAPI_EXPORTED MlirType hwTypeAliasTypeGetCanonicalType ( MlirType typeAlias)

Definition at line 251 of file HW.cpp.

References unwrap(), and wrap().

◆ hwTypeAliasTypeGetInnerType()

MLIR_CAPI_EXPORTED MlirType hwTypeAliasTypeGetInnerType ( MlirType typeAlias)

Definition at line 256 of file HW.cpp.

References unwrap(), and wrap().

◆ hwTypeAliasTypeGetName()

MLIR_CAPI_EXPORTED MlirStringRef hwTypeAliasTypeGetName ( MlirType typeAlias)

Definition at line 261 of file HW.cpp.

References unwrap(), and wrap().

◆ hwTypeAliasTypeGetScope()

MLIR_CAPI_EXPORTED MlirStringRef hwTypeAliasTypeGetScope ( MlirType typeAlias)

Definition at line 266 of file HW.cpp.

References unwrap(), and wrap().

◆ hwTypeIsAArrayType()

MLIR_CAPI_EXPORTED bool hwTypeIsAArrayType ( MlirType type)

If the type is an HW array.

Definition at line 46 of file HW.cpp.

References unwrap().

◆ hwTypeIsAInOut()

MLIR_CAPI_EXPORTED bool hwTypeIsAInOut ( MlirType type)

If the type is an HW inout.

Definition at line 78 of file HW.cpp.

References unwrap().

◆ hwTypeIsAIntType()

MLIR_CAPI_EXPORTED bool hwTypeIsAIntType ( MlirType type)

If the type is an HW int.

Definition at line 60 of file HW.cpp.

References unwrap().

◆ hwTypeIsAModuleType()

MLIR_CAPI_EXPORTED bool hwTypeIsAModuleType ( MlirType type)

If the type is an HW module type.

Definition at line 80 of file HW.cpp.

References unwrap().

◆ hwTypeIsAStructType()

MLIR_CAPI_EXPORTED bool hwTypeIsAStructType ( MlirType type)

If the type is an HW struct.

Definition at line 151 of file HW.cpp.

References unwrap().

◆ hwTypeIsATypeAliasType()

MLIR_CAPI_EXPORTED bool hwTypeIsATypeAliasType ( MlirType type)

If the type is an HW type alias.

Definition at line 235 of file HW.cpp.

References unwrap().

◆ hwTypeIsAUnionType()

MLIR_CAPI_EXPORTED bool hwTypeIsAUnionType ( MlirType type)

If the type is an HW union.

Definition at line 193 of file HW.cpp.

References unwrap().

◆ hwTypeIsAValueType()

MLIR_CAPI_EXPORTED bool hwTypeIsAValueType ( MlirType type)

Return true if the specified type can be used as an HW value type, that is the set of types that can be composed together to represent synthesized, hardware but not marker types like InOutType or unknown types from other dialects.

Definition at line 44 of file HW.cpp.

References circt::hw::isHWValueType(), and unwrap().

◆ hwUnionTypeGet()

MLIR_CAPI_EXPORTED MlirType hwUnionTypeGet ( MlirContext ctx,
intptr_t numElements,
HWUnionFieldInfo const * elements )

Creates an HW union type in the context associated with the elements.

Definition at line 195 of file HW.cpp.

References numElements, HWUnionFieldInfo::offset, unwrap(), and wrap().

◆ hwUnionTypeGetField()

MLIR_CAPI_EXPORTED MlirType hwUnionTypeGetField ( MlirType unionType,
MlirStringRef fieldName )

Definition at line 207 of file HW.cpp.

References unwrap(), and wrap().

◆ hwUnionTypeGetFieldIndex()

MLIR_CAPI_EXPORTED MlirAttribute hwUnionTypeGetFieldIndex ( MlirType unionType,
MlirStringRef fieldName )

Definition at line 212 of file HW.cpp.

References unwrap(), and wrap().

◆ hwUnionTypeGetFieldNum()

MLIR_CAPI_EXPORTED HWUnionFieldInfo hwUnionTypeGetFieldNum ( MlirType unionType,
unsigned idx )

◆ hwUnionTypeGetNumFields()

MLIR_CAPI_EXPORTED intptr_t hwUnionTypeGetNumFields ( MlirType unionType)

Definition at line 220 of file HW.cpp.

References unwrap().

◆ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION()

MLIR_DECLARE_CAPI_DIALECT_REGISTRATION ( HW ,
hw  )

References numElements.

◆ registerHWPasses()

MLIR_CAPI_EXPORTED void registerHWPasses ( void )

Definition at line 32 of file HW.cpp.

References registerHWPasses(), and registerPasses().

Referenced by registerHWPasses(), and registerPasses().