CIRCT  19.0.0git
Public Member Functions | Private Attributes | List of all members
AppIDIndex::ModuleAppIDs Class Reference

Helper class constructed on a per-HWModuleLike basis. More...

Collaboration diagram for AppIDIndex::ModuleAppIDs:
Collaboration graph
[legend]

Public Member Functions

LogicalResult add (AppIDAttr id, Operation *op, bool inherited)
 Add an appid component to the index. More...
 
FailureOr< Operation * > lookup (AppIDAttr id, Location loc) const
 
auto getAppIDs () const
 
ArrayRef< std::pair< AppIDAttr, Operation * > > getChildren () const
 

Private Attributes

DenseMap< AppIDAttr, Operation * > childAppIDPaths
 
SmallVector< std::pair< AppIDAttr, Operation * >, 8 > childAppIDPathsOrdered
 

Detailed Description

Helper class constructed on a per-HWModuleLike basis.

Contains a map for fast lookups to the operation involved in an appid component.

Definition at line 27 of file AppID.cpp.

Member Function Documentation

◆ add()

LogicalResult AppIDIndex::ModuleAppIDs::add ( AppIDAttr  id,
Operation *  op,
bool  inherited 
)
inline

Add an appid component to the index.

'Inherited' is true if we're bubbling up from an instance and is used to inform the conflicting entry error message.

Definition at line 32 of file AppID.cpp.

◆ getAppIDs()

auto AppIDIndex::ModuleAppIDs::getAppIDs ( ) const
inline

Definition at line 54 of file AppID.cpp.

◆ getChildren()

ArrayRef<std::pair<AppIDAttr, Operation *> > AppIDIndex::ModuleAppIDs::getChildren ( ) const
inline

Definition at line 59 of file AppID.cpp.

◆ lookup()

FailureOr<Operation *> AppIDIndex::ModuleAppIDs::lookup ( AppIDAttr  id,
Location  loc 
) const
inline

Definition at line 46 of file AppID.cpp.

Member Data Documentation

◆ childAppIDPaths

DenseMap<AppIDAttr, Operation *> AppIDIndex::ModuleAppIDs::childAppIDPaths
private

Definition at line 65 of file AppID.cpp.

◆ childAppIDPathsOrdered

SmallVector<std::pair<AppIDAttr, Operation *>, 8> AppIDIndex::ModuleAppIDs::childAppIDPathsOrdered
private

Definition at line 68 of file AppID.cpp.


The documentation for this class was generated from the following file: