|
CIRCT 24.0.0git
|
#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"
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 |
|
static |
Definition at line 379 of file ModuleImplementation.cpp.
References assert(), circt::hw::ModulePort::Input, and circt::hw::ModulePort::Output.
Referenced by circt::hw::module_like_impl::printModuleSignatureNew().
| 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().
|
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().
|
static |
Definition at line 85 of file ModuleImplementation.cpp.
Referenced by circt::hw::module_like_impl::printModuleSignature().
| if | ( | ! | found | ) |
References found.
| if | ( | parseOptionalKeywordOrOptionalString(parser, result.rawName, found) | ) |
References found.
Referenced by circt::esi::detail::ESIHWBuilder::ESIHWBuilder(), circt::ExportVerilog::GlobalNameResolver::GlobalNameResolver(), hoistNonSideEffectExpr(), esi::backends::trace::TraceAccelerator::Impl::Impl(), circt::PassReduction::PassReduction(), SerialCoordInput::SerialCoordInput(), and verifyModuleCommon().
| if | ( | parser. | parseColonTyperesult.type)||parser.parseOptionalAttrDict(attrs)||parser.parseOptionalLocationSpecifier(result.sourceLoc | ) |
References attrs.
|
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().
|
static |
Definition at line 303 of file ModuleImplementation.cpp.
References attrs, failure(), circt::hw::module_like_impl::PortParse::rawName, and success().
Referenced by parsePort().
|
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().
|
static |
Definition at line 347 of file ModuleImplementation.cpp.
References parsePort().
Referenced by circt::hw::module_like_impl::parseModuleSignature().
| 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().
| result attrs = attrs.getDictionary(parser.getContext()) |
Definition at line 280 of file ModuleImplementation.cpp.
Referenced by addStringToStringArrayAttr(), circt::sv::addSVAttributes(), circt::calyx::appendPortsForExternalMemref(), arrayOrEmpty(), cleanCalyxPortAttrs(), circt::hw::PortConverterImpl::createNewInput(), circt::hw::PortConverterImpl::createNewOutput(), circt::elideImplicitSSAName(), emitSVAttributesImpl(), foldHiddenReset(), getAnnotationsFrom(), llvm::DOTGraphTraits< circt::fsm::FSMGraph * >::getEdgeAttributes(), getInputPortVerilogName(), getPortImpl(), hasAttribute(), if(), circt::inferImplicitSSAName(), isLegalOp(), omListAttrGet(), parseFunctionResultList(), parseHWModuleOp(), circt::parseImplicitSSAName(), parseOutputPort(), parsePort(), printFIRRTLImplicitSSAName(), circt::printImplicitSSAName(), circt::sv::removeSVAttributes(), mlir::AttrTypeSubElementHandler< circt::firrtl::FEnumType::EnumElement >::replace(), circt::sv::setSVAttributes(), and circt::sv::setSVAttributes().
| bool found = false |
Definition at line 283 of file ModuleImplementation.cpp.
Referenced by Deduper::addAnnotationContext(), if(), if(), esi::loadBackend(), parseExtractOp(), circt::firrtl::Annotation::removeMember(), circt::firrtl::Annotation::setMember(), and valueToName().