CIRCT 23.0.0git
Loading...
Searching...
No Matches
ArcTypes.h
Go to the documentation of this file.
1//===- ArcTypes.h - Arc dialect types ---------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef CIRCT_DIALECT_ARC_ARCTYPES_H
10#define CIRCT_DIALECT_ARC_ARCTYPES_H
11
13#include "mlir/IR/BuiltinAttributes.h"
14#include "mlir/IR/BuiltinTypes.h"
15#include "mlir/IR/Types.h"
16
17#define GET_TYPEDEF_CLASSES
18#include "circt/Dialect/Arc/ArcTypes.h.inc"
19
20namespace circt {
21namespace arc {
22
23/// Compute the bit width a type will have when allocated as part of the
24/// simulator's storage. This includes any padding and alignment that may be
25/// necessary once the type has been mapped to LLVM. The idea is for this
26/// function to be conservative, such that we provide sufficient storage bytes
27/// for any type.
28std::optional<uint64_t> computeLLVMBitWidth(mlir::Type type);
29
30} // namespace arc
31} // namespace circt
32
33#endif // CIRCT_DIALECT_ARC_ARCTYPES_H
Definition arc.py:1
std::optional< uint64_t > computeLLVMBitWidth(mlir::Type type)
Compute the bit width a type will have when allocated as part of the simulator's storage.
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.