|
CIRCT 22.0.0git
|
This pass recursively inlines use-def chains of combinational logic (from non-stateful groups) into groups referenced in the control schedule. More...
#include <CalyxLoweringUtils.h>


Public Member Functions | |
| InlineCombGroups (MLIRContext *context, LogicalResult &resRef, PatternApplicationState &patternState, calyx::CalyxLoweringState &pls) | |
| LogicalResult | partiallyLower (calyx::GroupInterface originGroup, PatternRewriter &rewriter) const override |
Public Member Functions inherited from circt::calyx::PartialLoweringPattern< calyx::GroupInterface, mlir::OpInterfaceRewritePattern > | |
| PartialLoweringPattern (MLIRContext *ctx, LogicalResult &resRef, PatternApplicationState &patternState) | |
| LogicalResult | matchAndRewrite (calyx::GroupInterface op, PatternRewriter &rewriter) const override |
Private Member Functions | |
| void | recurseInlineCombGroups (PatternRewriter &rewriter, ComponentLoweringStateInterface &state, llvm::SmallSetVector< Operation *, 8 > &inlinedGroups, calyx::GroupInterface originGroup, calyx::GroupInterface recGroup, bool doInline) const |
Private Attributes | |
| calyx::CalyxLoweringState & | cls |
This pass recursively inlines use-def chains of combinational logic (from non-stateful groups) into groups referenced in the control schedule.
Definition at line 790 of file CalyxLoweringUtils.h.
| circt::calyx::InlineCombGroups::InlineCombGroups | ( | MLIRContext * | context, |
| LogicalResult & | resRef, | ||
| PatternApplicationState & | patternState, | ||
| calyx::CalyxLoweringState & | pls | ||
| ) |
Definition at line 661 of file CalyxLoweringUtils.cpp.
|
overridevirtual |
Implements circt::calyx::PartialLoweringPattern< calyx::GroupInterface, mlir::OpInterfaceRewritePattern >.
Definition at line 667 of file CalyxLoweringUtils.cpp.
References cls, and circt::calyx::CalyxLoweringState::getState().
|
private |
Inline the assignment into the originGroup.
Definition at line 691 of file CalyxLoweringUtils.cpp.
References circt::calyx::ComponentLoweringStateInterface::getEvaluatingGroup(), circt::calyx::ComponentLoweringStateInterface::isSeqGuardCmpLibOp(), and recurseInlineCombGroups().
Referenced by recurseInlineCombGroups().
|
private |
Definition at line 809 of file CalyxLoweringUtils.h.
Referenced by partiallyLower().