CIRCT 24.0.0git
Loading...
Searching...
No Matches
SVTypes.cpp File Reference
#include "circt/Dialect/SV/SVTypes.h"
#include "circt/Dialect/HW/HWTypes.h"
#include "circt/Dialect/SV/SVDialect.h"
#include "circt/Support/LLVM.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/DialectImplementation.h"
#include "llvm/ADT/TypeSwitch.h"
#include "circt/Dialect/SV/SVTypes.cpp.inc"
Include dependency graph for SVTypes.cpp:

Go to the source code of this file.

Macros

#define GET_TYPEDEF_CLASSES
#define GET_TYPEDEF_LIST

Functions

static bool isPackedType (Type type)
 Return true if the specified type has a packed layout, i.e.
static Type stripUnpackedDimensions (Type type)
 Return the innermost non-unpacked element type.
static bool isValidVarElementTypeImpl (Type type)

Macro Definition Documentation

◆ GET_TYPEDEF_CLASSES

#define GET_TYPEDEF_CLASSES

Definition at line 190 of file SVTypes.cpp.

◆ GET_TYPEDEF_LIST

#define GET_TYPEDEF_LIST

Function Documentation

◆ isPackedType()

bool isPackedType ( Type type)
static

Return true if the specified type has a packed layout, i.e.

it represents a contiguous, bit-sliceable vector: basic bit-vectors, or packed aggregates (hw.array, hw.struct, hw.union) built up entirely out of packed element types.

Definition at line 42 of file SVTypes.cpp.

References isPackedType().

Referenced by isPackedType(), and isValidVarElementTypeImpl().

◆ isValidVarElementTypeImpl()

bool isValidVarElementTypeImpl ( Type type)
static

Definition at line 157 of file SVTypes.cpp.

References isPackedType(), and isValidVarElementTypeImpl().

Referenced by isValidVarElementTypeImpl().

◆ stripUnpackedDimensions()

Type stripUnpackedDimensions ( Type type)
static

Return the innermost non-unpacked element type.

Definition at line 118 of file SVTypes.cpp.

References circt::hw::getCanonicalType().