CIRCT 23.0.0git
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
HWTypes.h File Reference
#include "circt/Dialect/HW/HWDialect.h"
#include "circt/Dialect/HW/HWTypeInterfaces.h"
#include "mlir/Interfaces/MemorySlotInterfaces.h"
#include "circt/Support/LLVM.h"
#include "mlir/IR/AttrTypeSubElements.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Types.h"
#include "circt/Dialect/HW/HWTypes.h.inc"
Include dependency graph for HWTypes.h:

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...
 
struct  mlir::AttrTypeSubElementHandler< circt::hw::detail::FieldInfo >
 Expose the field names and types of struct and union types to the generic attribute and type walking and replacement infrastructure. More...
 
struct  mlir::AttrTypeSubElementHandler< circt::hw::detail::OffsetFieldInfo >
 
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

namespace  circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 
namespace  circt::hw
 
namespace  circt::hw::detail
 
namespace  mlir
 

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.
 
bool circt::hw::isHWEnumType (mlir::Type type)
 Return true if the specified type is a HW Enum type.
 
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.
 
int64_t circt::hw::getBitWidth (mlir::Type type)
 Return the hardware bit width of a type.
 
bool circt::hw::hasHWInOutType (mlir::Type type)
 Return true if the specified type contains known marker types like InOutType.
 
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 146 of file HWTypes.h.