CIRCT
19.0.0git
|
Namespaces | |
detail | |
Classes | |
class | ESIAPIType |
class | AppIDIndex |
An index for resolving AppIDPaths to dynamic instances. More... | |
struct | ServicePortInfo |
Describes a service port. More... | |
struct | Platform |
This should eventually become a set of functions to define the various platform-specific lowerings. More... | |
class | ServiceGeneratorDispatcher |
Class which "dispatches" a service implementation request to its specified generator. More... | |
struct | BundledChannel |
Functions | |
AppIDAttr | getAppID (Operation *op) |
Get the AppID of a particular operation. More... | |
void | registerESIPasses () |
std::unique_ptr< OperationPass< ModuleOp > > | createESIPhysicalLoweringPass () |
std::unique_ptr< OperationPass< ModuleOp > > | createESIBundleLoweringPass () |
std::unique_ptr< OperationPass< ModuleOp > > | createESIPortLoweringPass () |
std::unique_ptr< OperationPass< ModuleOp > > | createESITypeLoweringPass () |
std::unique_ptr< OperationPass< ModuleOp > > | createESItoHWPass () |
std::unique_ptr< OperationPass< ModuleOp > > | createESIConnectServicesPass () |
std::unique_ptr< OperationPass< ModuleOp > > | createESICleanMetadataPass () |
std::unique_ptr< OperationPass< ModuleOp > > | createESIBuildManifestPass () |
std::unique_ptr< OperationPass< ModuleOp > > | createESIAppIDHierPass () |
llvm::hash_code | hash_value (const BundledChannel channel) |
mlir::Type | innerType (mlir::Type type) |
static bool | isSupported (Type type, bool outer=false) |
Returns true if the type is currently supported. More... | |
static void | emitName (Type type, uint64_t id, llvm::raw_ostream &os) |
Write a valid Capnp name for 'type'. More... | |
Variables | |
constexpr uint64_t | esiApiVersion = 1 |
Every time we implement a breaking change in the schema generation, increment this number. More... | |
constexpr StringRef | extModBundleSignalsAttrName = "esi.bundle" |
Name of dialect attribute which governs whether or not to bundle (i.e. More... | |
constexpr StringRef | extModPortFlattenStructsAttrName = "esi.portFlattenStructs" |
Name of dialect attribute which governs whether or not to flatten struct ports into a bunch of individual 'data' wires. More... | |
constexpr StringRef | extModPortInSuffix = "esi.portInSuffix" |
Suffix all lowered input ports with this suffix. Defaults to nothing. More... | |
constexpr StringRef | extModPortOutSuffix = "esi.portOutSuffix" |
Suffix all lowered output ports with this suffix. Defaults to nothing. More... | |
constexpr StringRef | extModPortValidSuffix = "esi.portValidSuffix" |
Suffix lowered valid ports with this suffix. More... | |
constexpr StringRef | extModPortReadySuffix = "esi.portReadySuffix" |
Suffix lowered ready ports with this suffix. More... | |
constexpr StringRef | extModPortRdenSuffix = "esi.portRdenSuffix" |
Suffix lowered read enable ports with this suffix. More... | |
constexpr StringRef | extModPortEmptySuffix = "esi.portEmptySuffix" |
Suffix lowered empty ports with this suffix. More... | |
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIAppIDHierPass | ( | ) |
Definition at line 79 of file ESIAppIDHier.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIBuildManifestPass | ( | ) |
Definition at line 393 of file ESIBuildManifest.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIBundleLoweringPass | ( | ) |
Definition at line 226 of file ESILowerBundles.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESICleanMetadataPass | ( | ) |
Definition at line 38 of file ESICleanMetadata.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIConnectServicesPass | ( | ) |
Definition at line 587 of file ESIServices.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIPhysicalLoweringPass | ( | ) |
Definition at line 196 of file ESILowerPhysical.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESIPortLoweringPass | ( | ) |
Definition at line 581 of file ESILowerPorts.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESItoHWPass | ( | ) |
Definition at line 699 of file ESILowerToHW.cpp.
std::unique_ptr< OperationPass< ModuleOp > > circt::esi::createESITypeLoweringPass | ( | ) |
Definition at line 103 of file ESILowerTypes.cpp.
|
static |
Write a valid Capnp name for 'type'.
Definition at line 85 of file APIUtilities.cpp.
References assert().
Referenced by circt::esi::ESIAPIType::name().
AppIDAttr circt::esi::getAppID | ( | Operation * | op | ) |
|
inline |
Definition at line 48 of file ESITypes.h.
References circt::esi::BundledChannel::direction, circt::esi::BundledChannel::name, and circt::esi::BundledChannel::type.
Referenced by llvm::DenseMapInfo< Dependence >::getHashValue(), llvm::DenseMapInfo< slang::BufferID >::getHashValue(), circt::smt::detail::BitVectorAttrStorage::hashKey(), and omEvaluatorObjectGetHash().
mlir::Type circt::esi::innerType | ( | mlir::Type | type | ) |
Definition at line 184 of file ESITypes.cpp.
Referenced by circt::doTypeConversion(), getInnerTypes(), circt::moore::UnpackedType::getSimpleBitVectorOrNull(), getVerilogDeclWord(), hasPathType(), hwTypeAliasTypeGet(), processType(), circt::handshake::toValidType(), tupleToStruct(), and circt::handshake::tupleToStruct().
|
static |
Returns true if the type is currently supported.
Definition at line 35 of file APIUtilities.cpp.
Referenced by circt::esi::ESIAPIType::isSupported().
void circt::esi::registerESIPasses | ( | void | ) |
Definition at line 264 of file ESIPasses.cpp.
References registerPasses().
Referenced by circt::registerAllPasses(), and registerESIPasses().
|
constexpr |
Every time we implement a breaking change in the schema generation, increment this number.
It is a seed for all the schema hashes.
Definition at line 28 of file APIUtilities.h.
Referenced by circt::esi::ESIAPIType::typeID().
|
constexpr |
Name of dialect attribute which governs whether or not to bundle (i.e.
use SystemVerilog interfaces) channel signal wires on external modules.
Definition at line 34 of file ESIDialect.h.
|
constexpr |
Suffix lowered empty ports with this suffix.
Defaults to "_empty". Applies only to FIFO channels.
Definition at line 55 of file ESIDialect.h.
|
constexpr |
Name of dialect attribute which governs whether or not to flatten struct ports into a bunch of individual 'data' wires.
Definition at line 38 of file ESIDialect.h.
|
constexpr |
Suffix all lowered input ports with this suffix. Defaults to nothing.
Definition at line 41 of file ESIDialect.h.
|
constexpr |
Suffix all lowered output ports with this suffix. Defaults to nothing.
Definition at line 43 of file ESIDialect.h.
|
constexpr |
Suffix lowered read enable ports with this suffix.
Defaults to "_rden". Applies only to FIFO channels.
Definition at line 52 of file ESIDialect.h.
|
constexpr |
Suffix lowered ready ports with this suffix.
Defaults to "_ready". Applies only to ValidReady channels.
Definition at line 49 of file ESIDialect.h.
|
constexpr |
Suffix lowered valid ports with this suffix.
Defaults to "_valid". Applies only to ValidReady channels.
Definition at line 46 of file ESIDialect.h.