Files
revng-revng/lib/mlir/Dialect/Clift/IR/CliftBytecode.h
Lauri Vasama fc682383e9 Implement Clift bytecode
Fixes bytecode emission of class types with very large trees of members.
See the new unit test: union-with-large-tree.mlir .
2025-07-17 16:45:03 +02:00

34 lines
1001 B
C++

#pragma once
//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
#include "mlir/Bytecode/BytecodeImplementation.h"
#include "revng/mlir/Dialect/Clift/IR/CliftTypes.h"
namespace mlir::clift {
mlir::Attribute readAttr(mlir::DialectBytecodeReader &Reader);
mlir::LogicalResult writeAttr(mlir::Attribute Attr,
mlir::DialectBytecodeWriter &Writer);
mlir::Type readType(mlir::DialectBytecodeReader &Reader);
mlir::LogicalResult writeType(mlir::Type Type,
mlir::DialectBytecodeWriter &Writer);
clift::StructType readStructDefinition(mlir::DialectBytecodeReader &Reader);
void writeStructDefinition(clift::StructType Type,
mlir::DialectBytecodeWriter &Writer);
clift::UnionType readUnionDefinition(mlir::DialectBytecodeReader &Reader);
void writeUnionDefinition(clift::UnionType Type,
mlir::DialectBytecodeWriter &Writer);
} // namespace mlir::clift