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. | |
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 circt::hw::ModulePort::InOut, circt::hw::ModulePort::Input, circt::hw::ModulePort::Output, and ports.
Referenced by getInputs(), getInputs(), getOutputs(), and getOutputs().
|
inline |
Definition at line 99 of file PortImplementation.h.
References circt::hw::ModulePort::InOut, circt::hw::ModulePort::Input, circt::hw::ModulePort::Output, and ports.
|
inline |
Definition at line 136 of file PortImplementation.h.
References ports.
Referenced by atInput(), atInput(), and eraseInput().
|
inline |
Definition at line 146 of file PortImplementation.h.
References ports.
Referenced by atOutput(), and atOutput().
|
inlineprivate |
Definition at line 175 of file PortImplementation.h.
References circt::hw::ModulePort::InOut, and ports.
Referenced by ModulePortInfo(), and 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(), at(), atInput(), atInput(), atOutput(), atOutput(), begin(), begin(), end(), end(), eraseInput(), getPortsOfDirection(), getPortsOfDirection(), ModulePortInfo(), portNumForInput(), portNumForOutput(), sanitizeInOut(), and size().