CIRCT 24.0.0git
Loading...
Searching...
No Matches
ESI.cpp File Reference
#include "circt-c/Dialect/ESI.h"
#include "circt/Dialect/ESI/AppID.h"
#include "circt/Dialect/ESI/ESIServices.h"
#include "circt/Dialect/ESI/ESITypes.h"
#include "mlir/CAPI/IR.h"
#include "mlir/CAPI/Registration.h"
#include "mlir/CAPI/Support.h"
#include "mlir/CAPI/Utils.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/Parser/Parser.h"
#include "mlir/Support/FileUtilities.h"
Include dependency graph for ESI.cpp:

Go to the source code of this file.

Functions

void registerESIPasses ()
bool circtESITypeIsAChannelType (MlirType type)
MlirType circtESIChannelTypeGet (MlirType inner, uint32_t signaling, uint64_t dataDelay)
MlirType circtESIChannelGetInner (MlirType channelType)
uint32_t circtESIChannelGetSignaling (MlirType channelType)
uint64_t circtESIChannelGetDataDelay (MlirType channelType)
bool circtESITypeIsAnAnyType (MlirType type)
MlirType circtESIAnyTypeGet (MlirContext ctxt)
bool circtESITypeIsAListType (MlirType type)
MlirType circtESIListTypeGet (MlirType inner)
MlirType circtESIListTypeGetElementType (MlirType list)
bool circtESICheckInnerTypeMatch (MlirType to, MlirType from)
void circtESIAppendMlirFile (MlirModule cMod, MlirStringRef filename)
MlirOperation circtESILookup (MlirModule mod, MlirStringRef symbol)
void circtESIRegisterGlobalServiceGenerator (MlirStringRef impl_type, CirctESIServiceGeneratorFunc genFunc, void *userData)
bool circtESITypeIsABundleType (MlirType type)
MlirType circtESIBundleTypeGet (MlirContext cctxt, size_t numChannels, const CirctESIBundleTypeBundleChannel *channels, bool resettable)
bool circtESIBundleTypeGetResettable (MlirType bundle)
size_t circtESIBundleTypeGetNumChannels (MlirType bundle)
CirctESIBundleTypeBundleChannel circtESIBundleTypeGetChannel (MlirType bundle, size_t idx)
bool circtESITypeIsAWindowType (MlirType type)
MlirType circtESIWindowTypeGet (MlirContext cctxt, MlirAttribute name, MlirType into, size_t numFrames, const MlirType *cFrames)
MlirAttribute circtESIWindowTypeGetName (MlirType window)
MlirType circtESIWindowTypeGetInto (MlirType window)
size_t circtESIWindowTypeGetNumFrames (MlirType window)
MlirType circtESIWindowTypeGetFrame (MlirType window, size_t idx)
MlirType circtESIWindowTypeGetLoweredType (MlirType window)
bool circtESITypeIsAWindowFrameType (MlirType type)
MlirType circtESIWindowFrameTypeGet (MlirContext cctxt, MlirAttribute name, size_t numMembers, const MlirType *cMembers)
MlirAttribute circtESIWindowFrameTypeGetName (MlirType frame)
size_t circtESIWindowFrameTypeGetNumMembers (MlirType frame)
MlirType circtESIWindowFrameTypeGetMember (MlirType frame, size_t idx)
bool circtESITypeIsAWindowFieldType (MlirType type)
MlirType circtESIWindowFieldTypeGet (MlirContext cctxt, MlirAttribute fieldName, uint64_t numItems, uint64_t bulkCountWidth)
MlirAttribute circtESIWindowFieldTypeGetFieldName (MlirType field)
uint64_t circtESIWindowFieldTypeGetNumItems (MlirType field)
uint64_t circtESIWindowFieldTypeGetBulkCountWidth (MlirType field)
bool circtESIAttributeIsAnAppIDAttr (MlirAttribute attr)
MlirAttribute circtESIAppIDAttrGet (MlirContext ctxt, MlirStringRef name, uint64_t index)
MlirAttribute circtESIAppIDAttrGetNoIdx (MlirContext ctxt, MlirStringRef name)
MlirStringRef circtESIAppIDAttrGetName (MlirAttribute attr)
bool circtESIAppIDAttrGetIndex (MlirAttribute attr, uint64_t *indexOut)
bool circtESIAttributeIsAnAppIDPathAttr (MlirAttribute attr)
MlirAttribute circtESIAppIDAttrPathGet (MlirContext ctxt, MlirAttribute root, intptr_t numElements, MlirAttribute const *cElements)
MlirAttribute circtESIAppIDAttrPathGetRoot (MlirAttribute attr)
uint64_t circtESIAppIDAttrPathGetNumComponents (MlirAttribute attr)
MlirAttribute circtESIAppIDAttrPathGetComponent (MlirAttribute attr, uint64_t index)
MLIR_CAPI_EXPORTED CirctESIAppIDIndex circtESIAppIDIndexGet (MlirOperation root)
 Create an index of appids through which to do appid lookups efficiently.
