13 #ifndef CIRCT_DIALECT_ARC_MODELINFO_H
14 #define CIRCT_DIALECT_ARC_MODELINFO_H
16 #include "mlir/IR/BuiltinOps.h"
17 #include "llvm/ADT/SmallVector.h"
18 #include "llvm/Support/raw_ostream.h"
43 llvm::SmallVector<StateInfo>
states,
54 llvm::SmallVector<StateInfo> &states);
59 llvm::SmallVector<ModelInfo> &models);
63 llvm::ArrayRef<ModelInfo> models);
void serializeModelInfoToJson(llvm::raw_ostream &outputStream, llvm::ArrayRef< ModelInfo > models)
Serializes models to outputStream in JSON format.
mlir::LogicalResult collectModels(mlir::ModuleOp module, llvm::SmallVector< ModelInfo > &models)
Collects information about all Arc models in the provided module, and adds it to models.
mlir::LogicalResult collectStates(mlir::Value storage, unsigned offset, llvm::SmallVector< StateInfo > &states)
Collects information about states within the provided Arc model storage storage, assuming default off...
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Gathers information about a given Arc model.
llvm::SmallVector< StateInfo > states
mlir::FlatSymbolRefAttr initialFnSym
mlir::FlatSymbolRefAttr finalFnSym
ModelInfo(std::string name, size_t numStateBytes, llvm::SmallVector< StateInfo > states, mlir::FlatSymbolRefAttr initialFnSym, mlir::FlatSymbolRefAttr finalFnSym)
Gathers information about a given Arc state.
enum circt::arc::StateInfo::Type type