CIRCT 20.0.0git
|
This class handles information about AST structures of each expressions. More...
Public Member Functions | |
EmittedExpressionStateManager (const LoweringOptions &options) | |
EmittedExpressionState | getExpressionState (Value value) |
bool | dispatchHeuristic (Operation &op) |
bool | shouldSpillWireBasedOnState (Operation &op) |
Return true if it is beneficial to spill the operation under the specified spilling heuristic. | |
Private Member Functions | |
EmittedExpressionState | visitUnhandledExpr (Operation *op) |
EmittedExpressionState | visitInvalidComb (Operation *op) |
EmittedExpressionState | visitUnhandledComb (Operation *op) |
EmittedExpressionState | visitInvalidTypeOp (Operation *op) |
EmittedExpressionState | visitUnhandledTypeOp (Operation *op) |
EmittedExpressionState | visitUnhandledSV (Operation *op) |
EmittedExpressionState | mergeOperandsStates (Operation *op) |
Private Attributes | |
const LoweringOptions & | options |
DenseMap< Value, EmittedExpressionState > | expressionStates |
This class handles information about AST structures of each expressions.
Definition at line 591 of file PrepareForEmission.cpp.
|
inline |
Definition at line 599 of file PrepareForEmission.cpp.
bool EmittedExpressionStateManager::dispatchHeuristic | ( | Operation & | op | ) |
Definition at line 727 of file PrepareForEmission.cpp.
References getExpressionState(), circt::LoweringOptions::isWireSpillingHeuristicEnabled(), options, EmittedExpressionState::size, circt::LoweringOptions::SpillLargeTermsWithNamehints, and circt::LoweringOptions::wireSpillingNamehintTermLimit.
Referenced by shouldSpillWireBasedOnState().
EmittedExpressionState EmittedExpressionStateManager::getExpressionState | ( | Value | value | ) |
Definition at line 652 of file PrepareForEmission.cpp.
References expressionStates, and EmittedExpressionState::getBaseState().
Referenced by dispatchHeuristic(), mergeOperandsStates(), and shouldSpillWireBasedOnState().
|
private |
Definition at line 668 of file PrepareForEmission.cpp.
References getExpressionState(), and EmittedExpressionState::mergeState().
Referenced by visitUnhandledExpr().
bool EmittedExpressionStateManager::shouldSpillWireBasedOnState | ( | Operation & | op | ) |
Return true if it is beneficial to spill the operation under the specified spilling heuristic.
Definition at line 747 of file PrepareForEmission.cpp.
References dispatchHeuristic(), getExpressionState(), circt::LoweringOptions::maximumNumberOfTermsPerExpression, options, and EmittedExpressionState::size.
Referenced by prettifyAfterLegalization().
|
inlineprivate |
Definition at line 623 of file PrepareForEmission.cpp.
|
inlineprivate |
Definition at line 629 of file PrepareForEmission.cpp.
|
inlineprivate |
Definition at line 626 of file PrepareForEmission.cpp.
References visitUnhandledExpr().
|
inlineprivate |
Definition at line 617 of file PrepareForEmission.cpp.
References EmittedExpressionState::getBaseState(), and mergeOperandsStates().
Referenced by visitUnhandledComb(), visitUnhandledSV(), and visitUnhandledTypeOp().
|
inlineprivate |
Definition at line 635 of file PrepareForEmission.cpp.
References visitUnhandledExpr().
|
inlineprivate |
Definition at line 632 of file PrepareForEmission.cpp.
References visitUnhandledExpr().
|
friend |
Definition at line 609 of file PrepareForEmission.cpp.
|
friend |
Definition at line 609 of file PrepareForEmission.cpp.
|
friend |
Definition at line 609 of file PrepareForEmission.cpp.
|
private |
Definition at line 648 of file PrepareForEmission.cpp.
Referenced by getExpressionState().
|
private |
Definition at line 642 of file PrepareForEmission.cpp.
Referenced by dispatchHeuristic(), and shouldSpillWireBasedOnState().