CIRCT 21.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 |
![]() | |
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 662 of file CalyxLoweringUtils.cpp.
|
overridevirtual |
Implements circt::calyx::PartialLoweringPattern< calyx::GroupInterface, mlir::OpInterfaceRewritePattern >.
Definition at line 668 of file CalyxLoweringUtils.cpp.
References cls, and circt::calyx::CalyxLoweringState::getState().
|
private |
Inline the assignment into the originGroup.
Definition at line 692 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().