CIRCT 23.0.0git
Loading...
Searching...
No Matches
Classes | Functions
circt::reduce Namespace Reference

Classes

struct  InnerSymbolUses
 A helper struct that scans a root operation and all its nested operations for InnerRefAttrs. More...
 
class  MetasyntacticNameGenerator
 A utility class that generates metasyntactic variable names for use in reductions. More...
 

Functions

void pruneUnusedOps (SmallVectorImpl< Operation * > &worklist, Reduction &reduction)
 Starting from an initial worklist of operations, traverse through it and its operands and erase operations that have no more uses.
 
void pruneUnusedOps (Operation *initialOp, Reduction &reduction)
 Starting at the given op, traverse through it and its operands and erase operations that have no more uses.
 

Function Documentation

◆ pruneUnusedOps() [1/2]

void circt::reduce::pruneUnusedOps ( Operation *  initialOp,
Reduction reduction 
)

Starting at the given op, traverse through it and its operands and erase operations that have no more uses.

Definition at line 49 of file ReductionUtils.cpp.

References pruneUnusedOps().

◆ pruneUnusedOps() [2/2]

void circt::reduce::pruneUnusedOps ( SmallVectorImpl< Operation * > &  worklist,
Reduction reduction 
)

Starting from an initial worklist of operations, traverse through it and its operands and erase operations that have no more uses.

This is useful when there are repeated calls to pruneUnusedOp that want to delete the same operations.

Definition at line 32 of file ReductionUtils.cpp.

References circt::Reduction::notifyOpErased().

Referenced by pruneUnusedOps(), HWOperandForwarder< OpNum >::rewrite(), and HWConstantifier::rewriteMatches().