CIRCT 22.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. | |
void | remove (mlir::ModuleOp module) |
Remove all marked annotations. | |
void | markNLAsInAnnotation (Attribute anno) |
Mark all NLAs referenced in the given annotation as to be removed. | |
void | markNLAsInOperation (Operation *op) |
Mark all NLAs referenced in an operation. | |
Public Attributes | |
llvm::DenseSet< StringAttr > | nlasToRemove |
The set of NLAs to remove, identified by their symbol. | |
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 129 of file FIRRTLReductions.cpp.
|
inline |
Clear the set of marked NLAs. Call this before attempting a reduction.
Definition at line 131 of file FIRRTLReductions.cpp.
References nlasToRemove.
|
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 167 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 182 of file FIRRTLReductions.cpp.
|
inline |
Remove all marked annotations.
Call this after applying a reduction in order to validate the IR.
Definition at line 135 of file FIRRTLReductions.cpp.
References nlasToRemove.
llvm::DenseSet<StringAttr> NLARemover::nlasToRemove |
The set of NLAs to remove, identified by their symbol.
Definition at line 190 of file FIRRTLReductions.cpp.