CIRCT 24.0.0git
Loading...
Searching...
No Matches
ListCreateElementRemover Struct Reference

A reduction pattern that removes elements from FIRRTL list create operations. More...

Inheritance diagram for ListCreateElementRemover:
Collaboration diagram for ListCreateElementRemover:

Public Member Functions

void matches (ListCreateOp listOp, llvm::function_ref< void(uint64_t, uint64_t)> addMatch) override
LogicalResult rewriteMatches (ListCreateOp listOp, ArrayRef< uint64_t > matches) override
std::string getName () const override
 Return a human-readable name for this reduction pattern.
Public Member Functions inherited from circt::OpReduction< ListCreateOp >
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.
LogicalResult rewriteMatches (Operation *op, ArrayRef< uint64_t > matches) override
 Apply a set of matches of this reduction to a specific operation.
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 reduction pattern that removes elements from FIRRTL list create operations.

This generates one match per element in each list, allowing selective removal of individual elements.

Definition at line 2593 of file FIRRTLReductions.cpp.

Member Function Documentation

◆ getName()

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

Return a human-readable name for this reduction pattern.

Implements circt::Reduction.

Definition at line 2625 of file FIRRTLReductions.cpp.

◆ matches()

void ListCreateElementRemover::matches ( ListCreateOp listOp,
llvm::function_ref< void(uint64_t, uint64_t)> addMatch )
inlineoverride

Definition at line 2594 of file FIRRTLReductions.cpp.

Referenced by rewriteMatches().

◆ rewriteMatches()

LogicalResult ListCreateElementRemover::rewriteMatches ( ListCreateOp listOp,
ArrayRef< uint64_t > matches )
inlineoverride

Definition at line 2602 of file FIRRTLReductions.cpp.

References matches(), and success().


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