CIRCT  19.0.0git
Classes | Namespaces | Typedefs | Functions
Evaluator.h File Reference
#include "circt/Dialect/OM/OMOps.h"
#include "circt/Support/LLVM.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/Location.h"
#include "mlir/IR/MLIRContext.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/Support/LogicalResult.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallString.h"
#include <queue>
#include <utility>
Include dependency graph for Evaluator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  circt::om::evaluator::EvaluatorValue
 Base class for evaluator runtime values. More...
struct  circt::om::evaluator::ReferenceValue
 Values which can be used as pointers to different values. More...
struct  circt::om::evaluator::AttributeValue
 Values which can be directly representable by MLIR attributes. More...
struct  circt::om::evaluator::ListValue
 A List which contains variadic length of elements with the same type. More...
struct  circt::om::evaluator::MapValue
 A Map value. More...
struct  circt::om::evaluator::ObjectValue
 A composite Object, which has a type and fields. More...
struct  circt::om::evaluator::TupleValue
 Tuple values. More...
struct  circt::om::evaluator::BasePathValue
 A Basepath value. More...
struct  circt::om::evaluator::PathValue
 A Path value. More...
struct  circt::om::Evaluator
 An Evaluator, which is constructed with an IR module and can instantiate Objects. More...


 This file defines an intermediate representation for circuits acting as an abstraction for constraints defined over an SMT's solver context.


using circt::om::evaluator::EvaluatorValuePtr = std::shared_ptr< EvaluatorValue >
 A value of an object in memory. More...
using circt::om::evaluator::ObjectFields = SmallDenseMap< StringAttr, EvaluatorValuePtr >
 The fields of a composite Object, currently represented as a map. More...
using circt::om::Object = evaluator::ObjectValue
using circt::om::EvaluatorValuePtr = evaluator::EvaluatorValuePtr


static LogicalResult circt::om::evaluator::finalizeEvaluatorValue (EvaluatorValuePtr &value)
SmallVector< EvaluatorValuePtrcirct::om::getEvaluatorValuesFromAttributes (MLIRContext *context, ArrayRef< Attribute > attributes)
static mlir::Diagnostic & circt::om::operator<< (mlir::Diagnostic &diag, const evaluator::EvaluatorValue &evaluatorValue)
 Helper to enable printing objects in Diagnostics. More...
static mlir::Diagnostic & circt::om::operator<< (mlir::Diagnostic &diag, const EvaluatorValuePtr &evaluatorValue)
 Helper to enable printing objects in Diagnostics. More...