An index for resolving AppIDPaths to dynamic instances.
More...
#include <AppID.h>
|
| AppIDIndex (Operation *mlirTop) |
|
| ~AppIDIndex () |
|
bool | isValid () const |
|
ArrayAttr | getChildAppIDsOf (hw::HWModuleLike) const |
|
LogicalResult | walk (hw::HWModuleLike top, function_ref< void(AppIDPathAttr, ArrayRef< Operation * >)> fn) const |
| Walk the AppID hierarchy rooted at the specified module. More...
|
|
LogicalResult | walk (StringRef top, function_ref< void(AppIDPathAttr, ArrayRef< Operation * >)> fn) const |
|
FailureOr< ArrayAttr > | getAppIDPathAttr (hw::HWModuleLike fromMod, AppIDAttr appid, Location loc) const |
| Return an array of InnerNameRefAttrs representing the relative path to 'appid' from 'fromMod'. More...
|
|
|
LogicalResult | walk (hw::HWModuleLike top, hw::HWModuleLike current, SmallVectorImpl< AppIDAttr > &pathStack, SmallVectorImpl< Operation * > &opStack, function_ref< void(AppIDPathAttr, ArrayRef< Operation * >)> fn) const |
| Walk the AppID hierarchy rooted at the specified module. More...
|
|
FailureOr< const ModuleAppIDs * > | buildIndexFor (hw::HWModuleLike modToProcess) |
| Construct the index for a module. More...
|
|
An index for resolving AppIDPaths to dynamic instances.
Definition at line 32 of file AppID.h.
◆ AppIDIndex()
circt::esi::AppIDIndex::AppIDIndex |
( |
Operation * |
mlirTop | ) |
|
◆ ~AppIDIndex()
circt::esi::AppIDIndex::~AppIDIndex |
( |
| ) |
|
◆ buildIndexFor()
FailureOr<const ModuleAppIDs *> circt::esi::AppIDIndex::buildIndexFor |
( |
hw::HWModuleLike |
modToProcess | ) |
|
|
private |
Construct the index for a module.
◆ getAppIDPathAttr()
FailureOr<ArrayAttr> circt::esi::AppIDIndex::getAppIDPathAttr |
( |
hw::HWModuleLike |
fromMod, |
|
|
AppIDAttr |
appid, |
|
|
Location |
loc |
|
) |
| const |
Return an array of InnerNameRefAttrs representing the relative path to 'appid' from 'fromMod'.
◆ getChildAppIDsOf()
ArrayAttr circt::esi::AppIDIndex::getChildAppIDsOf |
( |
hw::HWModuleLike |
| ) |
const |
◆ isValid()
bool circt::esi::AppIDIndex::isValid |
( |
| ) |
const |
|
inline |
◆ walk() [1/3]
LogicalResult circt::esi::AppIDIndex::walk |
( |
hw::HWModuleLike |
top, |
|
|
function_ref< void(AppIDPathAttr, ArrayRef< Operation * >)> |
fn |
|
) |
| const |
Walk the AppID hierarchy rooted at the specified module.
◆ walk() [2/3]
LogicalResult circt::esi::AppIDIndex::walk |
( |
hw::HWModuleLike |
top, |
|
|
hw::HWModuleLike |
current, |
|
|
SmallVectorImpl< AppIDAttr > & |
pathStack, |
|
|
SmallVectorImpl< Operation * > & |
opStack, |
|
|
function_ref< void(AppIDPathAttr, ArrayRef< Operation * >)> |
fn |
|
) |
| const |
|
private |
Walk the AppID hierarchy rooted at the specified module.
◆ walk() [3/3]
LogicalResult circt::esi::AppIDIndex::walk |
( |
StringRef |
top, |
|
|
function_ref< void(AppIDPathAttr, ArrayRef< Operation * >)> |
fn |
|
) |
| const |
◆ containerAppIDs
DenseMap<hw::HWModuleLike, ModuleAppIDs *> circt::esi::AppIDIndex::containerAppIDs |
|
private |
◆ mlirTop
Operation* circt::esi::AppIDIndex::mlirTop |
|
private |
◆ symCache
◆ valid
bool circt::esi::AppIDIndex::valid |
|
private |
The documentation for this class was generated from the following file:
- /home/runner/work/circt-www/circt-www/circt_src/include/circt/Dialect/ESI/AppID.h