CIRCT  19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
circt::hw::detail::ModuleTypeStorage Struct Reference

#include <HWTypes.h>

Inheritance diagram for circt::hw::detail::ModuleTypeStorage:
Inheritance graph
[legend]
Collaboration diagram for circt::hw::detail::ModuleTypeStorage:
Collaboration graph
[legend]

Public Types

using KeyTy = ArrayRef< ModulePort >
 

Public Member Functions

 ModuleTypeStorage (ArrayRef< ModulePort > inPorts)
 
bool operator== (const KeyTy &key) const
 Define the comparison function for the key type. More...
 
KeyTy getAsKey () const
 Construct an instance of the key from this storage class. More...
 
ArrayRef< ModulePortgetPorts () const
 

Static Public Member Functions

static llvm::hash_code hashKey (const KeyTy &key)
 Define a hash function for the key type. More...
 
static ModuleTypeStorageconstruct (mlir::TypeStorageAllocator &allocator, const KeyTy &key)
 Define a construction method for creating a new instance of this storage. More...
 

Public Attributes

SmallVector< ModulePortports
 The parametric data held by the storage class. More...
 
SmallVector< size_t > inputToAbs
 
SmallVector< size_t > outputToAbs
 
SmallVector< size_t > absToInput
 
SmallVector< size_t > absToOutput
 

Detailed Description

Definition at line 42 of file HWTypes.h.

Member Typedef Documentation

◆ KeyTy

Definition at line 45 of file HWTypes.h.

Constructor & Destructor Documentation

◆ ModuleTypeStorage()

detail::ModuleTypeStorage::ModuleTypeStorage ( ArrayRef< ModulePort inPorts)

Definition at line 1021 of file HWTypes.cpp.

References absToInput, absToOutput, inputToAbs, Output, outputToAbs, and ports.

Referenced by construct().

Member Function Documentation

◆ construct()

static ModuleTypeStorage* circt::hw::detail::ModuleTypeStorage::construct ( mlir::TypeStorageAllocator &  allocator,
const KeyTy key 
)
inlinestatic

Define a construction method for creating a new instance of this storage.

Definition at line 58 of file HWTypes.h.

References ModuleTypeStorage().

◆ getAsKey()

KeyTy circt::hw::detail::ModuleTypeStorage::getAsKey ( ) const
inline

Construct an instance of the key from this storage class.

Definition at line 64 of file HWTypes.h.

References ports.

◆ getPorts()

ArrayRef<ModulePort> circt::hw::detail::ModuleTypeStorage::getPorts ( ) const
inline

Definition at line 66 of file HWTypes.h.

References ports.

◆ hashKey()

static llvm::hash_code circt::hw::detail::ModuleTypeStorage::hashKey ( const KeyTy key)
inlinestatic

Define a hash function for the key type.

Definition at line 53 of file HWTypes.h.

◆ operator==()

bool circt::hw::detail::ModuleTypeStorage::operator== ( const KeyTy key) const
inline

Define the comparison function for the key type.

Definition at line 48 of file HWTypes.h.

References ports.

Member Data Documentation

◆ absToInput

SmallVector<size_t> circt::hw::detail::ModuleTypeStorage::absToInput

Definition at line 73 of file HWTypes.h.

Referenced by ModuleTypeStorage().

◆ absToOutput

SmallVector<size_t> circt::hw::detail::ModuleTypeStorage::absToOutput

Definition at line 74 of file HWTypes.h.

Referenced by ModuleTypeStorage().

◆ inputToAbs

SmallVector<size_t> circt::hw::detail::ModuleTypeStorage::inputToAbs

Definition at line 71 of file HWTypes.h.

Referenced by ModuleTypeStorage().

◆ outputToAbs

SmallVector<size_t> circt::hw::detail::ModuleTypeStorage::outputToAbs

Definition at line 72 of file HWTypes.h.

Referenced by ModuleTypeStorage().

◆ ports

SmallVector<ModulePort> circt::hw::detail::ModuleTypeStorage::ports

The parametric data held by the storage class.

Definition at line 69 of file HWTypes.h.

Referenced by getAsKey(), getPorts(), ModuleTypeStorage(), and operator==().


The documentation for this struct was generated from the following files: