CIRCT 22.0.0git
Loading...
Searching...
No Matches
Public Member Functions | List of all members
StateElimination Struct Reference

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...

Inheritance diagram for StateElimination:
Inheritance graph
[legend]
Collaboration diagram for StateElimination:
Collaboration graph
[legend]

Public Member Functions

LogicalResult rewrite (StateOp stateOp) override
 
std::string getName () const override
 Return a human-readable name for this reduction pattern.
 
- Public Member Functions inherited from circt::OpReduction< StateOp >
void matches (Operation *op, llvm::function_ref< void(uint64_t, uint64_t)> addMatch) override
 Collect all ways how this reduction can apply to a specific operation.
 
virtual void matches (StateOp op, llvm::function_ref< void(uint64_t, uint64_t)> addMatch)
 
LogicalResult rewriteMatches (Operation *op, ArrayRef< uint64_t > matches) override
 Apply a set of matches of this reduction to a specific operation.
 
virtual LogicalResult rewriteMatches (StateOp op, ArrayRef< uint64_t > matches)
 
virtual uint64_t match (StateOp op)
 
- 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.
 
virtual void afterReduction (mlir::ModuleOp)
 Called after the reduction has been applied to a subset of operations.
 
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.
 
virtual bool isOneShot () const
 Return true if the tool should not try to reapply this reduction after it has been successful.
 
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.
 

Detailed Description

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.

Member Function Documentation

◆ getName()

std::string StateElimination::getName ( ) const
inlineoverridevirtual

Return a human-readable name for this reduction pattern.

Implements circt::Reduction.

Definition at line 41 of file ArcReductions.cpp.

◆ rewrite()

LogicalResult StateElimination::rewrite ( StateOp  stateOp)
inlineoverridevirtual

Reimplemented from circt::OpReduction< StateOp >.

Definition at line 29 of file ArcReductions.cpp.


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