CIRCT 24.0.0git
Loading...
Searching...
No Matches
ModuleImplementation.cpp File Reference
#include "circt/Dialect/HW/ModuleImplementation.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Support/LLVM.h"
#include "circt/Support/ParsingUtils.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/Interfaces/FunctionImplementation.h"
Include dependency graph for ModuleImplementation.cpp:

Go to the source code of this file.

Functions

static ParseResult parseFunctionResultList (OpAsmParser &parser, SmallVectorImpl< Attribute > &resultNames, SmallVectorImpl< Type > &resultTypes, SmallVectorImpl< DictionaryAttr > &resultAttrs, SmallVectorImpl< Attribute > &resultLocs)
 Parse a function result list.
static StringRef getModuleArgumentName (Operation *module, size_t argNo)
 Return the port name for the specified argument or result.
static StringRef getModuleResultName (Operation *module, size_t resultNo)
false return failure ()
 Parse an optional keyword or string and set instance into 'result'.
 if (parseOptionalKeywordOrOptionalString(parser, result.rawName, found)) return failure()
 if (!found) result.rawName
 if (parser.parseColonType(result.type)||parser.parseOptionalAttrDict(attrs)||parser.parseOptionalLocationSpecifier(result.sourceLoc)) return failure()
return success ()
static ParseResult parseOutputPort (OpAsmParser &parser, module_like_impl::PortParse &result)
static ParseResult parsePort (OpAsmParser &p, module_like_impl::PortParse &result)
 Parse a single argument with the following syntax:
static ParseResult parsePortList (OpAsmParser &p, SmallVectorImpl< module_like_impl::PortParse > &result)
static const char * directionAsString (ModulePort::Direction dir)

Variables

NamedAttrList attrs = attrs.getDictionary(parser.getContext())
bool found = false

Function Documentation

◆ directionAsString()

const char * directionAsString ( ModulePort::Direction dir)
static

◆ failure()

false return failure ( )

Parse an optional keyword or string and set instance into 'result'.

