|
CIRCT 24.0.0git
|
Values which can be directly representable by MLIR attributes. More...
#include <Evaluator.h>


Classes | |
| struct | PrivateTag |
Public Member Functions | |
| Attribute | getAttr () const |
| template<typename AttrTy> | |
| AttrTy | getAs () const |
| LogicalResult | setAttr (Attribute attr) |
| Type | getType () const |
| Public Member Functions inherited from circt::om::evaluator::EvaluatorValue | |
| EvaluatorValue (MLIRContext *ctx, Kind kind, Location loc) | |
| Kind | getKind () const |
| MLIRContext * | getContext () const |
| bool | isFullyEvaluated () const |
| void | markFullyEvaluated () |
| bool | isUnknown () const |
| Return true if the value is unknown (has unknown in its fan-in). | |
| void | markUnknown () |
| Mark this value as unknown. | |
| MLIRContext * | getContext () |
| Return the associated MLIR context. | |
| Type | getType () const |
| Location | getLoc () const |
| void | setLoc (Location l) |
| void | setLocIfUnknown (Location l) |
Static Public Member Functions | |
| static bool | classof (const EvaluatorValue *e) |
| static std::shared_ptr< EvaluatorValue > | get (Attribute attr, LocationAttr loc={}) |
| static std::shared_ptr< EvaluatorValue > | get (Type type, LocationAttr loc={}) |
Private Member Functions | |
| AttributeValue (PrivateTag, Attribute attr, Location loc) | |
| AttributeValue (PrivateTag, Type type, Location loc) | |
Private Attributes | |
| Attribute | attr = {} |
| Type | type |
Friends | |
| std::shared_ptr< EvaluatorValue > | get (Attribute attr, LocationAttr loc) |
| std::shared_ptr< EvaluatorValue > | get (Type type, LocationAttr loc) |
Additional Inherited Members | |
| Public Types inherited from circt::om::evaluator::EvaluatorValue | |
| enum class | Kind { Attr , Object , List , BasePath , Path } |
Values which can be directly representable by MLIR attributes.
Definition at line 104 of file Evaluator.h.
|
inlineprivate |
|
inlineprivate |
Definition at line 137 of file Evaluator.h.
References circt::om::evaluator::EvaluatorValue::EvaluatorValue(), circt::om::evaluator::EvaluatorValue::getContext(), circt::om::evaluator::EvaluatorValue::loc, and type.
|
inlinestatic |
Definition at line 111 of file Evaluator.h.
References circt::om::evaluator::EvaluatorValue::Attr, circt::om::evaluator::EvaluatorValue::EvaluatorValue(), and circt::om::evaluator::EvaluatorValue::getKind().
|
static |
Definition at line 1051 of file Evaluator.cpp.
References attr, AttributeValue(), context, circt::om::getEvaluatorValuesFromAttributes(), circt::om::evaluator::EvaluatorValue::loc, and type.
Referenced by circt::om::Evaluator::createUnknownValue(), circt::om::Evaluator::evaluateConstant(), circt::om::getEvaluatorValuesFromAttributes(), circt::om::Evaluator::getPartiallyEvaluatedValue(), omEvaluatorUnknownGet(), and omEvaluatorValueFromPrimitive().
|
static |
References circt::om::evaluator::EvaluatorValue::loc, and type.
|
inline |
Definition at line 108 of file Evaluator.h.
References attr.
|
inline |
Definition at line 106 of file Evaluator.h.
References attr.
|
inline |
Definition at line 118 of file Evaluator.h.
References type.
Referenced by AttributeValue(), and setAttr().
| LogicalResult circt::om::evaluator::AttributeValue::setAttr | ( | Attribute | attr | ) |
Definition at line 1037 of file Evaluator.cpp.
References attr, getLoc(), getType(), circt::om::evaluator::EvaluatorValue::isFullyEvaluated(), circt::om::evaluator::EvaluatorValue::markFullyEvaluated(), success(), and type.
|
friend |
References attr, circt::om::evaluator::EvaluatorValue::loc, and type.
|
friend |
Definition at line 1074 of file Evaluator.cpp.
References AttributeValue(), context, circt::om::evaluator::EvaluatorValue::loc, and type.
|
private |
Definition at line 140 of file Evaluator.h.
Referenced by AttributeValue(), get, get(), getAs(), getAttr(), and setAttr().
|
private |
Definition at line 141 of file Evaluator.h.
Referenced by esiaccel.types.WritePort::__serialize_msg(), AttributeValue(), AttributeValue(), esiaccel.types.Port::connect(), get, get(), get, get(), getType(), hw.HWModuleOp::input_indices(), fsm.MachineOp::instantiate(), hw.HWModuleOp::outputs(), esiaccel.types.ReadPort::read(), and setAttr().