CIRCT  20.0.0git
Classes | Typedefs | Functions
ESI.h File Reference
#include "mlir-c/IR.h"
Include dependency graph for ESI.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CirctESIBundleTypeBundleChannel
 
struct  CirctESIAppIDIndex
 

Typedefs

typedef MlirLogicalResult(* CirctESIServiceGeneratorFunc) (MlirOperation serviceImplementReqOp, MlirOperation declOp, MlirOperation recordOp, void *userData)
 

Functions

 MLIR_DECLARE_CAPI_DIALECT_REGISTRATION (ESI, esi)
 
MLIR_CAPI_EXPORTED void registerESIPasses (void)
 
MLIR_CAPI_EXPORTED bool circtESITypeIsAChannelType (MlirType type)
 
MLIR_CAPI_EXPORTED MlirType circtESIChannelTypeGet (MlirType inner, uint32_t signaling, uint64_t dataDelay)
 
MLIR_CAPI_EXPORTED MlirType circtESIChannelGetInner (MlirType channelType)
 
MLIR_CAPI_EXPORTED uint32_t circtESIChannelGetSignaling (MlirType channelType)
 
MLIR_CAPI_EXPORTED uint64_t circtESIChannelGetDataDelay (MlirType channelType)
 
MLIR_CAPI_EXPORTED bool circtESITypeIsAnAnyType (MlirType type)
 
MLIR_CAPI_EXPORTED MlirType circtESIAnyTypeGet (MlirContext)
 
MLIR_CAPI_EXPORTED bool circtESITypeIsAListType (MlirType type)
 
MLIR_CAPI_EXPORTED MlirType circtESIListTypeGet (MlirType inner)
 
MLIR_CAPI_EXPORTED MlirType circtESIListTypeGetElementType (MlirType channelType)
 
MLIR_CAPI_EXPORTED void circtESIAppendMlirFile (MlirModule, MlirStringRef fileName)
 
MLIR_CAPI_EXPORTED MlirOperation circtESILookup (MlirModule, MlirStringRef symbol)
 
MLIR_CAPI_EXPORTED bool circtESITypeIsABundleType (MlirType type)
 
MLIR_CAPI_EXPORTED MlirType circtESIBundleTypeGet (MlirContext, size_t numChannels, const CirctESIBundleTypeBundleChannel *channels, bool resettable)
 
MLIR_CAPI_EXPORTED bool circtESIBundleTypeGetResettable (MlirType bundle)
 
MLIR_CAPI_EXPORTED size_t circtESIBundleTypeGetNumChannels (MlirType bundle)
 
MLIR_CAPI_EXPORTED CirctESIBundleTypeBundleChannel circtESIBundleTypeGetChannel (MlirType bundle, size_t idx)
 
MLIR_CAPI_EXPORTED void circtESIRegisterGlobalServiceGenerator (MlirStringRef impl_type, CirctESIServiceGeneratorFunc, void *userData)
 
MLIR_CAPI_EXPORTED bool circtESIAttributeIsAnAppIDAttr (MlirAttribute)
 
MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDAttrGet (MlirContext, MlirStringRef name, uint64_t index)
 
MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDAttrGetNoIdx (MlirContext ctxt, MlirStringRef name)
 
MLIR_CAPI_EXPORTED MlirStringRef circtESIAppIDAttrGetName (MlirAttribute attr)
 
MLIR_CAPI_EXPORTED bool circtESIAppIDAttrGetIndex (MlirAttribute attr, uint64_t *index)
 
MLIR_CAPI_EXPORTED bool circtESIAttributeIsAnAppIDPathAttr (MlirAttribute)
 
MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDAttrPathGet (MlirContext, MlirAttribute root, intptr_t numElements, MlirAttribute const *elements)
 
MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDAttrPathGetRoot (MlirAttribute attr)
 
MLIR_CAPI_EXPORTED uint64_t circtESIAppIDAttrPathGetNumComponents (MlirAttribute attr)
 
MLIR_CAPI_EXPORTED 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)
 Free an AppIDIndex. More...
 
MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDIndexGetChildAppIDsOf (CirctESIAppIDIndex, MlirOperation)
 
MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDIndexGetAppIDPath (CirctESIAppIDIndex, MlirOperation fromMod, MlirAttribute appid, MlirLocation loc)
 

Typedef Documentation

◆ CirctESIServiceGeneratorFunc

typedef MlirLogicalResult(* CirctESIServiceGeneratorFunc) (MlirOperation serviceImplementReqOp, MlirOperation declOp, MlirOperation recordOp, void *userData)

Definition at line 66 of file ESI.h.

Function Documentation

◆ circtESIAnyTypeGet()

MLIR_CAPI_EXPORTED MlirType circtESIAnyTypeGet ( MlirContext  ctxt)

Definition at line 56 of file ESI.cpp.

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

◆ circtESIAppendMlirFile()

MLIR_CAPI_EXPORTED void circtESIAppendMlirFile ( MlirModule  cMod,
MlirStringRef  fileName 
)

Definition at line 73 of file ESI.cpp.

References assert(), and unwrap().

◆ circtESIAppIDAttrGet()

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

Definition at line 144 of file ESI.cpp.

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

◆ circtESIAppIDAttrGetIndex()

