CIRCT
18.0.0git
|
#include "circt-c/Dialect/HW.h"
#include "circt/Dialect/HW/HWAttributes.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/HW/HWTypes.h"
#include "circt/Support/LLVM.h"
#include "mlir/CAPI/IR.h"
#include "mlir/CAPI/Registration.h"
#include "mlir/CAPI/Support.h"
Go to the source code of this file.
Functions | |
int64_t | hwGetBitWidth (MlirType type) |
Return the hardware bit width of a type. More... | |
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. More... | |
bool | hwTypeIsAArrayType (MlirType type) |
If the type is an HW array. More... | |
MlirType | hwArrayTypeGet (MlirType element, size_t size) |
Creates a fixed-size HW array type in the context associated with element. More... | |
MlirType | hwArrayTypeGetElementType (MlirType type) |
returns the element type of an array type More... | |
intptr_t | hwArrayTypeGetSize (MlirType type) |
returns the size of an array type More... | |
bool | hwTypeIsAIntType (MlirType type) |
If the type is an HW int. More... | |
MlirType | hwParamIntTypeGet (MlirAttribute parameter) |
MlirAttribute | hwParamIntTypeGetWidthAttr (MlirType type) |
MlirType | hwInOutTypeGet (MlirType element) |
Creates an HW inout type in the context associated with element. More... | |
MlirType | hwInOutTypeGetElementType (MlirType type) |
Returns the element type of an inout type. More... | |
bool | hwTypeIsAInOut (MlirType type) |
If the type is an HW inout. More... | |
bool | hwTypeIsAModuleType (MlirType type) |
If the type is an HW module type. More... | |
MlirType | hwModuleTypeGet (MlirContext ctx, intptr_t numPorts, HWModulePort const *ports) |
Creates an HW module type. More... | |
intptr_t | hwModuleTypeGetNumInputs (MlirType type) |
Get an HW module type's number of inputs. More... | |
MlirType | hwModuleTypeGetInputType (MlirType type, intptr_t index) |
Get an HW module type's input type at a specific index. More... | |
MlirStringRef | hwModuleTypeGetInputName (MlirType type, intptr_t index) |
Get an HW module type's input name at a specific index. More... | |
intptr_t | hwModuleTypeGetNumOutputs (MlirType type) |
Get an HW module type's number of outputs. More... | |
MlirType | hwModuleTypeGetOutputType (MlirType type, intptr_t index) |
Get an HW module type's output type at a specific index. More... | |
MlirStringRef | hwModuleTypeGetOutputName (MlirType type, intptr_t index) |
Get an HW module type's output name at a specific index. More... | |
bool | hwTypeIsAStructType (MlirType type) |
If the type is an HW struct. More... | |
MlirType | hwStructTypeGet (MlirContext ctx, intptr_t numElements, HWStructFieldInfo const *elements) |
Creates an HW struct type in the context associated with the elements. More... | |
MlirType | hwStructTypeGetField (MlirType structType, MlirStringRef fieldName) |
MlirAttribute | hwStructTypeGetFieldIndex (MlirType structType, MlirStringRef fieldName) |
intptr_t | hwStructTypeGetNumFields (MlirType structType) |
HWStructFieldInfo | hwStructTypeGetFieldNum (MlirType structType, unsigned idx) |
bool | hwTypeIsATypeAliasType (MlirType type) |
If the type is an HW type alias. More... | |
MlirType | hwTypeAliasTypeGet (MlirStringRef cScope, MlirStringRef cName, MlirType cInnerType) |
MlirType | hwTypeAliasTypeGetCanonicalType (MlirType typeAlias) |
MlirType | hwTypeAliasTypeGetInnerType (MlirType typeAlias) |
MlirStringRef | hwTypeAliasTypeGetName (MlirType typeAlias) |
MlirStringRef | hwTypeAliasTypeGetScope (MlirType typeAlias) |
bool | hwAttrIsAInnerSymAttr (MlirAttribute attr) |
MlirAttribute | hwInnerSymAttrGet (MlirAttribute symName) |
MlirAttribute | hwInnerSymAttrGetSymName (MlirAttribute innerSymAttr) |
bool | hwAttrIsAInnerRefAttr (MlirAttribute attr) |
MlirAttribute | hwInnerRefAttrGet (MlirAttribute moduleName, MlirAttribute innerSym) |
MlirAttribute | hwInnerRefAttrGetName (MlirAttribute innerRefAttr) |
MlirAttribute | hwInnerRefAttrGetModule (MlirAttribute innerRefAttr) |
MLIR_CAPI_EXPORTED bool | hwAttrIsAParamDeclAttr (MlirAttribute attr) |
MLIR_CAPI_EXPORTED MlirAttribute | hwParamDeclAttrGet (MlirStringRef cName, MlirType cType, MlirAttribute cValue) |
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 attr) |
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 attr) |
MLIR_CAPI_EXPORTED MlirAttribute | hwParamVerbatimAttrGet (MlirAttribute text) |
MLIR_CAPI_EXPORTED bool | hwAttrIsAOutputFileAttr (MlirAttribute attr) |
MLIR_CAPI_EXPORTED MlirAttribute | hwOutputFileGetFromFileName (MlirAttribute fileName, bool excludeFromFileList, bool includeReplicatedOp) |
MlirType hwArrayTypeGet | ( | MlirType | element, |
size_t | size | ||
) |
Creates a fixed-size HW array type in the context associated with element.
Definition at line 41 of file HW.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType hwArrayTypeGetElementType | ( | MlirType | type | ) |
intptr_t hwArrayTypeGetSize | ( | MlirType | type | ) |
bool hwAttrIsAInnerRefAttr | ( | MlirAttribute | attr | ) |
bool hwAttrIsAInnerSymAttr | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED bool hwAttrIsAOutputFileAttr | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED bool hwAttrIsAParamDeclAttr | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED bool hwAttrIsAParamDeclRefAttr | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED bool hwAttrIsAParamVerbatimAttr | ( | MlirAttribute | attr | ) |
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 35 of file HW.cpp.
References circt::hw::getBitWidth(), and unwrap().
MlirAttribute hwInnerRefAttrGet | ( | MlirAttribute | moduleName, |
MlirAttribute | innerSym | ||
) |
Definition at line 228 of file HW.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute hwInnerRefAttrGetModule | ( | MlirAttribute | innerRefAttr | ) |
MlirAttribute hwInnerRefAttrGetName | ( | MlirAttribute | innerRefAttr | ) |
Definition at line 235 of file HW.cpp.
References circt::hw::instance_like_impl::getName(), unwrap(), and wrap().
MlirAttribute hwInnerSymAttrGet | ( | MlirAttribute | symName | ) |
Definition at line 215 of file HW.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute hwInnerSymAttrGetSymName | ( | MlirAttribute | innerSymAttr | ) |
MlirType hwInOutTypeGet | ( | MlirType | element | ) |
Creates an HW inout type in the context associated with element.
Definition at line 63 of file HW.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType hwInOutTypeGetElementType | ( | MlirType | type | ) |
MlirType hwModuleTypeGet | ( | MlirContext | ctx, |
intptr_t | numPorts, | ||
HWModulePort const * | ports | ||
) |
Creates an HW module type.
Definition at line 77 of file HW.cpp.
References HWModulePort::dir, circt::calyx::direction::get(), InOut, Input, HWModulePort::name, Output, HWModulePort::type, unwrap(), and wrap().
MlirStringRef hwModuleTypeGetInputName | ( | MlirType | type, |
intptr_t | index | ||
) |
MlirType hwModuleTypeGetInputType | ( | MlirType | type, |
intptr_t | index | ||
) |
intptr_t hwModuleTypeGetNumInputs | ( | MlirType | type | ) |
intptr_t hwModuleTypeGetNumOutputs | ( | MlirType | type | ) |
MlirStringRef hwModuleTypeGetOutputName | ( | MlirType | type, |
intptr_t | index | ||
) |
MlirType hwModuleTypeGetOutputType | ( | MlirType | type, |
intptr_t | index | ||
) |
MLIR_CAPI_EXPORTED MlirAttribute hwOutputFileGetFromFileName | ( | MlirAttribute | fileName, |
bool | excludeFromFileList, | ||
bool | includeReplicatedOp | ||
) |
MLIR_CAPI_EXPORTED MlirAttribute hwParamDeclAttrGet | ( | MlirStringRef | cName, |
MlirType | cType, | ||
MlirAttribute | cValue | ||
) |
Definition at line 246 of file HW.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirStringRef hwParamDeclAttrGetName | ( | MlirAttribute | decl | ) |
Definition at line 254 of file HW.cpp.
References circt::hw::instance_like_impl::getName(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirType hwParamDeclAttrGetType | ( | MlirAttribute | decl | ) |
MLIR_CAPI_EXPORTED MlirAttribute hwParamDeclAttrGetValue | ( | MlirAttribute | decl | ) |
MLIR_CAPI_EXPORTED MlirAttribute hwParamDeclRefAttrGet | ( | MlirContext | ctx, |
MlirStringRef | cName | ||
) |
Definition at line 268 of file HW.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirStringRef hwParamDeclRefAttrGetName | ( | MlirAttribute | decl | ) |
Definition at line 275 of file HW.cpp.
References circt::hw::instance_like_impl::getName(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirType hwParamDeclRefAttrGetType | ( | MlirAttribute | decl | ) |
MlirType hwParamIntTypeGet | ( | MlirAttribute | parameter | ) |
Definition at line 55 of file HW.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute hwParamIntTypeGetWidthAttr | ( | MlirType | type | ) |
Definition at line 59 of file HW.cpp.
References circt::esi::detail::getWidth(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirAttribute hwParamVerbatimAttrGet | ( | MlirAttribute | text | ) |
Definition at line 285 of file HW.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
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 133 of file HW.cpp.
References circt::calyx::direction::get(), numElements, unwrap(), and wrap().
MlirType hwStructTypeGetField | ( | MlirType | structType, |
MlirStringRef | fieldName | ||
) |
MlirAttribute hwStructTypeGetFieldIndex | ( | MlirType | structType, |
MlirStringRef | fieldName | ||
) |
Definition at line 149 of file HW.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
HWStructFieldInfo hwStructTypeGetFieldNum | ( | MlirType | structType, |
unsigned | idx | ||
) |
Definition at line 162 of file HW.cpp.
References HWStructFieldInfo::name, HWStructFieldInfo::type, unwrap(), and wrap().
intptr_t hwStructTypeGetNumFields | ( | MlirType | structType | ) |
MlirType hwTypeAliasTypeGet | ( | MlirStringRef | cScope, |
MlirStringRef | cName, | ||
MlirType | cInnerType | ||
) |
Definition at line 175 of file HW.cpp.
References circt::calyx::direction::get(), circt::esi::innerType(), unwrap(), and wrap().
MlirType hwTypeAliasTypeGetCanonicalType | ( | MlirType | typeAlias | ) |
MlirType hwTypeAliasTypeGetInnerType | ( | MlirType | typeAlias | ) |
MlirStringRef hwTypeAliasTypeGetName | ( | MlirType | typeAlias | ) |
MlirStringRef hwTypeAliasTypeGetScope | ( | MlirType | typeAlias | ) |
bool hwTypeIsAArrayType | ( | MlirType | type | ) |
bool hwTypeIsAInOut | ( | MlirType | type | ) |
bool hwTypeIsAIntType | ( | MlirType | type | ) |
bool hwTypeIsAModuleType | ( | MlirType | type | ) |
bool hwTypeIsAStructType | ( | MlirType | type | ) |
bool hwTypeIsATypeAliasType | ( | MlirType | type | ) |
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 37 of file HW.cpp.
References circt::hw::isHWValueType(), and unwrap().