Loading [MathJax]/extensions/tex2jax.js
CIRCT 22.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Functions
ArcTypes.cpp File Reference
#include "circt/Dialect/Arc/ArcTypes.h"
#include "circt/Dialect/Arc/ArcDialect.h"
#include "circt/Dialect/HW/HWTypes.h"
#include "circt/Dialect/Seq/SeqTypes.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/DialectImplementation.h"
#include "llvm/ADT/TypeSwitch.h"
#include "circt/Dialect/Arc/ArcTypes.cpp.inc"
Include dependency graph for ArcTypes.cpp:

Go to the source code of this file.

Macros

#define GET_TYPEDEF_CLASSES
 
#define GET_TYPEDEF_LIST
 

Functions

static std::optional< uint64_t > computeLLVMBitWidth (Type type)
 Compute the bit width a type will have when allocated as part of the simulator's storage.
 

Macro Definition Documentation

◆ GET_TYPEDEF_CLASSES

#define GET_TYPEDEF_CLASSES

Definition at line 21 of file ArcTypes.cpp.

◆ GET_TYPEDEF_LIST

#define GET_TYPEDEF_LIST

Function Documentation

◆ computeLLVMBitWidth()

static std::optional< uint64_t > computeLLVMBitWidth ( Type  type)
static

Compute the bit width a type will have when allocated as part of the simulator's storage.

This includes any padding and alignment that may be necessary once the type has been mapped to LLVM. The idea is for this function to be conservative, such that we provide sufficient storage bytes for any type.

Definition at line 29 of file ArcTypes.cpp.

References computeLLVMBitWidth().

Referenced by computeLLVMBitWidth().