CIRCT
20.0.0git
|
A tracker for track NLAs affected by a reduction. More...
Public Member Functions | |
void | clear () |
Clear the set of marked NLAs. Call this before attempting a reduction. More... | |
void | remove (mlir::ModuleOp module) |
Remove all marked annotations. More... | |
void | markNLAsInAnnotation (Attribute anno) |
Mark all NLAs referenced in the given annotation as to be removed. More... | |
void | markNLAsInOperation (Operation *op) |
Mark all NLAs referenced in an operation. More... | |
Public Attributes | |
llvm::DenseSet< StringAttr > | nlasToRemove |
The set of NLAs to remove, identified by their symbol. More... | |
A tracker for track NLAs affected by a reduction.
Performs the necessary cleanup steps in order to maintain IR validity after the reduction has applied. For example, removing an instance that forms part of an NLA path requires that NLA to be removed as well.
Definition at line 114 of file FIRRTLReductions.cpp.
|
inline |
Clear the set of marked NLAs. Call this before attempting a reduction.
Definition at line 116 of file FIRRTLReductions.cpp.
|
inline |
Mark all NLAs referenced in the given annotation as to be removed.
This can be an entire array or dictionary of annotations, and the function will descend into child annotations appropriately.
Definition at line 148 of file FIRRTLReductions.cpp.
|
inline |
Mark all NLAs referenced in an operation.
Also traverses all nested operations. Call this before removing an operation, to mark any associated NLAs as to be removed as well.
Definition at line 163 of file FIRRTLReductions.cpp.
|
inline |
Remove all marked annotations.
Call this after applying a reduction in order to validate the IR.
Definition at line 120 of file FIRRTLReductions.cpp.
llvm::DenseSet<StringAttr> NLARemover::nlasToRemove |
The set of NLAs to remove, identified by their symbol.
Definition at line 171 of file FIRRTLReductions.cpp.