MLIR_CAPI_EXPORTED void circtESIAppIDIndexFree (CirctESIAppIDIndex index)
 Free an AppIDIndex.
MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDIndexGetChildAppIDsOf (CirctESIAppIDIndex idx, MlirOperation op)
MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDIndexGetAppIDPath (CirctESIAppIDIndex idx, MlirOperation fromMod, MlirAttribute appid, MlirLocation loc)

Function Documentation

◆ circtESIAnyTypeGet()

MlirType circtESIAnyTypeGet ( MlirContext ctxt)

Definition at line 56 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppendMlirFile()

void circtESIAppendMlirFile ( MlirModule cMod,
MlirStringRef filename )

Definition at line 77 of file ESI.cpp.

References assert(), and unwrap().

◆ circtESIAppIDAttrGet()

MlirAttribute circtESIAppIDAttrGet ( MlirContext ctxt,
MlirStringRef name,
uint64_t index )

Definition at line 238 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppIDAttrGetIndex()

bool circtESIAppIDAttrGetIndex ( MlirAttribute attr,
uint64_t * indexOut )

Definition at line 250 of file ESI.cpp.

References unwrap().

◆ circtESIAppIDAttrGetName()

MlirStringRef circtESIAppIDAttrGetName ( MlirAttribute attr)

Definition at line 247 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppIDAttrGetNoIdx()

MlirAttribute circtESIAppIDAttrGetNoIdx ( MlirContext ctxt,
MlirStringRef name )

Definition at line 243 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppIDAttrPathGet()

MlirAttribute circtESIAppIDAttrPathGet ( MlirContext ctxt,
MlirAttribute root,
intptr_t numElements,
MlirAttribute const * cElements )

Definition at line 262 of file ESI.cpp.

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

◆ circtESIAppIDAttrPathGetComponent()

MlirAttribute circtESIAppIDAttrPathGetComponent ( MlirAttribute attr,
uint64_t index )

Definition at line 277 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppIDAttrPathGetNumComponents()

uint64_t circtESIAppIDAttrPathGetNumComponents ( MlirAttribute attr)

Definition at line 274 of file ESI.cpp.

References unwrap().

◆ circtESIAppIDAttrPathGetRoot()

MlirAttribute circtESIAppIDAttrPathGetRoot ( MlirAttribute attr)

Definition at line 271 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppIDIndexFree()

MLIR_CAPI_EXPORTED void circtESIAppIDIndexFree ( CirctESIAppIDIndex index)

Free an AppIDIndex.

Definition at line 294 of file ESI.cpp.

References unwrap().

Referenced by PyAppIDIndex::~PyAppIDIndex().

◆ circtESIAppIDIndexGet()

MLIR_CAPI_EXPORTED CirctESIAppIDIndex circtESIAppIDIndexGet ( MlirOperation root)

Create an index of appids through which to do appid lookups efficiently.

Definition at line 286 of file ESI.cpp.

References unwrap(), and wrap().

Referenced by PyAppIDIndex::PyAppIDIndex().

◆ circtESIAppIDIndexGetAppIDPath()

MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDIndexGetAppIDPath ( CirctESIAppIDIndex idx,
MlirOperation fromMod,
MlirAttribute appid,
MlirLocation loc )

Definition at line 305 of file ESI.cpp.

References unwrap(), and wrap().

Referenced by PyAppIDIndex::getAppIDPathAttr().

◆ circtESIAppIDIndexGetChildAppIDsOf()

MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDIndexGetChildAppIDsOf ( CirctESIAppIDIndex idx,
MlirOperation op )

Definition at line 299 of file ESI.cpp.

References unwrap(), and wrap().

Referenced by PyAppIDIndex::getChildAppIDsOf().

◆ circtESIAttributeIsAnAppIDAttr()

bool circtESIAttributeIsAnAppIDAttr ( MlirAttribute attr)

Definition at line 234 of file ESI.cpp.

References unwrap().

◆ circtESIAttributeIsAnAppIDPathAttr()

bool circtESIAttributeIsAnAppIDPathAttr ( MlirAttribute attr)

Definition at line 258 of file ESI.cpp.

References unwrap().

◆ circtESIBundleTypeGet()

MlirType circtESIBundleTypeGet ( MlirContext cctxt,
size_t numChannels,
const CirctESIBundleTypeBundleChannel * channels,
bool resettable )

Definition at line 112 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIBundleTypeGetChannel()

CirctESIBundleTypeBundleChannel circtESIBundleTypeGetChannel ( MlirType bundle,
size_t idx )

◆ circtESIBundleTypeGetNumChannels()

size_t circtESIBundleTypeGetNumChannels ( MlirType bundle)

Definition at line 129 of file ESI.cpp.

References unwrap().

◆ circtESIBundleTypeGetResettable()

bool circtESIBundleTypeGetResettable ( MlirType bundle)

Definition at line 126 of file ESI.cpp.

References unwrap().

◆ circtESIChannelGetDataDelay()