` Returns failure on a parse issue, but not on not finding the string. 'found' indicates whether the optional value exists. */ ParseResult parseOptionalKeywordOrOptionalString(OpAsmParser &p, std::string &result, bool &found) { StringRef keyword; if (succeeded(p.parseOptionalKeyword(&keyword))) { result = keyword.str(); found = true; return success(); }

if (succeeded(p.parseOptionalString(&result))) found = true; return success(); }

static ParseResult parseDirection(OpAsmParser &p, ModulePort::Direction &dir) { StringRef key; if (failed(p.parseKeyword(&key))) return p.emitError(p.getCurrentLocation(), "expected port direction"); if (key == "in") dir = ModulePort::Direction::Input; else if (key == "out") dir = ModulePort::Direction::Output; else return p.emitError(p.getCurrentLocation(), "unknown port direction '") << key << "'"; return success(); }

static ParseResult parseInputPort(OpAsmParser &parser, module_like_impl::PortParse &result) { if (parser.parseOperand(result.ssaName, /*allowResultNumber=

Referenced by LocalVisitor::addEdge(), LocalVisitor::addLogicOp(), circt::msft::PlacementDB::addPlacements(), allocateVirtualRegistersInCache(), circt::firrtl::GatedClockConversion::analyzeFrom(), OperationAnalyzer::analyzeOperation(), applyBodyTypeLoweringAnno(), applyConventionAnno(), applyEnableTransformation(), circt::firrtl::applyGCTMemTaps(), circt::firrtl::applyGCTView(), applyLoadMemoryAnno(), circt::calyx::applyModuleOpConversion(), applyModulePrefixAnno(), applyOutputDirAnno(), applyPatternsGreedilyWithTimingInfo(), applyResetTransformation(), circt::firrtl::applyWiring(), circt::firrtl::applyWithoutTarget(), circt::firrtl::applyWithoutTargetImpl(), circt::ImportVerilog::Context::assignPrimOutputWithDelay(), circt::scftocalyx::buildAllocOp(), circt::ImportVerilog::Context::buildClassProperties(), buildMergeBlock(), buildMergeBlocks(), circt::scftocalyx::BuildOpGroups::buildOp(), calculateNonZeroBits(), canonicalizeArrayInjectChain(), canonicalizeArrayInjectIntoCreate(), canonicalizeIfDefLike(), canonicalizePassthoughCall(), canonicalizePrimOp(), canonicalizeRefResolveOfForceable(), canonicalizeRegResetWithOneReset(), canonicalizeSigPtrArraySliceOp(), canonicalizeSingleSetConnect(), captureValuesAcrossSuspension(), circt::scheduling::ChainingCyclicProblem::check(), circt::scheduling::ChainingProblem::check(), circt::scheduling::Problem::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), circt::firrtl::IntrinsicConverter::checkAndConvert(), checkAttributes(), checkConnectConditionality(), circt::esi::checkInnerTypeMatch(), circt::scheduling::SharedOperatorsProblem::checkLatency(), checkLayerCompatibility(), circt::hw::checkParameterInContext(), checkSingleConnect(), collapseControl(), synth.LongestPathAnalysis::Impl::collectInputToInternalPaths(), synth.LongestPathAnalysis::Impl::collectInternalToOutputPaths(), collectRanges(), collectRanges(), commonTailPatternWithPar(), commonTailPatternWithSeq(), synth.LongestPathAnalysis::Impl::computeGlobalPaths(), circt::synth::LongestPathAnalysis::computeLocalPaths(), computeLowering(), computeLoweringImpl(), circt::scheduling::computeStartTimesInCycle(), connectIfAggregates(), circt::handshake::HandshakeLowering::connectToMemory(), convert(), convert(), circt::convertAttributeToJSON(), circt::ImportVerilog::Context::convertCMOSSwitchPrimitive(), circt::ImportVerilog::Context::convertCompilation(), convertDivModUByPowerOfTwo(), circt::ImportVerilog::Context::convertFixedPrimitive(), circt::ImportVerilog::Context::convertGlobalVariable(), circt::ImportVerilog::Context::convertModuleBody(), circt::ImportVerilog::Context::convertModuleHeader(), convertModuleOpTypes(), circt::ImportVerilog::Context::convertMOSSwitchPrimitive(), circt::ImportVerilog::Context::convertNInputPrimitive(), circt::ImportVerilog::Context::convertNOutputPrimitive(), circt::ImportVerilog::Context::convertPackage(), circt::ImportVerilog::Context::convertPullGatePrimitive(), circt::ImportVerilog::Context::convertThreeStateGatePrimitive(), circt::ImportVerilog::Context::convertTimingControl(), circt::ImportVerilog::Context::convertUserDefinedPrimitiveInstance(), circt::ImportVerilog::Context::convertVirtualInterfaceType(), customTypeParser(), customTypeParser(), customTypePrinter(), customTypePrinter(), circt::calyx::deduplicateParallelOperation(), circt::ImportVerilog::Context::defineFunction(), demoteForceableIfUnused(), DiscoverLoops::dfsTraverse(), dispatchCompareLocations(), circt::doTypeConversion(), circt::msft::TclEmitter::emit(), emitFile(), circt::firrtl::GatedClockConversion::emitPlannedIR(), emitScanAssignments(), circt::debug::emitSplitHGLDD(), emptyControl(), emulateBinaryOpForUnknownBits(), circt::synth::CutEnumerator::enumerateCuts(), eraseIfPredFalse(), eraseIfZeroOrNotZero(), eraseIfZeroOrNotZero(), evaluateBinaryEquality(), circt::om::Evaluator::evaluateElaboratedObject(), circt::om::Evaluator::evaluateObjectInstance(), evaluateParametricArrayType(), circt::ExportSystemC::EmissionPrinter::exitState(), circt::calyx::exportCalyx(), exportSplitVerilogImpl(), exportVerilogImpl(), findBundleElement(), findFieldID(), findVectorElement(), flattenOpsOfType(), circt::ImportVerilog::Context::flushPendingMonitors(), foldAndEnqueueResults(), foldHiddenReset(), circt::hw::InnerSymbolTable::get(), circt::synth::LongestPathAnalysis::getAllPaths(), synth.LongestPathAnalysis::Impl::getAverageMaxDelay(), getDomain(), getDPISignature(), circt::synth::Cut::getInputArrivalTimes(), circt::synth::LongestPathAnalysis::getInternalPaths(), synth.LongestPathAnalysis::Impl::getMaxDelay(), getNPNClassFromModule(), circt::synth::LongestPathAnalysis::getOpenPathsFromInputPortsToInternal(), circt::synth::LongestPathAnalysis::getOpenPathsFromInternalToOutputPorts(), OperationAnalyzer::getOrComputeLocalVisitor(), circt::om::Evaluator::getPartiallyEvaluatedValue(), getRuntimeSizeAtLevel(), getServicePortInfo(), getVectorWidth(), handleCollidingOps(), LowerXMRPass::handleForceReleaseOp(), LowerXMRPass::handleInstanceOp(), LowerXMRPass::handlePublicModuleRefPorts(), LowerXMRPass::handleRefResolve(), handleZeroBit(), circt::firrtl::GenericIntrinsic::hasNInputs(), circt::firrtl::GenericIntrinsic::hasNParam(), LocalVisitor::initializeAndRun(), LocalVisitor::initializeAndRun(), synth.LongestPathAnalysis::Impl::initializeAndRun(), circt::scheduling::Problem::insertDependence(), circt::om::Evaluator::instantiateImpl(), circt::pipelinetocalyx::LoopScheduleToCalyxPass::labelEntryPoint(), legalizeHWModule(), circt::hw::ModulePortLookupInfo::lookupPortIndex(), circt::firrtl::IntrinsicLowerings::lower(), lowerDomainEICGWrapperInstance(), lowerFuncOp(), lowerLegacyEICGWrapperInstance(), lowerModuleSignature(), circt::handshake::lowerRegion(), lowerVariadicAndInverterOpConversion(), mangleCircuitSymbols(), LocalVisitor::markRegEndPoint(), AffineLoadLowering::matchAndRewrite(), AffineStoreLowering::matchAndRewrite(), ArrayRefToLLVMArrayOpLowering::matchAndRewrite(), BankAffineLoadPattern::matchAndRewrite(), BankAffineStorePattern::matchAndRewrite(), BitsOfCat::matchAndRewrite(), circt::calyx::EliminateUnusedCombGroups::matchAndRewrite(), circt::calyx::MultipleGroupDonePattern::matchAndRewrite(), circt::calyx::NonTerminatingGroupDonePattern::matchAndRewrite(), circt::calyx::PartialLoweringPattern< OpType, RewritePatternType >::matchAndRewrite(), circt::dc::EliminateBranchToSelectPattern::matchAndRewrite(), circt::dc::EliminateForkOfSourcePattern::matchAndRewrite(), circt::dc::EliminateForkToForkPattern::matchAndRewrite(), circt::dc::EliminatePackOfUnpackPattern::matchAndRewrite(), circt::dc::EliminateRedundantUnpackPattern::matchAndRewrite(), circt::dc::EliminateUnusedForkResultsPattern::matchAndRewrite(), circt::dc::JoinOnBranchPattern::matchAndRewrite(), circt::dc::RemoveDuplicateJoinOperandsPattern::matchAndRewrite(), circt::dc::RemoveJoinOnSourcePattern::matchAndRewrite(), circt::dc::StaggeredJoinCanonicalization::matchAndRewrite(), CollapseUnaryControl< CtrlOp >::matchAndRewrite(), ConstantFoldCompress::matchAndRewrite(), EmptyIfBody::matchAndRewrite(), EmptyStaticIfBody::matchAndRewrite(), FoldAddIntoCompress::matchAndRewrite(), FoldCompressIntoCompress::matchAndRewrite(), OrOfMuxToMuxChain::matchAndRewrite(), PosPartialProducts::matchAndRewrite(), ReduceNumPartialProducts::matchAndRewrite(), ReduceNumPosPartialProducts::matchAndRewrite(), ReductionCat::matchAndRewrite(), SextCompress::matchAndRewrite(), SignedPartialProducts::matchAndRewrite(), SignedPosPartialProducts::matchAndRewrite(), UnrealizedConversionCastLowering::matchAndRewrite(), matchAndRewriteCompareConcat(), circt::ImportVerilog::Context::materializeClassMethods(), circt::ImportVerilog::Context::materializeVirtualInterfaceValue(), circt::maximizeSSA(), circt::maximizeSSA(), circt::maximizeSSA(), circt::maximizeSSA(), mergeLayer(), mergeNeiboringAssignments(), circt::msft::PlacementDB::movePlacementCheck(), mlir::FieldParser<::BundledChannel, ::BundledChannel >::parse(), parseBasePathString(), parseClassFieldsList(), parseClassInterface(), parseClassLike(), parseClassLike(), parseComponentInterface(), parseComponentSignature(), parseCompressFormat(), parseEventList(), circt::parseFieldList(), parseFieldLocs(), parseFieldsFromDomain(), parseFIRRTLBaseType(), parseFIRRTLImplicitSSAName(), parseFIRRTLPropertyType(), parseFIRRTLType(), parseFModuleLikeOp(), parseForkOp(), parseFuncOpArgs(), parseFunctionResultList(), circt::parseFVInt(), parseGenerateFor(), parseGroupPort(), parseHWArray(), parseHWModuleOp(), parseIfaceTypeAndSignal(), parseImplicitInnerRef(), circt::parseImplicitSSAName(), circt::parseImplicitSSAName(), circt::parseInputPortList(), parseIntegerOrBitVector(), circt::dc::parseIntInSquareBrackets(), parseIntInSquareBrackets(), parseKeywordAndOperand(), parseListOptionalRegLocList(), parseMembers(), parseMemoryAccessOp(), parseMethodLikeOp(), parseModportStructs(), circt::hw::module_like_impl::parseModuleFunctionSignature(), parseModulePorts(), circt::hw::module_like_impl::parseModuleSignature(), parseMooreType(), circt::firrtl::parseNestedBaseType(), circt::firrtl::parseNestedPropertyType(), circt::firrtl::parseNestedType(), circt::parseOptionalBinaryOpTypes(), FIRParser::LocWithInfo::parseOptionalInfo(), circt::parseOptionalParameterList(), parseOptionalParameters(), circt::ssp::parseOptionalPropertyArray(), circt::msft::parseOptionalRegLoc(), parseOptNamedTypedAssignment(), parseOutputList(), parseOutputPort(), circt::parseOutputPortList(), parseParameterList(), parseParameterList(), parseParameterList(), parseParameterList(), parseParamValue(), parsePassthroughs(), parsePathString(), parsePhysLoc(), parsePipelineOp(), parsePort(), parsePortDefList(), parsePorts(), parseSingleStageRegister(), parseSostOperation(), parseSSPProperties(), parseStageRegisters(), parseSubfieldLikeOp(), parseSVHandleAssignmentTypes(), parseType(), parseTypedAttrWithFallback(), parseUnPackBundleType(), circt::parseVariadicInvertibleOperands(), parseWrapChannelType(), parseXInDimList(), parseXMRPath(), circt::pipelinetocalyx::BuildPipelineGroups::partiallyLowerFuncToComp(), circt::scftocalyx::BuildOpGroups::partiallyLowerFuncToComp(), circt::hw::InnerSymbolTableCollection::populateAndVerifyTables(), populateConversionTarget(), circt::firtool::populateExportSplitVerilog(), circt::firtool::populateExportVerilog(), circt::firtool::populateExportVerilog(), portDrivenByGroup(), circt::ExportVerilog::prepareHWModule(), circt::ImportVerilog::Context::registerVirtualInterfaceMembers(), removeAnnotationWithFilename(), replaceDeclRefInExpr(), circt::handshake::HandshakeLowering::replaceMemoryOps(), replaceWithBalancedTree(), resolveClasses(), resolveFormatString(), circt::hw::instance_like_impl::resolveParametricTypes(), LowerXMRPass::resolveReference(), LowerXMRPass::resolveReferencePath(), circt::OpReduction< OpTy >::rewrite(), circt::Reduction::rewrite(), GenericLUT::rewrite(), circt::firrtl::GatedClockConversion::run(), circt::hw::PortConverterImpl::run(), circt::synth::CutRewriter::run(), circt::synth::CutRewriter::runBottomUpRewrite(), LowerLayersPass::runOnModuleBody(), LowerLayersPass::runOnModuleLike(), LowerXMRPass::runOnOperation(), circt::scheduling::scheduleASAP(), circt::scftocalyx::BuildControl::scheduleBasicBlock(), circt::handshake::HandshakeLowering::setControlOnlyPath(), circt::pipelinetocalyx::LoopScheduleToCalyxPass::setTopLevelFunction(), circt::firrtl::GenericIntrinsic::sizedOutput(), stripModuleImpl(), circt::firrtl::GenericIntrinsic::typedOutput(), updateExpandedPort(), updateInstancesInModule(), updateObjectsAndInstancesInClass(), circt::scheduling::ChainingCyclicProblem::verify(), circt::scheduling::ChainingProblem::verify(), circt::scheduling::CyclicProblem::verify(), circt::scheduling::ModuloProblem::verify(), circt::scheduling::Problem::verify(), circt::scheduling::SharedOperatorsProblem::verify(), circt::handshake::verifyAllValuesHasOneUse(), verifyArcSymbolUse(), verifyCallerTypes(), verifyComplexLogic(), circt::calyx::verifyComponent(), verifyCoroutineCallTypes(), circt::calyx::verifyGroupInterface(), circt::hw::detail::verifyInnerRefNamespace(), circt::hw::verifyInnerSymAttr(), circt::hw::instance_like_impl::verifyInputs(), circt::hw::instance_like_impl::verifyInstanceOfHWModule(), verifyKnownLayers(), circt::firrtl::verifyModuleLikeOpInterface(), verifyOpLegality(), circt::hw::instance_like_impl::verifyOutputs(), circt::hw::instance_like_impl::verifyParameters(), circt::hw::instance_like_impl::verifyParameterStructure(), circt::hw::verifyPortInnerSymsIfPortList(), verifyPortSymbolUses(), verifyPrimitiveOpType(), verifySignalExists(), verifyUniqueNamesInRegion(), LocalVisitor::visit(), LocalVisitor::visit(), LocalVisitor::visit(), LocalVisitor::visit(), LocalVisitor::visitDefault(), circt::igraph::InstanceGraph::walkInversePostOrder(), walkMappings(), circt::igraph::InstanceGraph::walkPostOrder(), circt::hw::InnerSymbolTable::walkSymbols(), circt::hw::InnerSymbolTable::walkSymbols(), circt::datapath::CompressorTree::withInputDelays(), and zeroRepeat().

◆ getModuleArgumentName()

StringRef getModuleArgumentName ( Operation * module,
size_t argNo )
static

Return the port name for the specified argument or result.

Definition at line 72 of file ModuleImplementation.cpp.

Referenced by circt::hw::module_like_impl::printModuleSignature().

◆ getModuleResultName()

StringRef getModuleResultName ( Operation * module,
size_t resultNo )
static

◆ if() [1/3]

if ( ! found)

References found.

◆ if() [2/3]

◆ if() [3/3]

if ( parser. parseColonTyperesult.type)||parser.parseOptionalAttrDict(attrs)||parser.parseOptionalLocationSpecifier(result.sourceLoc)

References attrs.

◆ parseFunctionResultList()

ParseResult parseFunctionResultList ( OpAsmParser & parser,
SmallVectorImpl< Attribute > & resultNames,
SmallVectorImpl< Type > & resultTypes,
SmallVectorImpl< DictionaryAttr > & resultAttrs,
SmallVectorImpl< Attribute > & resultLocs )
static

Parse a function result list.

function-result-list ::= function-result-list-parens function-result-list-parens ::= ( ) | ( function-result-list-no-parens ) function-result-list-no-parens ::= function-result (, function-result)* function-result ::= (percent-identifier :) type attribute-dict?

Definition at line 30 of file ModuleImplementation.cpp.

References attrs, failure(), and success().

Referenced by circt::hw::module_like_impl::parseModuleFunctionSignature().

◆ parseOutputPort()

ParseResult parseOutputPort ( OpAsmParser & parser,
module_like_impl::PortParse & result )
static

◆ parsePort()

ParseResult parsePort ( OpAsmParser & p,
module_like_impl::PortParse & result )
static

Parse a single argument with the following syntax:

output (id|string) : !type { optionalAttrDict} loc(optionalSourceLoc) (input|inout) ssaname : !type { optionalAttrDict} loc(optionalSourceLoc)

Definition at line 336 of file ModuleImplementation.cpp.

References attrs, circt::hw::module_like_impl::PortParse::direction, failure(), circt::hw::ModulePort::Output, and parseOutputPort().

Referenced by parsePortDefList(), and parsePortList().

◆ parsePortList()

ParseResult parsePortList ( OpAsmParser & p,
SmallVectorImpl< module_like_impl::PortParse > & result )
static

Definition at line 347 of file ModuleImplementation.cpp.

References parsePort().

Referenced by circt::hw::module_like_impl::parseModuleSignature().

◆ success()

return success ( )

Referenced by AppIDIndex::ModuleAppIDs::add(), addArgToTerminator(), circt::handshake::HandshakeLowering::addBranchOps(), LocalVisitor::addEdge(), addForkOps(), addForkOps(), LocalVisitor::addLogicOp(), circt::handshake::HandshakeLowering::addMergeOps(), circt::msft::PlacementDB::addPlacements(), circt::firrtl::GatedClockConversion::addRoot(), addSinkOps(), addSinkOps(), allocateVirtualRegistersInCache(), allPortsDrivenByGroup(), circt::firrtl::GatedClockConversion::analyzeFrom(), OperationAnalyzer::analyzeOperation(), anyPortsDrivenByGroup(), anyPortsReadByGroup(), applyAttributeAnnotation(), applyBodyTypeLoweringAnno(), applyConventionAnno(), applyDUTAnno(), applyEnableTransformation(), circt::firrtl::applyGCTMemTaps(), circt::firrtl::applyGCTView(), applyLoadMemoryAnno(), circt::calyx::applyModuleOpConversion(), applyModulePrefixAnno(), applyOutputDirAnno(), applyPatternsGreedilyWithTimingInfo(), applyResetTransformation(), circt::firrtl::applyTraceName(), circt::firrtl::applyWiring(), circt::firrtl::applyWithoutTargetImpl(), circt::ImportVerilog::Context::assignPrimOutputWithDelay(), bufferRegion(), circt::pipelinetocalyx::buildAllocOp(), circt::scftocalyx::buildAllocOp(), circt::pipelinetocalyx::BuildControl::buildCFGControl(), circt::scftocalyx::BuildControl::buildCFGControl(), circt::ImportVerilog::Context::buildClassProperties(), circt::scftocalyx::BuildOpGroups::buildFpIntTypeCastOp(), circt::synth::LogicNetwork::buildFromBlock(), circt::pipelinetocalyx::BuildOpGroups::buildLibraryBinaryPipeOp(), circt::scftocalyx::BuildOpGroups::buildLibraryBinaryPipeOp(), circt::pipelinetocalyx::BuildOpGroups::buildLibraryOp(), circt::scftocalyx::BuildOpGroups::buildLibraryOp(), buildMergeBlocks(), circt::pipelinetocalyx::BuildOpGroups::buildOp(), circt::pipelinetocalyx::BuildOpGroups::buildOp(), circt::pipelinetocalyx::BuildOpGroups::buildOp(), circt::pipelinetocalyx::BuildOpGroups::buildOp(), circt::pipelinetocalyx::BuildOpGroups::buildOp(), circt::pipelinetocalyx::BuildOpGroups::buildOp(), circt::pipelinetocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::pipelinetocalyx::BuildPipelineGroups::buildStageGroups(), canonicalizeArrayInjectChain(), canonicalizeArrayInjectIntoCreate(), canonicalizeIfDefLike(), canonicalizePassthoughCall(), canonicalizePrimOp(), canonicalizeRefResolveOfForceable(), canonicalizeRegResetWithOneReset(), canonicalizeSigPtrArraySliceOp(), canonicalizeSingleSetConnect(), captureValue(), captureValuesAcrossSuspension(), changeBranchTarget(), circt::scheduling::ChainingCyclicProblem::check(), circt::scheduling::ChainingProblem::check(), circt::scheduling::Problem::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), Equivalence::check(), circt::firrtl::IntrinsicConverter::checkAndConvert(), checkAttributes(), circt::esi::checkBundleTypeMatch(), checkConnectConditionality(), checkConnectFlow(), circt::scheduling::ChainingCyclicProblem::checkDefUse(), circt::scheduling::ChainingProblem::checkDelays(), circt::esi::checkInnerTypeMatch(), circt::firrtl::GenericIntrinsic::checkInputType(), checkInstForAnnotations(), circt::scheduling::Problem::checkLatency(), circt::scheduling::SharedOperatorsProblem::checkLatency(), checkLayerCompatibility(), circt::scheduling::Problem::checkLinkedOperatorType(), checkModForAnnotations(), circt::firrtl::GenericIntrinsic::checkOutputElement(), circt::hw::checkParameterInContext(), checkSingleConnect(), cleanUpOldMemRefs(), circt::BackedgeBuilder::clearOrEmitError(), collapseControl(), synth.LongestPathAnalysis::Impl::collectClosedPaths(), synth.LongestPathAnalysis::Impl::collectInputToInternalPaths(), synth.LongestPathAnalysis::Impl::collectInternalToOutputPaths(), collectRanges(), collectRanges(), commonTailPatternWithPar(), commonTailPatternWithSeq(), compareTypes(), synth.LongestPathAnalysis::Impl::computeGlobalPaths(), computeLiveRanges(), computeLowering(), computeLoweringImpl(), circt::scheduling::computeStartTimesInCycle(), circt::handshake::HandshakeLowering::connectConstantsToControl(), connectIfAggregates(), circt::handshake::HandshakeLowering::connectToMemory(), convert(), convert(), convert(), convert(), convert(), convert(), convert(), convert(), convert(), convert(), convert(), convert(), convert(), convert(), convert(), circt::convertAttributeToJSON(), circt::ImportVerilog::Context::convertCompilation(), convertDivModUByPowerOfTwo(), convertExtMemoryOps(), convertFuncOp(), circt::ImportVerilog::Context::convertGlobalVariable(), convertInitialValue(), circt::ImportVerilog::Context::convertModuleBody(), circt::ImportVerilog::Context::convertModuleHeader(), convertModuleOpTypes(), circt::ImportVerilog::Context::convertNOutputPrimitive(), circt::ImportVerilog::Context::convertPackage(), circt::ImportVerilog::Context::convertPullGatePrimitive(), circt::comb::convertSubToAdd(), circt::ImportVerilog::Context::convertTimingControl(), circt::ImportVerilog::Context::convertVirtualInterfaceType(), circt::om::Evaluator::createUnknownValue(), customTypeParser(), customTypeParser(), customTypePrinter(), circt::ImportVerilog::Context::defineFunction(), demoteForceableIfUnused(), DiscoverLoops::dfsTraverse(), dmaTest(), circt::doTypeConversion(), drop(), circt::debug::dumpDebugInfo(), circt::msft::TclEmitter::emit(), circt::debug::emitHGLDD(), circt::firrtl::GatedClockConversion::emitPlannedIR(), emitScanAssignments(), circt::debug::emitSplitHGLDD(), emptyControl(), emulateBinaryOpForUnknownBits(), circt::synth::CutEnumerator::enumerateCuts(), eraseIfPredFalse(), eraseIfZeroOrNotZero(), eraseIfZeroOrNotZero(), circt::om::Evaluator::evaluateConstant(), circt::om::Evaluator::evaluateParameter(), circt::handshake::HandshakeLowering::feedForwardRewriting(), flattenOpsOfType(), circt::ImportVerilog::Context::flushPendingMonitors(), foldAndEnqueueResults(), foldHiddenReset(), circt::esi::ServiceGeneratorDispatcher::generate(), circt::hw::InnerSymbolTable::get(), getAccessPath(), circt::synth::LongestPathAnalysis::getAllPaths(), circt::om::evaluator::ObjectValue::getField(), circt::synth::Cut::getInputArrivalTimes(), getOpMemRef(), circt::om::Evaluator::getOrCreateValue(), circt::om::Evaluator::getPartiallyEvaluatedValue(), circt::calyx::CalyxLoweringState::getState(), LowerXMRPass::handleForceReleaseOp(), LowerXMRPass::handleInstanceOp(), circt::scheduling::handleOperationsInTopologicalOrder(), LowerXMRPass::handlePublicModuleRefPorts(), LowerXMRPass::handleRefResolve(), handleRoot(), circt::firrtl::GenericIntrinsic::hasNInputs(), circt::firrtl::GenericIntrinsic::hasNoOutput(), circt::firrtl::GenericIntrinsic::hasNOutputElements(), circt::firrtl::GenericIntrinsic::hasNParam(), circt::firrtl::GenericIntrinsic::hasOutput(), hasRequiredPorts(), inferAndLikeReturnTypes(), inferRegisterPreset(), circt::hw::PortConversion::init(), LocalVisitor::initializeAndRun(), LocalVisitor::initializeAndRun(), LocalVisitor::initializeAndRun(), inlineBody(), circt::scheduling::Problem::insertDependence(), circt::msft::PlacementDB::insertPlacement(), instantiateCosimEndpointOps(), instantiateSystemVerilogMemory(), isCombinational(), isValidMemrefType(), legalizeHWModule(), lockRegion(), circt::pipelinetocalyx::LoopScheduleToCalyxPass::LoopScheduleToCalyxPass(), lowerDomainEICGWrapperInstance(), lowerFuncOp(), lowerLegacyEICGWrapperInstance(), lowerModuleSignature(), lowerObjectInClass(), circt::handshake::lowerRegion(), lowerVariadicAndInverterOpConversion(), LocalVisitor::markRegEndPoint(), LocalVisitor::markStartPoint(), AffineLoadLowering::matchAndRewrite(), AffineParallelOpLowering::matchAndRewrite(), AffinePloopUnparallelize::matchAndRewrite(), AffineStoreLowering::matchAndRewrite(), ArrayRefAllocOpLowering::matchAndRewrite(), ArrayRefCopyOpLowering::matchAndRewrite(), ArrayRefCreateOpLowering::matchAndRewrite(), ArrayRefFromArrayOpLowering::matchAndRewrite(), ArrayRefGetOpLowering::matchAndRewrite(), ArrayRefInjectOpLowering::matchAndRewrite(), ArrayRefSliceOpLowering::matchAndRewrite(), ArrayRefToArrayOpLowering::matchAndRewrite(), ArrayRefToLLVMArrayOpLowering::matchAndRewrite(), BankAffineLoadPattern::matchAndRewrite(), BankAffineStorePattern::matchAndRewrite(), BankReturnPattern::matchAndRewrite(), BitsOfCat::matchAndRewrite(), circt::calyx::EliminateUnusedCombGroups::matchAndRewrite(), circt::calyx::MultipleGroupDonePattern::matchAndRewrite(), circt::calyx::NonTerminatingGroupDonePattern::matchAndRewrite(), circt::dc::EliminateBranchToSelectPattern::matchAndRewrite(), circt::dc::EliminateForkOfSourcePattern::matchAndRewrite(), circt::dc::EliminateForkToForkPattern::matchAndRewrite(), circt::dc::EliminatePackOfUnpackPattern::matchAndRewrite(), circt::dc::EliminateRedundantUnpackPattern::matchAndRewrite(), circt::dc::EliminateUnusedForkResultsPattern::matchAndRewrite(), circt::dc::JoinOnBranchPattern::matchAndRewrite(), circt::dc::RemoveDuplicateJoinOperandsPattern::matchAndRewrite(), circt::dc::RemoveJoinOnSourcePattern::matchAndRewrite(), circt::dc::StaggeredJoinCanonicalization::matchAndRewrite(), circt::esi::detail::RemoveOpLowering< OpTy >::matchAndRewrite(), circt::msft::RemoveOpLowering< OpTy >::matchAndRewrite(), circt::pipelinetocalyx::CleanupFuncOps::matchAndRewrite(), circt::scftocalyx::CleanupFuncOps::matchAndRewrite(), circt::scftocalyx::InlineExecuteRegionOpPattern::matchAndRewrite(), CollapseUnaryControl< CtrlOp >::matchAndRewrite(), ConstantFoldCompress::matchAndRewrite(), ConvertAssignOp::matchAndRewrite(), ConvertCellOp::matchAndRewrite(), ConvertControlOp::matchAndRewrite(), ConvertWiresOp::matchAndRewrite(), DPICallLowering::matchAndRewrite(), EmptyIfBody::matchAndRewrite(), EmptyStaticIfBody::matchAndRewrite(), FlushLowering::matchAndRewrite(), FoldAddIntoCompress::matchAndRewrite(), FoldCompressIntoCompress::matchAndRewrite(), IfOpHoisting::matchAndRewrite(), OrOfMuxToMuxChain::matchAndRewrite(), PlusArgsTestLowering::matchAndRewrite(), PlusArgsValueLowering::matchAndRewrite(), PosPartialProducts::matchAndRewrite(), ReduceNumPartialProducts::matchAndRewrite(), ReduceNumPosPartialProducts::matchAndRewrite(), ReductionCat::matchAndRewrite(), RuntimeModelOpLowering::matchAndRewrite(), SextCompress::matchAndRewrite(), SignedPartialProducts::matchAndRewrite(), SignedPosPartialProducts::matchAndRewrite(), StreamLowering< StdoutStreamOp, 0x80000001 >::matchAndRewrite(), StringConcatLowering::matchAndRewrite(), StringConstantLowering::matchAndRewrite(), SwitchToIfConversion::matchAndRewrite(), TriggeredLowering::matchAndRewrite(), UnrealizedConversionCastLowering::matchAndRewrite(), matchAndRewriteCompareConcat(), circt::maximizeSSA(), circt::maximizeSSA(), circt::maximizeSSA(), circt::maximizeSSA(), mergeLayer(), mergeNeiboringAssignments(), circt::msft::PlacementDB::movePlacementCheck(), circt::firrtl::GenericIntrinsic::namedIntParam(), circt::firrtl::GenericIntrinsic::namedParam(), parseBasePathString(), parseCHIRRTLOp(), parseClassFieldsList(), parseClassInterface(), parseClassLike(), parseClassLike(), parseComponentInterface(), parseComponentSignature(), parseCompressFormat(), parseEventList(), circt::parseFieldList(), parseFieldLocs(), parseFieldsFromDomain(), parseFIFOFlagThreshold(), parseFIRRTLBaseType(), parseFIRRTLImplicitSSAName(), parseFIRRTLPropertyType(), parseFIRRTLType(), parseFModuleLikeOp(), parseForkOp(), parseFuncOpArgs(), parseFunctionResultList(), circt::parseFVInt(), parseGroupPort(), parseHWArray(), parseHWModuleOp(), parseIfaceTypeAndSignal(), parseImplicitInitType(), parseImplicitInnerRef(), circt::parseImplicitSSAName(), circt::parseImplicitSSAName(), circt::parseImplicitSSANames(), parseImplicitVarInitType(), circt::parseInputPortList(), parseIntegerOrBitVector(), circt::dc::parseIntInSquareBrackets(), parseIntInSquareBrackets(), parseKeywordAndOperand(), circt::parseKeywordBool(), parseListOptionalRegLocList(), parseMembers(), parseMemoryAccessOp(), parseMethodLikeOp(), parseModportStructs(), circt::hw::module_like_impl::parseModuleFunctionSignature(), parseModulePorts(), circt::hw::module_like_impl::parseModuleSignature(), parseMooreType(), parseNameKind(), parseNameKind(), circt::parseOptionalBinaryOpTypes(), parseOptionalImmutableTypeMatch(), FIRParser::LocWithInfo::parseOptionalInfo(), circt::parseOptionalParameterList(), parseOptionalParameters(), circt::ssp::parseOptionalPropertyArray(), circt::msft::parseOptionalRegLoc(), parseOptionalTypeMatch(), parseOptNamedTypedAssignment(), parseOutputList(), parseOutputPort(), circt::parseOutputPortList(), parseParameterList(), parseParameterList(), parseParameterList(), parseParameterList(), parseParamValue(), parsePassthroughs(), parsePathString(), parsePhysLoc(), parsePipelineOp(), parsePortDefList(), parsePorts(), parseScopeRefFromName(), parseSingleStageRegister(), parseSostOperation(), parseSSPProperties(), parseStageRegisters(), parseSubfieldLikeOp(), parseSVHandleAssignmentTypes(), parseTypedAttrWithFallback(), parseUnPackBundleType(), circt::parseVariadicInvertibleOperands(), parseWrapChannelType(), parseXMRPath(), circt::calyx::RewriteMemoryAccesses::partiallyLower(), circt::calyx::BuildBasicBlockRegs::partiallyLowerFuncToComp(), circt::calyx::BuildCallInstance::partiallyLowerFuncToComp(), circt::calyx::BuildReturnRegs::partiallyLowerFuncToComp(), circt::calyx::ConvertIndexTypes::partiallyLowerFuncToComp(), circt::pipelinetocalyx::BuildOpGroups::partiallyLowerFuncToComp(), circt::pipelinetocalyx::BuildPipelineGroups::partiallyLowerFuncToComp(), circt::pipelinetocalyx::BuildPipelineRegs::partiallyLowerFuncToComp(), circt::pipelinetocalyx::BuildWhileGroups::partiallyLowerFuncToComp(), circt::pipelinetocalyx::CleanupFuncOps::partiallyLowerFuncToComp(), circt::pipelinetocalyx::FuncOpConversion::partiallyLowerFuncToComp(), circt::pipelinetocalyx::LateSSAReplacement::partiallyLowerFuncToComp(), circt::scftocalyx::BuildForGroups::partiallyLowerFuncToComp(), circt::scftocalyx::BuildIfGroups::partiallyLowerFuncToComp(), circt::scftocalyx::BuildOpGroups::partiallyLowerFuncToComp(), circt::scftocalyx::BuildWhileGroups::partiallyLowerFuncToComp(), circt::scftocalyx::CleanupFuncOps::partiallyLowerFuncToComp(), circt::scftocalyx::FuncOpConversion::partiallyLowerFuncToComp(), circt::scftocalyx::LateSSAReplacement::partiallyLowerFuncToComp(), partiallyLowerOp(), circt::handshake::partiallyLowerRegion(), circt::msft::TclEmitter::populate(), circt::firtool::populateCHIRRTLToLowFIRRTL(), circt::firtool::populateExportSplitVerilog(), circt::firtool::populateExportVerilog(), circt::firtool::populateExportVerilog(), circt::firtool::populateFinalizeIR(), circt::firtool::populateHWToBTOR2(), circt::firtool::populateHWToSV(), circt::firtool::populateLowFIRRTLToHW(), detail::populatePrepareForExportVerilog(), circt::firtool::populatePreprocessTransforms(), portDrivenByGroup(), preconditionCheck(), circt::ExportVerilog::prepareHWModule(), circt::ImportVerilog::Context::registerVirtualInterfaceMembers(), circt::handshake::HandshakeLowering::replaceCallOps(), replaceInnerRefUsers(), circt::handshake::HandshakeLowering::replaceMemoryOps(), replaceWithBalancedTree(), resolveFormatString(), circt::handshake::resolveInstanceGraph(), circt::hw::instance_like_impl::resolveParametricTypes(), LowerXMRPass::resolveReference(), LowerXMRPass::resolveReferencePath(), ExtmoduleConventionRemover::rewrite(), HWOperandForwarder< OpNum >::rewrite(), ModuleConventionRemover::rewrite(), ModuleExternalizer::rewrite(), ModuleInternalNameSanitizer::rewrite(), ModuleNameSanitizer::rewrite(), StateElimination::rewrite(), SVNamehintRemover::rewrite(), HWConstantifier::rewriteMatches(), ListCreateElementRemover::rewriteMatches(), ModuleInputPruner::rewriteMatches(), ModuleOutputPruner::rewriteMatches(), circt::firrtl::GatedClockConversion::rewriteRoot(), circt::firrtl::GatedClockConversion::run(), circt::hw::PortConverterImpl::run(), circt::synth::CutRewriter::run(), circt::synth::CutRewriter::runBottomUpRewrite(), LowerLayersPass::runOnModuleBody(), LowerLayersPass::runOnModuleLike(), LowerXMRPass::runOnOperation(), circt::scheduling::scheduleASAP(), circt::pipelinetocalyx::BuildControl::scheduleBasicBlock(), circt::scftocalyx::BuildControl::scheduleBasicBlock(), circt::scheduling::scheduleCPSAT(), circt::scheduling::scheduleLP(), circt::scheduling::scheduleLP(), circt::om::evaluator::AttributeValue::setAttr(), circt::handshake::HandshakeLowering::setControlOnlyPath(), setJoinControlInputs(), circt::pipelinetocalyx::LoopScheduleToCalyxPass::setTopLevelFunction(), circt::firrtl::GenericIntrinsic::sizedOutput(), swapEICGEnableInputs(), circt::synth::topologicallySortGraphRegionBlocks(), circt::FVInt::toString(), circt::firrtl::GenericIntrinsic::typedOutput(), updateExpandedPort(), updateInputOperands(), updateInstanceInClass(), updateInstanceInModule(), updateInstancesInModule(), updateObjectsAndInstancesInClass(), AssertPropertyLikeOp::verify(), circt::scheduling::ChainingCyclicProblem::verify(), circt::scheduling::ChainingProblem::verify(), circt::scheduling::CyclicProblem::verify(), circt::scheduling::ModuloProblem::verify(), circt::scheduling::Problem::verify(), circt::scheduling::SharedOperatorsProblem::verify(), verifyAllMembersPacked(), circt::handshake::verifyAllValuesHasOneUse(), verifyArcSymbolUse(), verifyAssignOpValue(), circt::hwarith::verifyBinOp(), verifyCallerTypes(), circt::calyx::verifyCell(), verifyCircuitRelationCheckOpRegions(), verifyClassLike(), verifyComplexLogic(), circt::calyx::verifyComponent(), verifyControlBody(), circt::calyx::verifyControlLikeOp(), verifyCoroutineCallTypes(), verifyFirMemMask(), circt::firrtl::detail::verifyForceableOp(), circt::calyx::verifyGroupInterface(), circt::calyx::verifyIf(), verifyIndexWideEnough(), verifyInitialAttr(), circt::scheduling::CyclicProblem::verifyInitiationInterval(), circt::hw::verifyInnerSymAttr(), circt::hw::verifyInnerSymOp(), circt::hw::instance_like_impl::verifyInputs(), circt::hw::instance_like_impl::verifyInstanceOfHWModule(), verifyInstanceOpType(), verifyInvokeOpValue(), verifyKnownLayers(), verifyMacroIdentSymbolUses(), verifyMemoryAccessOp(), verifyModuleCommon(), circt::firrtl::verifyModuleLikeOpInterface(), verifyNoInputProbes(), verifyNotComplexSource(), circt::verifyNotInNonProceduralRegion(), circt::verifyNotInProceduralRegion(), verifyOpLegality(), circt::hw::instance_like_impl::verifyOutputs(), verifyOutstanding(), verifyPackage(), circt::hw::instance_like_impl::verifyParameters(), circt::hw::instance_like_impl::verifyParameterStructure(), verifyPortDirection(), circt::hw::verifyPortInnerSymsIfPortList(), verifyPortSymbolUses(), verifyPortUses(), circt::scheduling::CyclicProblem::verifyPrecedence(), circt::scheduling::Problem::verifyPrecedence(), circt::scheduling::ChainingProblem::verifyPrecedenceInCycle(), verifyPrimitiveOpType(), verifyPrimitivePortDriving(), verifyProbeType(), circt::firrtl::instance_like_impl::verifyReferencedModule(), circt::hw::instance_like_impl::verifyReferencedModule(), verifyResets(), circt::kanagawa::detail::verifyScopeOpInterface(), verifySignalExists(), circt::scheduling::Problem::verifyStartTime(), circt::scheduling::ChainingProblem::verifyStartTimeInCycle(), verifySubfieldLike(), circt::calyx::Combinational< ConcreteType >::verifyTrait(), circt::sv::VendorExtension< ConcreteType >::verifyTrait(), mlir::OpTrait::HasParentInterface< InterfaceType >::Impl< ConcreteType >::verifyTrait(), circt::firrtl::detail::verifyTypeAgainstClassLike(), verifyTypeListEquivalence(), circt::msft::verifyUnaryDynInstDataOp(), verifyUniqueNamesInRegion(), verifyUTBinOp(), circt::scheduling::ModuloProblem::verifyUtilization(), circt::scheduling::SharedOperatorsProblem::verifyUtilization(), verifyVerbatimFlatSymbolRefs(), verifyVerbatimSymbols(), verifyWidthsMatch(), verifyYieldResults(), LocalVisitor::visit(), LocalVisitor::visit(), LocalVisitor::visit(), LocalVisitor::visit(), LocalVisitor::visit(), LocalVisitor::visitDefault(), circt::synth::CutEnumerator::visitLogicOp(), LocalVisitor::visitValue(), circt::igraph::InstanceGraph::walkInversePostOrder(), walkMappings(), circt::igraph::InstanceGraph::walkPostOrder(), circt::hw::InnerSymbolTable::walkSymbols(), circt::hw::InnerSymbolTable::walkSymbols(), circt::hw::InnerSymbolTable::walkSymbols(), circt::datapath::CompressorTree::withInputDelays(), and zeroRepeat().

Variable Documentation

◆ attrs

◆ found