CIRCT  20.0.0git
Namespaces | Typedefs | Functions
HWInstanceImplementation.h File Reference
#include "circt/Dialect/HW/PortImplementation.h"
#include "circt/Support/LLVM.h"
#include <functional>
Include dependency graph for HWInstanceImplementation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

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

Typedefs

using circt::hw::instance_like_impl::EmitErrorFn = std::function< void(std::function< bool(InFlightDiagnostic &)>)>
 Whenever the nested function returns true, a note referring to the referenced module is attached to the error. More...
 

Functions

LogicalResult circt::hw::instance_like_impl::verifyReferencedModule (Operation *instanceOp, SymbolTableCollection &symbolTable, mlir::FlatSymbolRefAttr moduleName, Operation *&module)
 Verify that the instance refers to a valid HW module. More...
 
LogicalResult circt::hw::instance_like_impl::resolveParametricTypes (Location loc, ArrayAttr parameters, ArrayRef< Type > types, SmallVectorImpl< Type > &resolvedTypes, const EmitErrorFn &emitError)
 Stores a resolved version of each type in. More...
 
LogicalResult circt::hw::instance_like_impl::verifyInputs (ArrayAttr argNames, ArrayAttr moduleArgNames, TypeRange inputTypes, ArrayRef< Type > moduleInputTypes, const EmitErrorFn &emitError)
 Verify that the list of inputs of the instance and the module match in terms of length, names, and types. More...
 
LogicalResult circt::hw::instance_like_impl::verifyOutputs (ArrayAttr resultNames, ArrayAttr moduleResultNames, TypeRange resultTypes, ArrayRef< Type > moduleResultTypes, const EmitErrorFn &emitError)
 Verify that the list of outputs of the instance and the module match in terms of length, names, and types. More...
 
LogicalResult circt::hw::instance_like_impl::verifyParameters (ArrayAttr parameters, ArrayAttr moduleParameters, const EmitErrorFn &emitError)
 Verify that the parameter lists of the instance and the module match in terms of length, names, and types. More...
 
LogicalResult circt::hw::instance_like_impl::verifyInstanceOfHWModule (Operation *instance, FlatSymbolRefAttr moduleRef, OperandRange inputs, TypeRange results, ArrayAttr argNames, ArrayAttr resultNames, ArrayAttr parameters, SymbolTableCollection &symbolTable)
 Combines verifyReferencedModule, verifyInputs, verifyOutputs, and verifyParameters. More...
 
LogicalResult circt::hw::instance_like_impl::verifyParameterStructure (ArrayAttr parameters, ArrayAttr moduleParameters, const EmitErrorFn &emitError)
 Check that all the parameter values specified to the instance are structurally valid. More...
 
StringAttr circt::hw::instance_like_impl::getName (ArrayAttr names, size_t idx)
 Return the name at the specified index of the ArrayAttr or null if it cannot be determined. More...
 
ArrayAttr circt::hw::instance_like_impl::updateName (ArrayAttr oldNames, size_t i, StringAttr name)
 Change the name at the specified index of the. More...
 
void circt::hw::instance_like_impl::getAsmResultNames (OpAsmSetValueNameFn setNameFn, StringRef instanceName, ArrayAttr resultNames, ValueRange results)
 Suggest a name for each result value based on the saved result names attribute. More...
 
SmallVector< PortInfocirct::hw::instance_like_impl::getPortList (Operation *instanceOp)
 Return the port list of an instance, based on the name, type and location attributes present on the instance. More...