CIRCT
20.0.0git
|
This holds a decoded list of input/inout and output ports for a module or instance. More...
#include <PortImplementation.h>
Public Types | |
using | iterator = SmallVector< PortInfo >::iterator |
using | const_iterator = SmallVector< PortInfo >::const_iterator |
using | PortDirectionRange = llvm::iterator_range< llvm::filter_iterator< iterator, std::function< bool(const PortInfo &)> >> |
using | ConstPortDirectionRange = llvm::iterator_range< llvm::filter_iterator< const_iterator, std::function< bool(const PortInfo &)> >> |
Public Member Functions | |
ModulePortInfo (ArrayRef< PortInfo > inputs, ArrayRef< PortInfo > outputs) | |
ModulePortInfo (ArrayRef< PortInfo > mergedPorts) | |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
PortDirectionRange | getPortsOfDirection (bool input) |
ConstPortDirectionRange | getPortsOfDirection (bool input) const |
PortDirectionRange | getInputs () |
PortDirectionRange | getOutputs () |
ConstPortDirectionRange | getInputs () const |
ConstPortDirectionRange | getOutputs () const |
size_t | size () const |
size_t | sizeInputs () const |
size_t | sizeOutputs () const |
size_t | portNumForInput (size_t idx) const |
size_t | portNumForOutput (size_t idx) const |
PortInfo & | at (size_t idx) |
PortInfo & | atInput (size_t idx) |
PortInfo & | atOutput (size_t idx) |
const PortInfo & | at (size_t idx) const |
const PortInfo & | atInput (size_t idx) const |
const PortInfo & | atOutput (size_t idx) const |
void | eraseInput (size_t idx) |
Private Member Functions | |
void | sanitizeInOut () |
Private Attributes | |
SmallVector< PortInfo > | ports |
This contains a list of all ports. Input first. More... | |
This holds a decoded list of input/inout and output ports for a module or instance.
Definition at line 57 of file PortImplementation.h.
using circt::hw::ModulePortInfo::const_iterator = SmallVector<PortInfo>::const_iterator |
Definition at line 71 of file PortImplementation.h.
using circt::hw::ModulePortInfo::ConstPortDirectionRange = llvm::iterator_range<llvm::filter_iterator< const_iterator, std::function<bool(const PortInfo &)> >> |
Definition at line 81 of file PortImplementation.h.
using circt::hw::ModulePortInfo::iterator = SmallVector<PortInfo>::iterator |
Definition at line 70 of file PortImplementation.h.
using circt::hw::ModulePortInfo::PortDirectionRange = llvm::iterator_range< llvm::filter_iterator<iterator, std::function<bool(const PortInfo &)> >> |
Definition at line 78 of file PortImplementation.h.
|
inlineexplicit |
Definition at line 58 of file PortImplementation.h.
References ports, and sanitizeInOut().
|
inlineexplicit |
Definition at line 65 of file PortImplementation.h.
References sanitizeInOut().
|
inline |
Definition at line 156 of file PortImplementation.h.
References ports.
Referenced by circt::hw::HWModulePortAccessor::HWModulePortAccessor().
|
inline |
Definition at line 160 of file PortImplementation.h.
References ports.
|
inline |
Definition at line 157 of file PortImplementation.h.
References portNumForInput(), and ports.
Referenced by circt::msft::getValueName().
|
inline |
Definition at line 161 of file PortImplementation.h.
References portNumForInput(), and ports.
|
inline |
Definition at line 158 of file PortImplementation.h.
References portNumForOutput(), and ports.
|
inline |
Definition at line 164 of file PortImplementation.h.
References portNumForOutput(), and ports.
|
inline |
Definition at line 73 of file PortImplementation.h.
References ports.
|
inline |
Definition at line 75 of file PortImplementation.h.
References ports.
|
inline |
Definition at line 74 of file PortImplementation.h.
References ports.
|
inline |
Definition at line 76 of file PortImplementation.h.
References ports.
|
inline |
Definition at line 168 of file PortImplementation.h.
References assert(), portNumForInput(), ports, and sizeInputs().
Referenced by convertExtMemoryOps().
|
inline |
Definition at line 114 of file PortImplementation.h.
References getPortsOfDirection().
Referenced by llvm::DOTGraphTraits< circt::hw::HWModuleOp >::addCustomGraphFeatures(), convertExtMemoryOps(), circt::hw::ModulePortLookupInfo::ModulePortLookupInfo(), and sizeInputs().
|
inline |
Definition at line 118 of file PortImplementation.h.
References getPortsOfDirection().
|
inline |
Definition at line 116 of file PortImplementation.h.
References getPortsOfDirection().
Referenced by convertExtMemoryOps(), circt::hw::HWModulePortAccessor::HWModulePortAccessor(), circt::hw::ModulePortLookupInfo::ModulePortLookupInfo(), sizeOutputs(), and circt::hw::PortConverterImpl::updateInstance().
|
inline |
Definition at line 122 of file PortImplementation.h.
References getPortsOfDirection().
|
inline |
Definition at line 84 of file PortImplementation.h.
References InOut, Input, Output, and ports.
Referenced by getInputs(), and getOutputs().
|
inline |
|
inline |
Definition at line 136 of file PortImplementation.h.
References ports.
Referenced by atInput(), and eraseInput().
|
inline |
|
inlineprivate |
Definition at line 175 of file PortImplementation.h.
Referenced by ModulePortInfo().
|
inline |
Definition at line 126 of file PortImplementation.h.
References ports.
Referenced by esiaccel.types.ArrayType::bit_width(), esiaccel.types.ArrayType::deserialize(), and esiaccel.types.ArrayType::is_valid().
|
inline |
Definition at line 127 of file PortImplementation.h.
References getInputs().
Referenced by eraseInput(), circt::hw::HWModulePortAccessor::HWModulePortAccessor(), circt::hw::PortConverterImpl::run(), and circt::hw::PortConverterImpl::updateInstance().
|
inline |
Definition at line 131 of file PortImplementation.h.
References getOutputs().
Referenced by circt::hw::HWModulePortAccessor::HWModulePortAccessor(), and circt::hw::PortConverterImpl::run().
|
private |
This contains a list of all ports. Input first.
Definition at line 184 of file PortImplementation.h.
Referenced by at(), atInput(), atOutput(), begin(), end(), eraseInput(), getPortsOfDirection(), ModulePortInfo(), portNumForInput(), portNumForOutput(), sanitizeInOut(), and size().