MLIR_CAPI_EXPORTED bool circtESIAppIDAttrGetIndex ( MlirAttribute  attr,
uint64_t *  index 
)

Definition at line 156 of file ESI.cpp.

References unwrap().

◆ circtESIAppIDAttrGetName()

MLIR_CAPI_EXPORTED MlirStringRef circtESIAppIDAttrGetName ( MlirAttribute  attr)

Definition at line 153 of file ESI.cpp.

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

◆ circtESIAppIDAttrGetNoIdx()

MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDAttrGetNoIdx ( MlirContext  ctxt,
MlirStringRef  name 
)

Definition at line 149 of file ESI.cpp.

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

◆ circtESIAppIDAttrPathGet()

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

◆ circtESIAppIDAttrPathGetComponent()

MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDAttrPathGetComponent ( MlirAttribute  attr,
uint64_t  index 
)

Definition at line 183 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppIDAttrPathGetNumComponents()

MLIR_CAPI_EXPORTED uint64_t circtESIAppIDAttrPathGetNumComponents ( MlirAttribute  attr)

Definition at line 180 of file ESI.cpp.

References unwrap().

◆ circtESIAppIDAttrPathGetRoot()

MLIR_CAPI_EXPORTED MlirAttribute circtESIAppIDAttrPathGetRoot ( MlirAttribute  attr)

Definition at line 177 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIAppIDIndexFree()

MLIR_CAPI_EXPORTED void circtESIAppIDIndexFree ( CirctESIAppIDIndex  index)

Free an AppIDIndex.

Definition at line 200 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 192 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 211 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 205 of file ESI.cpp.

References unwrap(), and wrap().

Referenced by PyAppIDIndex::getChildAppIDsOf().

◆ circtESIAttributeIsAnAppIDAttr()

MLIR_CAPI_EXPORTED bool circtESIAttributeIsAnAppIDAttr ( MlirAttribute  attr)

Definition at line 140 of file ESI.cpp.

References unwrap().

◆ circtESIAttributeIsAnAppIDPathAttr()

MLIR_CAPI_EXPORTED bool circtESIAttributeIsAnAppIDPathAttr ( MlirAttribute  attr)

Definition at line 164 of file ESI.cpp.

References unwrap().

◆ circtESIBundleTypeGet()

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

◆ circtESIBundleTypeGetChannel()

MLIR_CAPI_EXPORTED CirctESIBundleTypeBundleChannel circtESIBundleTypeGetChannel ( MlirType  bundle,
size_t  idx 
)

◆ circtESIBundleTypeGetNumChannels()

MLIR_CAPI_EXPORTED size_t circtESIBundleTypeGetNumChannels ( MlirType  bundle)

Definition at line 125 of file ESI.cpp.

References unwrap().

◆ circtESIBundleTypeGetResettable()

MLIR_CAPI_EXPORTED bool circtESIBundleTypeGetResettable ( MlirType  bundle)

Definition at line 122 of file ESI.cpp.

References unwrap().

◆ circtESIChannelGetDataDelay()

MLIR_CAPI_EXPORTED uint64_t circtESIChannelGetDataDelay ( MlirType  channelType)

Definition at line 49 of file ESI.cpp.

References unwrap().

◆ circtESIChannelGetInner()

MLIR_CAPI_EXPORTED MlirType circtESIChannelGetInner ( MlirType  channelType)

Definition at line 43 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIChannelGetSignaling()

MLIR_CAPI_EXPORTED uint32_t circtESIChannelGetSignaling ( MlirType  channelType)

Definition at line 46 of file ESI.cpp.

References unwrap().

◆ circtESIChannelTypeGet()

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

Definition at line 33 of file ESI.cpp.

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

◆ circtESIListTypeGet()

MLIR_CAPI_EXPORTED MlirType circtESIListTypeGet ( MlirType  inner)

Definition at line 64 of file ESI.cpp.

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

◆ circtESIListTypeGetElementType()

MLIR_CAPI_EXPORTED MlirType circtESIListTypeGetElementType ( MlirType  channelType)

Definition at line 69 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESILookup()

MLIR_CAPI_EXPORTED MlirOperation circtESILookup ( MlirModule  mod,
MlirStringRef  symbol 
)

Definition at line 86 of file ESI.cpp.

References unwrap(), and wrap().

◆ circtESIRegisterGlobalServiceGenerator()

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

◆ circtESITypeIsABundleType()

MLIR_CAPI_EXPORTED bool circtESITypeIsABundleType ( MlirType  type)

Definition at line 105 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAChannelType()

MLIR_CAPI_EXPORTED bool circtESITypeIsAChannelType ( MlirType  type)

Definition at line 29 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAListType()

MLIR_CAPI_EXPORTED bool circtESITypeIsAListType ( MlirType  type)

Definition at line 60 of file ESI.cpp.

References unwrap().

◆ circtESITypeIsAnAnyType()

MLIR_CAPI_EXPORTED bool circtESITypeIsAnAnyType ( MlirType  type)

Definition at line 53 of file ESI.cpp.

References unwrap().

◆ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION()

MLIR_DECLARE_CAPI_DIALECT_REGISTRATION ( ESI  ,
esi   
)

◆ registerESIPasses()

MLIR_CAPI_EXPORTED void registerESIPasses ( void  )

Definition at line 27 of file ESI.cpp.

References circt::esi::registerESIPasses().