CIRCT
20.0.0git
|
A sample reduction pattern that converts arc.state
operations to the simpler arc.call
operation and removes clock, latency, name attributes, enables, and resets in the process.
More...
Public Member Functions | |
LogicalResult | rewrite (StateOp stateOp) override |
std::string | getName () const override |
Return a human-readable name for this reduction pattern. More... | |
Public Member Functions inherited from circt::OpReduction< StateOp > | |
uint64_t | match (Operation *op) override |
Check if the reduction can apply to a specific operation. More... | |
virtual uint64_t | match (StateOp op) |
LogicalResult | rewrite (Operation *op) override |
Apply the reduction to a specific operation. More... | |
Public Member Functions inherited from circt::Reduction | |
virtual | ~Reduction () |
virtual void | beforeReduction (mlir::ModuleOp) |
Called before the reduction is applied to a new subset of operations. More... | |
virtual void | afterReduction (mlir::ModuleOp) |
Called after the reduction has been applied to a subset of operations. More... | |
virtual bool | acceptSizeIncrease () const |
Return true if the tool should accept the transformation this reduction performs on the module even if the overall size of the output increases. More... | |
virtual bool | isOneShot () const |
Return true if the tool should not try to reapply this reduction after it has been successful. More... | |
void | notifyOpErased (Operation *op) |
Additional Inherited Members | |
Public Attributes inherited from circt::Reduction | |
std::function< void(Operation *)> | notifyOpErasedCallback = nullptr |
An optional callback for reductions to communicate removal of operations. More... | |
A sample reduction pattern that converts arc.state
operations to the simpler arc.call
operation and removes clock, latency, name attributes, enables, and resets in the process.
Definition at line 28 of file ArcReductions.cpp.
|
inlineoverridevirtual |
Return a human-readable name for this reduction pattern.
Implements circt::Reduction.
Definition at line 41 of file ArcReductions.cpp.
|
inlineoverridevirtual |
Implements circt::OpReduction< StateOp >.
Definition at line 29 of file ArcReductions.cpp.