CIRCT 20.0.0git
|
Base class for partial lowering passes. More...
#include <CalyxLoweringUtils.h>
Public Member Functions | |
PartialLoweringPattern (MLIRContext *ctx, LogicalResult &resRef, PatternApplicationState &patternState) | |
LogicalResult | matchAndRewrite (OpType op, PatternRewriter &rewriter) const override |
virtual LogicalResult | partiallyLower (OpType op, PatternRewriter &rewriter) const =0 |
Private Attributes | |
LogicalResult & | partialPatternRes |
PatternApplicationState & | patternState |
Base class for partial lowering passes.
A partial lowering pass modifies the root operation in place, but does not replace the root operation. The RewritePatternType template parameter allows for using both OpRewritePattern (default) or OpInterfaceRewritePattern.
Definition at line 607 of file CalyxLoweringUtils.h.
|
inline |
Definition at line 610 of file CalyxLoweringUtils.h.
|
inlineoverride |
Definition at line 615 of file CalyxLoweringUtils.h.
References circt::calyx::PartialLoweringPattern< OpType, RewritePatternType >::partiallyLower(), circt::calyx::PartialLoweringPattern< OpType, RewritePatternType >::partialPatternRes, and circt::calyx::PartialLoweringPattern< OpType, RewritePatternType >::patternState.
|
pure virtual |
|
private |
Definition at line 646 of file CalyxLoweringUtils.h.
Referenced by circt::calyx::PartialLoweringPattern< OpType, RewritePatternType >::matchAndRewrite().
|
private |
Definition at line 647 of file CalyxLoweringUtils.h.
Referenced by circt::calyx::PartialLoweringPattern< OpType, RewritePatternType >::matchAndRewrite().