13 #ifndef CIRCT_DIALECT_ESI_APIUTILITIES_H
14 #define CIRCT_DIALECT_ESI_APIUTILITIES_H
18 #include "mlir/Support/IndentedOstream.h"
19 #include "llvm/ADT/MapVector.h"
48 StringRef
name()
const;
50 uint64_t
size()
const;
StringRef name() const
For now, the name is just the type serialized.
hw::StructType::FieldInfo FieldInfo
bool operator==(const ESIAPIType &) const
llvm::ArrayRef< FieldInfo > getFields() const
llvm::SmallVector< FieldInfo > fieldTypes
Cosim requires that everything be contained in a struct.
mlir::Type getType() const
Get the type back.
std::optional< uint64_t > cachedID
virtual ~ESIAPIType()=default
virtual bool isSupported() const
Returns true if the type is currently supported.
constexpr uint64_t esiApiVersion
Every time we implement a breaking change in the schema generation, increment this number.
This file defines an intermediate representation for circuits acting as an abstraction for constraint...