CIRCT 24.0.0git
Loading...
Searching...
No Matches
InnerSymbolDCEPass Struct Reference
Inheritance diagram for InnerSymbolDCEPass:
Collaboration diagram for InnerSymbolDCEPass:

Public Member Functions

void runOnOperation () override

Private Member Functions

void findInnerRefs (Attribute attr)
 Find all InnerRefAttrs inside a given Attribute.
void insertInnerRef (InnerRefAttr innerRef)
 Add an InnerRefAttr to the set of all InnerRefAttrs.
void removeInnerSyms (FModuleLike mod)
 Remove all dead inner symbols from the specified module.

Private Attributes

DenseSet< std::pair< StringAttr, StringAttr > > innerRefs

Detailed Description

Definition at line 58 of file InnerSymbolDCE.cpp.

Member Function Documentation

◆ findInnerRefs()

void InnerSymbolDCEPass::findInnerRefs ( Attribute attr)
private

Find all InnerRefAttrs inside a given Attribute.

Definition at line 71 of file InnerSymbolDCE.cpp.

References insertInnerRef().

Referenced by runOnOperation().

◆ insertInnerRef()

void InnerSymbolDCEPass::insertInnerRef ( InnerRefAttr innerRef)
private

Add an InnerRefAttr to the set of all InnerRefAttrs.

Definition at line 80 of file InnerSymbolDCE.cpp.

References DEBUG_TYPE, and innerRefs.

Referenced by findInnerRefs().

◆ removeInnerSyms()

void InnerSymbolDCEPass::removeInnerSyms ( FModuleLike mod)
private

Remove all dead inner symbols from the specified module.

Definition at line 96 of file InnerSymbolDCE.cpp.

References DEBUG_TYPE, dropSymbol(), innerRefs, and circt::hw::InnerSymbolTable::walkSymbols().

Referenced by runOnOperation().

◆ runOnOperation()

void InnerSymbolDCEPass::runOnOperation ( )
override

Definition at line 116 of file InnerSymbolDCE.cpp.

References findInnerRefs(), and removeInnerSyms().

Member Data Documentation

◆ innerRefs

DenseSet<std::pair<StringAttr, StringAttr> > InnerSymbolDCEPass::innerRefs
private

Definition at line 67 of file InnerSymbolDCE.cpp.

Referenced by insertInnerRef(), and removeInnerSyms().


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