CIRCT
20.0.0git
|
#include "circt/Dialect/FIRRTL/FIRRTLOps.h"
#include "circt/Dialect/FIRRTL/AnnotationDetails.h"
#include "circt/Dialect/FIRRTL/CHIRRTLDialect.h"
#include "circt/Dialect/FIRRTL/FIRRTLAnnotations.h"
#include "circt/Dialect/FIRRTL/FIRRTLAttributes.h"
#include "circt/Dialect/FIRRTL/FIRRTLInstanceImplementation.h"
#include "circt/Dialect/FIRRTL/FIRRTLTypes.h"
#include "circt/Dialect/FIRRTL/FIRRTLUtils.h"
#include "circt/Dialect/FIRRTL/FIRRTLVisitors.h"
#include "circt/Dialect/FIRRTL/FieldRefCache.h"
#include "circt/Dialect/HW/HWAttributes.h"
#include "circt/Dialect/HW/HWTypes.h"
#include "circt/Support/CustomDirectiveImpl.h"
#include "circt/Support/Utils.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/Interfaces/FunctionImplementation.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/FormatVariadic.h"
#include "circt/Dialect/FIRRTL/FIRRTL.cpp.inc"
Go to the source code of this file.
Macros | |
#define | GET_OP_CLASSES |
Typedefs | |
using | LayerSet = SmallSet< SymbolRefAttr, 4, CompareSymbolRefAttr > |
Functions | |
template<typename T > | |
static SmallVector< T > | removeElementsAtIndices (ArrayRef< T > input, const llvm::BitVector &indicesToDrop) |
Remove elements from the input array corresponding to set bits in indicesToDrop , returning the elements not mentioned. More... | |
template<typename RetTy = FIRRTLType, typename... Args> | |
static RetTy | emitInferRetTypeError (std::optional< Location > loc, const Twine &message, Args &&...args) |
Emit an error if optional location is non-null, return null of return type. More... | |
static MemOp::PortKind | getMemPortKindFromType (FIRRTLType type) |
Return the kind of port this is given the port type from a 'mem' decl. More... | |
const char * | toString (Flow flow) |
void | getAsmBlockArgumentNamesImpl (Operation *op, mlir::Region ®ion, OpAsmSetValueNameFn setNameFn) |
Get a special name to use when printing the entry block arguments of the region contained by an operation in this dialect. More... | |
static ParseResult | parseNameKind (OpAsmParser &parser, firrtl::NameKindEnumAttr &result) |
A forward declaration for NameKind attribute parser. More... | |
static LayerSet | getAmbientLayersAt (Operation *op) |
Get the ambient layers active at the given op. More... | |
static LayerSet | getAmbientLayersFor (Value value) |
Get the ambient layer requirements at the definition site of the value. More... | |
static LayerSet | getLayersFor (Value value) |
Get the effective layer requirements for the given value. More... | |
static bool | isLayerCompatibleWith (mlir::SymbolRefAttr srcLayer, mlir::SymbolRefAttr dstLayer) |
Check that the source layer is compatible with the destination layer. More... | |
static bool | isLayerCompatibleWith (SymbolRefAttr srcLayer, const LayerSet &dstLayers) |
Check that the source layer is present in the destination layers. More... | |
static bool | isLayerSetCompatibleWith (const LayerSet &src, const LayerSet &dst, SmallVectorImpl< SymbolRefAttr > &missing) |
Check that the source layers are all present in the destination layers. More... | |
static ParseResult | parseCircuitOpAttrs (OpAsmParser &parser, NamedAttrList &resultAttrs) |
static void | printCircuitOpAttrs (OpAsmPrinter &p, Operation *op, DictionaryAttr attr) |
static SmallVector< PortInfo > | getPortImpl (FModuleLike module) |
static hw::ModulePort::Direction | dirFtoH (Direction dir) |
static SmallVector< hw::PortInfo > | getPortListImpl (FModuleLike module) |
static hw::PortInfo | getPortImpl (FModuleLike module, size_t idx) |
static void | insertPorts (FModuleLike op, ArrayRef< std::pair< unsigned, PortInfo >> ports, bool supportsInternalPaths=false) |
Inserts the given ports. More... | |
static void | erasePorts (FModuleLike op, const llvm::BitVector &portIndices) |
Erases the ports that have their corresponding bit set in portIndices . More... | |
template<typename T > | |
static void | eraseInternalPaths (T op, const llvm::BitVector &portIndices) |
static void | buildModuleLike (OpBuilder &builder, OperationState &result, StringAttr name, ArrayRef< PortInfo > ports, ArrayAttr annotations, ArrayAttr layers, bool withAnnotations, bool withLayers) |
static void | buildModule (OpBuilder &builder, OperationState &result, StringAttr name, ArrayRef< PortInfo > ports, ArrayAttr annotations, ArrayAttr layers) |
static void | buildClass (OpBuilder &builder, OperationState &result, StringAttr name, ArrayRef< PortInfo > ports) |
static bool | printModulePorts (OpAsmPrinter &p, Block *block, ArrayRef< bool > portDirections, ArrayRef< Attribute > portNames, ArrayRef< Attribute > portTypes, ArrayRef< Attribute > portAnnotations, ArrayRef< Attribute > portSyms, ArrayRef< Attribute > portLocs) |
Print a list of module ports in the following form: in x: !firrtl.uint<1> [{class = "DontTouch}], out "_port": !firrtl.uint<2> More... | |
static ParseResult | parseModulePorts (OpAsmParser &parser, bool hasSSAIdentifiers, bool supportsSymbols, SmallVectorImpl< OpAsmParser::Argument > &entryArgs, SmallVectorImpl< Direction > &portDirections, SmallVectorImpl< Attribute > &portNames, SmallVectorImpl< Attribute > &portTypes, SmallVectorImpl< Attribute > &portAnnotations, SmallVectorImpl< Attribute > &portSyms, SmallVectorImpl< Attribute > &portLocs) |
Parse a list of module ports. More... | |
static void | printParameterList (OpAsmPrinter &p, Operation *op, ArrayAttr parameters) |
Print a paramter list for a module or instance. More... | |
static void | printFModuleLikeOp (OpAsmPrinter &p, FModuleLike op) |
static ParseResult | parseOptionalParameters (OpAsmParser &parser, SmallVectorImpl< Attribute > ¶meters) |
Parse an parameter list if present. More... | |
static ParseResult | parseParameterList (OpAsmParser &parser, ArrayAttr ¶meters) |
Shim to use with assemblyFormat, custom<ParameterList>. More... | |
static ParseResult | parseFModuleLikeOp (OpAsmParser &parser, OperationState &result, bool hasSSAIdentifiers) |
static LogicalResult | verifyInternalPaths (FModuleLike op, std::optional<::mlir::ArrayAttr > internalPaths) |
static LogicalResult | verifyProbeType (RefType refType, Location loc, CircuitOp circuitOp, SymbolTableCollection &symbolTable, Twine start) |
static LogicalResult | verifyPortSymbolUses (FModuleLike module, SymbolTableCollection &symbolTable) |
static ParseResult | parseClassLike (OpAsmParser &parser, OperationState &result, bool hasSSAIdentifiers) |
static void | printClassLike (OpAsmPrinter &p, ClassLike op) |
static size_t | getAddressWidth (size_t depth) |
static void | forceableAsmResultNames (Forceable op, StringRef name, OpAsmSetValueNameFn setNameFn) |
Helper for naming forceable declarations (and their optional ref result). More... | |
static LogicalResult | checkConnectFlow (Operation *connect) |
Check if the source and sink are of appropriate flow. More... | |
static bool | isConstFieldDriven (FIRRTLBaseType type, bool isFlip=false, bool outerTypeIsConst=false) |
Checks if the type has any 'const' leaf elements . More... | |
static LogicalResult | checkConnectConditionality (FConnectLike connect) |
Checks that connections to 'const' destinations are not dependent on non-'const' conditions in when blocks. More... | |
static Attribute | maybeGetAttr (ArrayRef< NamedAttribute > attrs, StringRef name) |
Get an attribute by name from a list of named attributes. More... | |
static Attribute | getAttr (ArrayRef< NamedAttribute > attrs, StringRef name) |
Get an attribute by name from a list of named attributes. More... | |
static bool | checkAggConstant (Operation *op, Attribute attr, FIRRTLBaseType type) |
template<typename OpTy > | |
ParseResult | parseSubfieldLikeOp (OpAsmParser &parser, OperationState &result) |
template<typename OpTy > | |
static void | printSubfieldLikeOp (OpTy op, ::mlir::OpAsmPrinter &printer) |
template<typename OpTy > | |
static LogicalResult | verifySubfieldLike (OpTy op) |
static bool | isSameIntTypeKind (Type lhs, Type rhs, int32_t &lhsWidth, int32_t &rhsWidth, bool &isConstResult, std::optional< Location > loc) |
If LHS and RHS are both UInt or SInt types, the return true and fill in the width of them if known. More... | |
static FIRRTLBaseType | inferMuxReturnType (FIRRTLBaseType high, FIRRTLBaseType low, bool isConstCondition, std::optional< Location > loc) |
Infer the result type for a multiplexer given its two operand types, which may be aggregates. More... | |
static bool | isTypeAllowedForDPI (Operation *op, Type type) |
static ParseResult | parseElideAnnotations (OpAsmParser &parser, NamedAttrList &resultAttrs) |
Parse an optional attribute dictionary, adding an empty 'annotations' attribute if not specified. More... | |
static void | printElideAnnotations (OpAsmPrinter &p, Operation *op, DictionaryAttr attr, ArrayRef< StringRef > extraElides={}) |
static ParseResult | parseElidePortAnnotations (OpAsmParser &parser, NamedAttrList &resultAttrs) |
Parse an optional attribute dictionary, adding empty 'annotations' and 'portAnnotations' attributes if not specified. More... | |
static void | printElidePortAnnotations (OpAsmPrinter &p, Operation *op, DictionaryAttr attr, ArrayRef< StringRef > extraElides={}) |
static void | printNameKind (OpAsmPrinter &p, Operation *op, firrtl::NameKindEnumAttr attr, ArrayRef< StringRef > extraElides={}) |
static ParseResult | parseFIRRTLImplicitSSAName (OpAsmParser &parser, NamedAttrList &resultAttrs) |
static void | printFIRRTLImplicitSSAName (OpAsmPrinter &p, Operation *op, DictionaryAttr attrs) |
static ParseResult | parseMemOp (OpAsmParser &parser, NamedAttrList &resultAttrs) |
static void | printMemOp (OpAsmPrinter &p, Operation *op, DictionaryAttr attr) |
Always elide "ruw" and elide "annotations" if it exists or if it is empty. More... | |
static ParseResult | parseClassInterface (OpAsmParser &parser, Type &result) |
static void | printClassInterface (OpAsmPrinter &p, Operation *, ClassType type) |
static ParseResult | parseElideEmptyName (OpAsmParser &p, NamedAttrList &resultAttrs) |
static void | printElideEmptyName (OpAsmPrinter &p, Operation *op, DictionaryAttr attr, ArrayRef< StringRef > extraElides={}) |
static ParseResult | parsePrintfAttrs (OpAsmParser &p, NamedAttrList &resultAttrs) |
static void | printPrintfAttrs (OpAsmPrinter &p, Operation *op, DictionaryAttr attr) |
static ParseResult | parseStopAttrs (OpAsmParser &p, NamedAttrList &resultAttrs) |
static void | printStopAttrs (OpAsmPrinter &p, Operation *op, DictionaryAttr attr) |
static ParseResult | parseVerifAttrs (OpAsmParser &p, NamedAttrList &resultAttrs) |
static void | printVerifAttrs (OpAsmPrinter &p, Operation *op, DictionaryAttr attr) |
static void | genericAsmResultNames (Operation *op, OpAsmSetValueNameFn setNameFn) |
#define GET_OP_CLASSES |
Definition at line 6419 of file FIRRTLOps.cpp.
Definition at line 382 of file FIRRTLOps.cpp.
|
static |
Definition at line 1041 of file FIRRTLOps.cpp.
References buildModuleLike().
|
static |
Definition at line 1034 of file FIRRTLOps.cpp.
References buildModuleLike().
|
static |
Definition at line 977 of file FIRRTLOps.cpp.
References circt::calyx::direction::get(), and circt::calyx::direction::packAttribute().
Referenced by buildClass(), and buildModule().
|
static |
Definition at line 4195 of file FIRRTLOps.cpp.
|
static |
Checks that connections to 'const' destinations are not dependent on non-'const' conditions in when blocks.
Looks up the value's defining op until the defining op is null or a declaration of the value. If a SubAccessOp is encountered with a 'const' input, originalFieldType
is made 'const'.
Definition at line 3570 of file FIRRTLOps.cpp.
References Python.support::connect(), and isConstFieldDriven().
|
static |
Check if the source and sink are of appropriate flow.
Definition at line 3506 of file FIRRTLOps.cpp.
References Python.support::connect(), circt::firrtl::foldFlow(), circt::firrtl::getDeclarationKind(), circt::firrtl::getFieldName(), circt::firrtl::getFieldRefFromValue(), circt::firrtl::Instance, circt::firrtl::isValidDst(), circt::firrtl::isValidSrc(), circt::firrtl::Port, and toString().
|
static |
Definition at line 685 of file FIRRTLOps.cpp.
References assert(), circt::firrtl::In, Input, circt::firrtl::Out, and Output.
Referenced by getPortImpl(), and getPortListImpl().
|
static |
Emit an error if optional location is non-null, return null of return type.
Definition at line 95 of file FIRRTLOps.cpp.
|
static |
Definition at line 906 of file FIRRTLOps.cpp.
References empty, circt::calyx::direction::get(), and removeElementsAtIndices().
|
static |
Erases the ports that have their corresponding bit set in portIndices
.
Definition at line 866 of file FIRRTLOps.cpp.
References assert(), circt::calyx::direction::get(), circt::calyx::direction::packAttribute(), and removeElementsAtIndices().
|
static |
Helper for naming forceable declarations (and their optional ref result).
Definition at line 3314 of file FIRRTLOps.cpp.
|
static |
Definition at line 5902 of file FIRRTLOps.cpp.
|
static |
Definition at line 3061 of file FIRRTLOps.cpp.
|
static |
Get the ambient layers active at the given op.
Definition at line 385 of file FIRRTLOps.cpp.
Referenced by getAmbientLayersFor().
|
static |
Get the ambient layer requirements at the definition site of the value.
Definition at line 404 of file FIRRTLOps.cpp.
References getAmbientLayersAt(), and circt::firrtl::getFieldRefFromValue().
Referenced by getLayersFor().
void getAsmBlockArgumentNamesImpl | ( | Operation * | op, |
mlir::Region & | region, | ||
OpAsmSetValueNameFn | setNameFn | ||
) |
Get a special name to use when printing the entry block arguments of the region contained by an operation in this dialect.
Definition at line 328 of file FIRRTLOps.cpp.
|
static |
Get an attribute by name from a list of named attributes.
Same as above, but casts the attribute to a specific type.
Aborts if the attribute does not exist.
Definition at line 3981 of file FIRRTLOps.cpp.
References maybeGetAttr().
Referenced by omClassTypeGetName(), omEvaluatorValueGetPrimitive(), and StructuralHasher::update().
|
static |
Get the effective layer requirements for the given value.
The effective layers for a value is the union of
Definition at line 412 of file FIRRTLOps.cpp.
References getAmbientLayersFor().
|
static |
Return the kind of port this is given the port type from a 'mem' decl.
Definition at line 143 of file FIRRTLOps.cpp.
References circt::firrtl::addr, circt::firrtl::clk, circt::firrtl::data, circt::firrtl::en, circt::firrtl::mask, circt::firrtl::rdata, circt::firrtl::wdata, circt::firrtl::wmask, and circt::firrtl::wmode.
|
static |
Definition at line 666 of file FIRRTLOps.cpp.
References circt::firrtl::AnnotationSet::forPort().
|
static |
Definition at line 730 of file FIRRTLOps.cpp.
References dirFtoH(), and circt::calyx::direction::get().
|
static |
Definition at line 694 of file FIRRTLOps.cpp.
References dirFtoH(), circt::calyx::direction::get(), and circt::firrtl::getNumPorts().
|
static |
Infer the result type for a multiplexer given its two operand types, which may be aggregates.
This essentially performs a pairwise comparison of fields and elements, as follows:
Definition at line 5329 of file FIRRTLOps.cpp.
References circt::calyx::direction::get(), circt::firrtl::FIRRTLBaseType::getAllConstDroppedType(), circt::firrtl::FIRRTLBaseType::getBitWidthOrSentinel(), circt::firrtl::FIRRTLBaseType::getConstType(), circt::firrtl::FIRRTLBaseType::isConst(), and numElements.
|
static |
Inserts the given ports.
The insertion indices are expected to be in order. Insertion occurs in-order, such that ports with the same insertion index appear in the module in the same order they appeared in the list.
Definition at line 767 of file FIRRTLOps.cpp.
References assert(), empty, circt::calyx::direction::get(), circt::calyx::direction::packAttribute(), and circt::firrtl::direction::unGet().
|
static |
Checks if the type has any 'const' leaf elements .
If isFlip
is true
, the const
leaf is not considered to be driven.
Definition at line 3546 of file FIRRTLOps.cpp.
References circt::firrtl::FIRRTLBaseType::isConst(), and circt::firrtl::FIRRTLBaseType::isPassive().
Referenced by checkConnectConditionality().
|
static |
Check that the source layer is compatible with the destination layer.
Either the source and destination are identical, or the source-layer is a parent of the destination. For example A
is compatible with A.B.C
, because any definition valid in A
is also valid in A.B.C
.
Definition at line 424 of file FIRRTLOps.cpp.
Referenced by isLayerCompatibleWith(), and isLayerSetCompatibleWith().
|
static |
Check that the source layer is present in the destination layers.
Definition at line 448 of file FIRRTLOps.cpp.
References isLayerCompatibleWith().
|
static |
Check that the source layers are all present in the destination layers.
True if all source layers are present in the destination. Outputs the set of source layers that are missing in the destination.
Definition at line 464 of file FIRRTLOps.cpp.
References isLayerCompatibleWith().
|
static |
If LHS and RHS are both UInt or SInt types, the return true and fill in the width of them if known.
If unknown, return -1 for the widths. The constness of the result is also returned, where if both lhs and rhs are const, then the result is const.
On failure, this reports and error and returns false. This function should not be used if you don't want an error reported.
Definition at line 4919 of file FIRRTLOps.cpp.
|
static |
Definition at line 5580 of file FIRRTLOps.cpp.
References circt::firrtl::WidthQualifiedTypeTrait< ConcreteType >::getWidth(), and width.
|
static |
Get an attribute by name from a list of named attributes.
Return null if no attribute is found with that name.
Definition at line 3972 of file FIRRTLOps.cpp.
Referenced by getAttr().
|
static |
Definition at line 493 of file FIRRTLOps.cpp.
|
static |
Definition at line 5835 of file FIRRTLOps.cpp.
|
static |
Definition at line 1843 of file FIRRTLOps.cpp.
References assert(), circt::calyx::direction::get(), circt::calyx::direction::packAttribute(), and parseModulePorts().
|
static |
Parse an optional attribute dictionary, adding an empty 'annotations' attribute if not specified.
Definition at line 5719 of file FIRRTLOps.cpp.
Referenced by parseElidePortAnnotations(), and parseFIRRTLImplicitSSAName().
|
static |
Definition at line 5851 of file FIRRTLOps.cpp.
Referenced by parsePrintfAttrs(), parseStopAttrs(), and parseVerifAttrs().
|
static |
Parse an optional attribute dictionary, adding empty 'annotations' and 'portAnnotations' attributes if not specified.
Definition at line 5743 of file FIRRTLOps.cpp.
References parseElideAnnotations().
Referenced by parseMemOp().
|
static |
Definition at line 5800 of file FIRRTLOps.cpp.
References circt::inferImplicitSSAName(), and parseElideAnnotations().
|
static |
Definition at line 1436 of file FIRRTLOps.cpp.
|
static |
Definition at line 5821 of file FIRRTLOps.cpp.
References parseElidePortAnnotations().
|
static |
Parse a list of module ports.
If port names are SSA identifiers, then this will populate entryArgs
.
Definition at line 1206 of file FIRRTLOps.cpp.
References assert(), circt::calyx::direction::get(), circt::hw::InnerSymbolTable::getInnerSymbolAttrName(), and isdigit.
Referenced by parseClassLike().
|
static |
A forward declaration for NameKind
attribute parser.
Definition at line 5772 of file FIRRTLOps.cpp.
References circt::calyx::direction::get().
|
static |
Parse an parameter list if present.
module-parameter-list ::= <
parameter-decl (,
parameter-decl)* >
parameter-decl ::= identifier :
type parameter-decl ::= identifier :
type =
attribute
Definition at line 1399 of file FIRRTLOps.cpp.
|
static |
Shim to use with assemblyFormat, custom<ParameterList>.
Definition at line 1425 of file FIRRTLOps.cpp.
|
static |
Definition at line 5870 of file FIRRTLOps.cpp.
References parseElideEmptyName().
|
static |
Definition at line 5880 of file FIRRTLOps.cpp.
References parseElideEmptyName().
ParseResult parseSubfieldLikeOp | ( | OpAsmParser & | parser, |
OperationState & | result | ||
) |
Definition at line 4481 of file FIRRTLOps.cpp.
References circt::calyx::direction::get(), and circt::firrtl::impl::inferReturnTypes().
|
static |
Definition at line 5889 of file FIRRTLOps.cpp.
References parseElideEmptyName().
|
static |
Definition at line 502 of file FIRRTLOps.cpp.
|
static |
Definition at line 5843 of file FIRRTLOps.cpp.
|
static |
Definition at line 1924 of file FIRRTLOps.cpp.
References printModulePorts().
|
static |
Definition at line 5728 of file FIRRTLOps.cpp.
Referenced by printFIRRTLImplicitSSAName().
|
static |
Definition at line 5860 of file FIRRTLOps.cpp.
Referenced by printPrintfAttrs(), printStopAttrs(), and printVerifAttrs().
|
static |
Definition at line 5757 of file FIRRTLOps.cpp.
Referenced by printMemOp().
|
static |
Definition at line 5808 of file FIRRTLOps.cpp.
References circt::elideImplicitSSAName(), circt::hw::InnerSymbolTable::getInnerSymbolAttrName(), and printElideAnnotations().
|
static |
Definition at line 1325 of file FIRRTLOps.cpp.
|
static |
Always elide "ruw" and elide "annotations" if it exists or if it is empty.
Definition at line 5826 of file FIRRTLOps.cpp.
References printElidePortAnnotations().
|
static |
Print a list of module ports in the following form: in x: !firrtl.uint<1> [{class = "DontTouch}], out "_port": !firrtl.uint<2>
When there is no block specified, the port names print as MLIR identifiers, wrapping in quotes if not legal to print as-is. When there is no block specified, this function always return false, indicating that there was no issue printing port names.
If there is a block specified, then port names will be printed as SSA values. If there is a reason the printed SSA values can't match the true port name, then this function will return true. When this happens, the caller should print the port names as a part of the attr-dict
.
Definition at line 1132 of file FIRRTLOps.cpp.
References empty, and circt::calyx::direction::get().
Referenced by printClassLike().
|
static |
Definition at line 5789 of file FIRRTLOps.cpp.
|
static |
Print a paramter list for a module or instance.
Definition at line 1308 of file FIRRTLOps.cpp.
|
static |
Definition at line 5875 of file FIRRTLOps.cpp.
References printElideEmptyName().
|
static |
Definition at line 5884 of file FIRRTLOps.cpp.
References printElideEmptyName().
|
static |
Definition at line 4571 of file FIRRTLOps.cpp.
|
static |
Definition at line 5893 of file FIRRTLOps.cpp.
References printElideEmptyName().
|
static |
Remove elements from the input array corresponding to set bits in indicesToDrop
, returning the elements not mentioned.
Definition at line 56 of file FIRRTLOps.cpp.
References assert().
Referenced by eraseInternalPaths(), and erasePorts().
const char* toString | ( | Flow | flow | ) |
Definition at line 197 of file FIRRTLOps.cpp.
References circt::firrtl::Duplex, circt::firrtl::None, circt::firrtl::Sink, and circt::firrtl::Source.
Referenced by checkConnectFlow(), circt::ImportVerilog::Context::convertModuleHeader(), handleRoot(), and circt::firrtl::detail::verifyTypeAgainstClassLike().
|
static |
Definition at line 1588 of file FIRRTLOps.cpp.
|
static |
Definition at line 1683 of file FIRRTLOps.cpp.
References verifyProbeType().
|
static |
Definition at line 1662 of file FIRRTLOps.cpp.
Referenced by verifyPortSymbolUses().
|
static |
Definition at line 4598 of file FIRRTLOps.cpp.