CIRCT
20.0.0git
|
Builds registers for the return statement of the program and constant assignments to the component return value. More...
#include <CalyxLoweringUtils.h>
Private Member Functions | |
LogicalResult | partiallyLowerFuncToComp (mlir::func::FuncOp funcOp, PatternRewriter &rewriter) const override |
FuncOpPartialLoweringPattern (MLIRContext *context, LogicalResult &resRef, PatternApplicationState &patternState, DenseMap< mlir::func::FuncOp, calyx::ComponentOp > &map, calyx::CalyxLoweringState &state) | |
Additional Inherited Members | |
Public Member Functions inherited from circt::calyx::FuncOpPartialLoweringPattern | |
FuncOpPartialLoweringPattern (MLIRContext *context, LogicalResult &resRef, PatternApplicationState &patternState, DenseMap< mlir::func::FuncOp, calyx::ComponentOp > &map, calyx::CalyxLoweringState &state) | |
LogicalResult | partiallyLower (mlir::func::FuncOp funcOp, PatternRewriter &rewriter) const override final |
Entry point to initialize the state of this class and conduct the partial lowering. More... | |
calyx::ComponentOp | getComponent () const |
Returns the component operation associated with the currently executing partial lowering. More... | |
template<typename T = ComponentLoweringStateInterface> | |
T & | getState () const |
CalyxLoweringState & | loweringState () const |
Return the calyx lowering state for this pattern. More... | |
Public Member Functions inherited from circt::calyx::PartialLoweringPattern< mlir::func::FuncOp > | |
PartialLoweringPattern (MLIRContext *ctx, LogicalResult &resRef, PatternApplicationState &patternState) | |
LogicalResult | matchAndRewrite (mlir::func::FuncOp op, PatternRewriter &rewriter) const override |
Protected Attributes inherited from circt::calyx::FuncOpPartialLoweringPattern | |
DenseMap< mlir::func::FuncOp, calyx::ComponentOp > & | functionMapping |
Builds registers for the return statement of the program and constant assignments to the component return value.
Definition at line 738 of file CalyxLoweringUtils.h.
|
private |
Definition at line 586 of file CalyxLoweringUtils.cpp.
|
overrideprivatevirtual |
Implements circt::calyx::FuncOpPartialLoweringPattern.
Definition at line 751 of file CalyxLoweringUtils.cpp.
References assert(), circt::calyx::convIndexType(), circt::calyx::createRegister(), getBodyBlock(), circt::calyx::FuncOpPartialLoweringPattern::getComponent(), circt::calyx::getComponentOutput(), circt::calyx::FuncOpPartialLoweringPattern::getState(), seq::reg(), and width.