CIRCT  20.0.0git
Public Member Functions | List of all members
RootPortPruner Struct Reference

A sample reduction pattern that removes ports from the root firrtl.module if the port is not used or just invalidated. More...

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

Public Member Functions

uint64_t match (firrtl::FModuleOp module) override
 
LogicalResult rewrite (firrtl::FModuleOp module) override
 
std::string getName () const override
 Return a human-readable name for this reduction pattern. More...
 
- Public Member Functions inherited from circt::OpReduction< firrtl::FModuleOp >
uint64_t match (Operation *op) override
 Check if the reduction can apply to a specific operation. More...
 
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...
 

Detailed Description

A sample reduction pattern that removes ports from the root firrtl.module if the port is not used or just invalidated.

Definition at line 625 of file FIRRTLReductions.cpp.

Member Function Documentation

◆ getName()

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

Return a human-readable name for this reduction pattern.

Implements circt::Reduction.

Definition at line 647 of file FIRRTLReductions.cpp.

◆ match()

uint64_t RootPortPruner::match ( firrtl::FModuleOp  module)
inlineoverridevirtual

Reimplemented from circt::OpReduction< firrtl::FModuleOp >.

Definition at line 626 of file FIRRTLReductions.cpp.

◆ rewrite()

LogicalResult RootPortPruner::rewrite ( firrtl::FModuleOp  module)
inlineoverridevirtual

Implements circt::OpReduction< firrtl::FModuleOp >.

Definition at line 632 of file FIRRTLReductions.cpp.

References assert(), and onlyInvalidated().


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