CIRCT
20.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 689 of file CalyxLoweringUtils.h.
circt::calyx::InlineCombGroups::InlineCombGroups | ( | MLIRContext * | context, |
LogicalResult & | resRef, | ||
PatternApplicationState & | patternState, | ||
calyx::CalyxLoweringState & | pls | ||
) |
Definition at line 614 of file CalyxLoweringUtils.cpp.
|
overridevirtual |
Implements circt::calyx::PartialLoweringPattern< calyx::GroupInterface, mlir::OpInterfaceRewritePattern >.
Definition at line 620 of file CalyxLoweringUtils.cpp.
References cls, circt::calyx::CalyxLoweringState::getState(), and recurseInlineCombGroups().
|
private |
Inline the assignment into the originGroup.
Definition at line 644 of file CalyxLoweringUtils.cpp.
References circt::calyx::ComponentLoweringStateInterface::getEvaluatingGroup().
Referenced by partiallyLower().
|
private |
Definition at line 708 of file CalyxLoweringUtils.h.
Referenced by partiallyLower().