uint64_t circtESIChannelGetDataDelay ( MlirType channelType)

Definition at line 49 of file ESI.cpp.

References unwrap().

◆ circtESIChannelGetInner()

MlirType circtESIChannelGetInner ( MlirType channelType)

Definition at line 43 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIChannelGetSignaling()

uint32_t circtESIChannelGetSignaling ( MlirType channelType)

Definition at line 46 of file ESI.cpp.

References unwrap().

◆ circtESIChannelTypeGet()

MlirType circtESIChannelTypeGet ( MlirType inner,
uint32_t signaling,
uint64_t dataDelay )

Definition at line 33 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESICheckInnerTypeMatch()

bool circtESICheckInnerTypeMatch ( MlirType to,
MlirType from )

Definition at line 73 of file ESI.cpp.

References circt::esi::checkInnerTypeMatch(), and unwrap().

◆ circtESIListTypeGet()

MlirType circtESIListTypeGet ( MlirType inner)

Definition at line 64 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIListTypeGetElementType()

MlirType circtESIListTypeGetElementType ( MlirType list)

Definition at line 69 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESILookup()

MlirOperation circtESILookup ( MlirModule mod,
MlirStringRef symbol )

Definition at line 90 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIRegisterGlobalServiceGenerator()

void circtESIRegisterGlobalServiceGenerator ( MlirStringRef impl_type,
CirctESIServiceGeneratorFunc genFunc,
void * userData )

◆ circtESITypeIsABundleType()

bool circtESITypeIsABundleType ( MlirType type)

Definition at line 109 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAChannelType()

bool circtESITypeIsAChannelType ( MlirType type)

Definition at line 29 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAListType()

bool circtESITypeIsAListType ( MlirType type)

Definition at line 60 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAnAnyType()

bool circtESITypeIsAnAnyType ( MlirType type)

Definition at line 53 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAWindowFieldType()

bool circtESITypeIsAWindowFieldType ( MlirType type)

Definition at line 206 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAWindowFrameType()

bool circtESITypeIsAWindowFrameType ( MlirType type)

Definition at line 179 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAWindowType()

bool circtESITypeIsAWindowType ( MlirType type)

Definition at line 144 of file ESI.cpp.

References unwrap().

◆ circtESIWindowFieldTypeGet()

MlirType circtESIWindowFieldTypeGet ( MlirContext cctxt,
MlirAttribute fieldName,
uint64_t numItems,
uint64_t bulkCountWidth )

Definition at line 210 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIWindowFieldTypeGetBulkCountWidth()

uint64_t circtESIWindowFieldTypeGetBulkCountWidth ( MlirType field)

Definition at line 226 of file ESI.cpp.

References unwrap().

◆ circtESIWindowFieldTypeGetFieldName()

MlirAttribute circtESIWindowFieldTypeGetFieldName ( MlirType field)

Definition at line 218 of file ESI.cpp.

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

◆ circtESIWindowFieldTypeGetNumItems()

uint64_t circtESIWindowFieldTypeGetNumItems ( MlirType field)

Definition at line 222 of file ESI.cpp.

References unwrap().

◆ circtESIWindowFrameTypeGet()

MlirType circtESIWindowFrameTypeGet ( MlirContext cctxt,
MlirAttribute name,
size_t numMembers,
const MlirType * cMembers )

Definition at line 183 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIWindowFrameTypeGetMember()

MlirType circtESIWindowFrameTypeGetMember ( MlirType frame,
size_t idx )

Definition at line 202 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIWindowFrameTypeGetName()

MlirAttribute circtESIWindowFrameTypeGetName ( MlirType frame)

Definition at line 194 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIWindowFrameTypeGetNumMembers()

size_t circtESIWindowFrameTypeGetNumMembers ( MlirType frame)

Definition at line 198 of file ESI.cpp.

References unwrap().

◆ circtESIWindowTypeGet()

MlirType circtESIWindowTypeGet ( MlirContext cctxt,
MlirAttribute name,
MlirType into,
size_t numFrames,
const MlirType * cFrames )

Definition at line 148 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIWindowTypeGetFrame()

MlirType circtESIWindowTypeGetFrame ( MlirType window,
size_t idx )

Definition at line 171 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIWindowTypeGetInto()

MlirType circtESIWindowTypeGetInto ( MlirType window)

Definition at line 163 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIWindowTypeGetLoweredType()

MlirType circtESIWindowTypeGetLoweredType ( MlirType window)

Definition at line 175 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIWindowTypeGetName()

MlirAttribute circtESIWindowTypeGetName ( MlirType window)

Definition at line 159 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIWindowTypeGetNumFrames()

size_t circtESIWindowTypeGetNumFrames ( MlirType window)

Definition at line 167 of file ESI.cpp.

References unwrap().

◆ registerESIPasses()

void registerESIPasses ( void )

Definition at line 27 of file ESI.cpp.

References circt::esi::registerESIPasses(), and registerESIPasses().

Referenced by registerESIPasses().