CIRCT  19.0.0git
Classes | Namespaces | Macros | Functions
HWTypes.h File Reference
#include "circt/Dialect/HW/HWDialect.h"
#include "circt/Dialect/HW/HWTypeInterfaces.h"
#include "circt/Support/LLVM.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Types.h"
#include "circt/Dialect/HW/HWTypes.h.inc"
Include dependency graph for HWTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  circt::hw::ModulePort
 
struct  circt::hw::detail::ModuleTypeStorage
 
struct  circt::hw::detail::FieldInfo
 Struct defining a field. Used in structs. More...
 
struct  circt::hw::detail::OffsetFieldInfo
 Struct defining a field with an offset. Used in unions. More...
 
class  circt::hw::TypeVariant< Types >
 Utility type that wraps a type that may be one of several possible Types. More...
 
class  circt::hw::TypeAliasOr< BaseTy >
 

Namespaces

 circt
 This file defines an intermediate representation for circuits acting as an abstraction for constraints defined over an SMT's solver context.
 
 circt::hw
 
 circt::hw::detail
 

Macros

#define GET_TYPEDEF_CLASSES
 

Functions

static bool circt::hw::operator== (const ModulePort &a, const ModulePort &b)
 
static llvm::hash_code circt::hw::hash_value (const ModulePort &port)
 
ModuleType circt::hw::detail::fnToMod (Operation *op, ArrayRef< Attribute > inputNames, ArrayRef< Attribute > outputNames)
 
ModuleType circt::hw::detail::fnToMod (FunctionType fn, ArrayRef< Attribute > inputNames, ArrayRef< Attribute > outputNames)
 
mlir::Type circt::hw::getCanonicalType (mlir::Type type)
 
bool circt::hw::isHWIntegerType (mlir::Type type)
 Return true if the specified type is a value HW Integer type. More...
 
bool circt::hw::isHWEnumType (mlir::Type type)
 Return true if the specified type is a HW Enum type. More...
 
bool circt::hw::isHWValueType (mlir::Type type)
 Return true if the specified type can be used as an HW value type, that is the set of types that can be composed together to represent synthesized, hardware but not marker types like InOutType or unknown types from other dialects. More...
 
int64_t circt::hw::getBitWidth (mlir::Type type)
 Return the hardware bit width of a type. More...
 
bool circt::hw::hasHWInOutType (mlir::Type type)
 Return true if the specified type contains known marker types like InOutType. More...
 
template<typename... BaseTy>
bool circt::hw::type_isa (Type type)
 
template<typename... BaseTy>
bool circt::hw::type_isa_and_nonnull (Type type)
 
template<typename BaseTy >
BaseTy circt::hw::type_cast (Type type)
 
template<typename BaseTy >
BaseTy circt::hw::type_dyn_cast (Type type)
 

Macro Definition Documentation

◆ GET_TYPEDEF_CLASSES

#define GET_TYPEDEF_CLASSES

Definition at line 106 of file HWTypes.h.