CIRCT  19.0.0git
Functions
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)
 
MlirType circtESIChannelGetInner (MlirType channelType)
 
uint32_t circtESIChannelGetSignaling (MlirType channelType)
 
bool circtESITypeIsAnAnyType (MlirType type)
 
MlirType circtESIAnyTypeGet (MlirContext ctxt)
 
bool circtESITypeIsAListType (MlirType type)
 
MlirType circtESIListTypeGet (MlirType inner)
 
MlirType circtESIListTypeGetElementType (MlirType list)
 
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 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. More...
 
MLIR_CAPI_EXPORTED void circtESIAppIDIndexFree (CirctESIAppIDIndex index)
 Free an AppIDIndex. More...
 
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 51 of file ESI.cpp.

References esi.accelerator::ctxt, circt::calyx::direction::get(), unwrap(), and wrap().

◆ circtESIAppendMlirFile()

void circtESIAppendMlirFile ( MlirModule  cMod,
MlirStringRef  filename 
)

Definition at line 68 of file ESI.cpp.

References assert(), and unwrap().

◆ circtESIAppIDAttrGet()

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

Definition at line 138 of file ESI.cpp.

References esi.accelerator::ctxt, circt::calyx::direction::get(), unwrap(), and wrap().

◆ circtESIAppIDAttrGetIndex()

bool circtESIAppIDAttrGetIndex ( MlirAttribute  attr,
uint64_t *  indexOut 
)

Definition at line 150 of file ESI.cpp.

References unwrap().

◆ circtESIAppIDAttrGetName()

MlirStringRef circtESIAppIDAttrGetName ( MlirAttribute  attr)

Definition at line 147 of file ESI.cpp.

References circt::hw::instance_like_impl::getName(), unwrap(), and wrap().

◆ circtESIAppIDAttrGetNoIdx()

MlirAttribute circtESIAppIDAttrGetNoIdx ( MlirContext  ctxt,
MlirStringRef  name 
)

Definition at line 143 of file ESI.cpp.

References esi.accelerator::ctxt, circt::calyx::direction::get(), unwrap(), and wrap().

◆ circtESIAppIDAttrPathGet()

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

◆ circtESIAppIDAttrPathGetComponent()

MlirAttribute circtESIAppIDAttrPathGetComponent ( MlirAttribute  attr,
uint64_t  index 
)

Definition at line 177 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppIDAttrPathGetNumComponents()

uint64_t circtESIAppIDAttrPathGetNumComponents ( MlirAttribute  attr)

Definition at line 174 of file ESI.cpp.

References unwrap().

◆ circtESIAppIDAttrPathGetRoot()

MlirAttribute circtESIAppIDAttrPathGetRoot ( MlirAttribute  attr)

Definition at line 171 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppIDIndexFree()

MLIR_CAPI_EXPORTED void circtESIAppIDIndexFree ( CirctESIAppIDIndex  index)

Free an AppIDIndex.

Definition at line 194 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 186 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 205 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 199 of file ESI.cpp.

References unwrap(), and wrap().

Referenced by PyAppIDIndex::getChildAppIDsOf().

◆ circtESIAttributeIsAnAppIDAttr()

bool circtESIAttributeIsAnAppIDAttr ( MlirAttribute  attr)

Definition at line 134 of file ESI.cpp.

References unwrap().

◆ circtESIAttributeIsAnAppIDPathAttr()

bool circtESIAttributeIsAnAppIDPathAttr ( MlirAttribute  attr)

Definition at line 158 of file ESI.cpp.

References unwrap().

◆ circtESIBundleTypeGet()

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

◆ circtESIBundleTypeGetChannel()

CirctESIBundleTypeBundleChannel circtESIBundleTypeGetChannel ( MlirType  bundle,
size_t  idx 
)

◆ circtESIBundleTypeGetNumChannels()

size_t circtESIBundleTypeGetNumChannels ( MlirType  bundle)

Definition at line 119 of file ESI.cpp.

References unwrap().

◆ circtESIBundleTypeGetResettable()

bool circtESIBundleTypeGetResettable ( MlirType  bundle)

Definition at line 116 of file ESI.cpp.

References unwrap().

◆ circtESIChannelGetInner()

MlirType circtESIChannelGetInner ( MlirType  channelType)

Definition at line 41 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIChannelGetSignaling()

uint32_t circtESIChannelGetSignaling ( MlirType  channelType)

Definition at line 44 of file ESI.cpp.

References unwrap().

◆ circtESIChannelTypeGet()

MlirType circtESIChannelTypeGet ( MlirType  inner,
uint32_t  signaling 
)

Definition at line 33 of file ESI.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ circtESIListTypeGet()

MlirType circtESIListTypeGet ( MlirType  inner)

Definition at line 59 of file ESI.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ circtESIListTypeGetElementType()

MlirType circtESIListTypeGetElementType ( MlirType  list)

Definition at line 64 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESILookup()

MlirOperation circtESILookup ( MlirModule  mod,
MlirStringRef  symbol 
)

Definition at line 81 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 99 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 55 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAnAnyType()

bool circtESITypeIsAnAnyType ( MlirType  type)

Definition at line 48 of file ESI.cpp.

References unwrap().

◆ registerESIPasses()

void registerESIPasses ( void  )

Definition at line 27 of file ESI.cpp.

References circt::esi::registerESIPasses().