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

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 

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

Definition at line 54 of file AppID.cpp.

◆ getChildren()

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

Definition at line 59 of file AppID.cpp.

◆ lookup()

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

Definition at line 46 of file AppID.cpp.

Member Data Documentation

◆ childAppIDPaths

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

Definition at line 65 of file AppID.cpp.

◆ childAppIDPathsOrdered

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

Definition at line 68 of file AppID.cpp.

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