CIRCT 24.0.0git
Loading...
Searching...
No Matches
circt::calyx::InlineCombGroups Class Reference

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>

Inheritance diagram for circt::calyx::InlineCombGroups:
Collaboration diagram for circt::calyx::InlineCombGroups:

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

Detailed Description

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.

Constructor & Destructor Documentation

◆ InlineCombGroups()

Member Function Documentation

◆ partiallyLower()

LogicalResult circt::calyx::InlineCombGroups::partiallyLower ( calyx::GroupInterface originGroup,
PatternRewriter & rewriter ) const
overridevirtual

◆ recurseInlineCombGroups()

void circt::calyx::InlineCombGroups::recurseInlineCombGroups ( PatternRewriter & rewriter,
ComponentLoweringStateInterface & state,
llvm::SmallSetVector< Operation *, 8 > & inlinedGroups,
calyx::GroupInterface originGroup,
calyx::GroupInterface recGroup,
bool doInline ) const
private

Member Data Documentation

◆ cls

calyx::CalyxLoweringState& circt::calyx::InlineCombGroups::cls
private

Definition at line 809 of file CalyxLoweringUtils.h.

Referenced by InlineCombGroups(), and partiallyLower().


The documentation for this class was generated from the following files: