CIRCT  19.0.0git
Functions | Variables
CHIRRTL.cpp File Reference
#include "circt-c/Dialect/CHIRRTL.h"
#include "circt/Dialect/FIRRTL/CHIRRTLDialect.h"
#include "mlir/CAPI/IR.h"
#include "mlir/CAPI/Registration.h"
#include "mlir/CAPI/Support.h"
Include dependency graph for CHIRRTL.cpp:

Go to the source code of this file.

Functions

 MLIR_DEFINE_CAPI_DIALECT_REGISTRATION (CHIRRTL, chirrtl, circt::chirrtl::CHIRRTLDialect) MlirType chirrtlTypeGetCMemory(MlirContext ctx
 
 assert (baseType &&"element must be base type")
 
return wrap (CMemoryType::get(unwrap(ctx), baseType, numElements))
 
MlirType chirrtlTypeGetCMemoryPort (MlirContext ctx)
 

Variables

MlirType elementType
 
MlirType uint64_t numElements
 

Function Documentation

◆ assert()

assert ( baseType &&"element must be base type"  )

Referenced by circt::Namespace::add(), circt::pretty::PrettyPrinter::add(), circt::pretty::BufferingPP::add(), circt::calyx::ComponentLoweringStateInterface::addBlockArgReg(), addBlockMapping(), circt::firrtl::IntrinsicLowerings::addConverter(), circt::hw::HWSymbolCache::addDefinition(), circt::ExportVerilog::OpLocMap::addEndLoc(), esi::AcceleratorServiceThread::addListener(), circt::calyx::LoopLoweringStateInterface< Loop >::addLoopIterReg(), circt::igraph::InstanceGraph::addModule(), circt::pipelinetocalyx::PipelineScheduler::addPipelineReg(), circt::calyx::ComponentLoweringStateInterface::addReturnReg(), circt::FirRegLowering::addToAlwaysBlock(), circt::pretty::BufferingPP::addTokens(), circt::pretty::PrettyPrinter::advanceLeft(), circt::firrtl::allUnder(), circt::analysis::CyclicSchedulingAnalysis::analyzeForOp(), circt::firrtl::Annotation::Annotation(), circt::firrtl::AnnotationSet::AnnotationSet(), applyEnableTransformation(), applyResetTransformation(), applyToPort(), circt::firrtl::areTypesRefCastable(), circt::pipelinetocalyx::BuildOpGroups::assignAddressPorts(), circt::scftocalyx::BuildOpGroups::assignAddressPorts(), BlockControlTerm::BlockControlTerm(), circt::pipelinetocalyx::BuildControl::buildCFGControl(), circt::scftocalyx::BuildControl::buildCFGControl(), circt::pipelinetocalyx::BuildOpGroups::buildLibraryOp(), circt::scftocalyx::BuildOpGroups::buildLibraryOp(), LowerLayersPass::buildNewModule(), circt::scftocalyx::BuildOpGroups::buildOp(), circt::ReachableMuxes::buildReachabilityFrom(), circt::pipelinetocalyx::BuildPipelineGroups::buildStageGroups(), ResolveTracesPass::buildTarget(), CallPrepPrecomputed::CallPrepPrecomputed(), canonicalizeLogicalCstWithConcat(), canonicalizeOrOfConcatsWithCstOperands(), canonicalizePrimOp(), checkMemrefDependence(), circt::pretty::PrettyPrinter::checkStack(), circt::pretty::PrettyPrinter::checkStream(), checkSubModuleOp(), circtESIAppendMlirFile(), circtMSFTPlacementDBRemovePlacement(), circt::pretty::PrettyPrinter::clear(), concatLiterals(), esi::ReadChannelPort::connect(), constFoldAssociativeOp(), constFoldBinaryOp(), constFoldFIRRTLBinaryOp(), constFoldTernaryOp(), constFoldUnaryOp(), circt::calyx::MemoryInterface::contentEn(), circt::calyx::MemoryInterface::contentEnOpt(), circt::comb::createOrFoldSExt(), createRandomizationAttributes(), createReqResp(), circt::FirRegLowering::createTree(), directionAsString(), dirFtoH(), circt::calyx::MemoryInterface::done(), dropSymbol(), LocationEmitter::emitLocationSetInfo(), FileEmitter::emitOp(), circt::ExportSystemC::EmissionPrinter::emitRegion(), emitSVAttributesImpl(), circt::TestCase::ensureFileOnDisk(), circt::pretty::PrettyPrinter::eof(), circt::pretty::BufferingPP::eof(), circt::hw::ModulePortInfo::eraseInput(), erasePort(), erasePorts(), circt::om::Evaluator::evaluateIntegerBinaryArithmetic(), circt::om::Evaluator::evaluateMapCreate(), circt::om::Evaluator::evaluateObjectInstance(), circt::handshake::executeMemoryOperation(), extractConcatToConcatExtract(), extractOperandFromFullyAssociative(), fetchValues(), llvm::yaml::MappingContextTraits< DescribedSignal, Context >::Field::Field(), circt::om::evaluator::EvaluatorValue::finalize(), findParentInNonProceduralRegion(), firrtlTypeGetBundleFieldIndex(), firrtlTypeGetClass(), firrtlTypeGetList(), firrtlTypeGetMaskType(), firrtlTypeGetRef(), firrtlTypeGetVector(), fixupClassOp(), flattenIndices(), foldBinaryOp(), foldCommonMuxValue(), foldUnaryOp(), esi::services::FuncService::Function::Function(), genValueName(), circt::hw::InnerSymbolTable::get(), getAllFieldAccesses(), circt::calyx::PortInfo::getAllIdentifiers(), getAllPortLocs(), circt::msft::PassCommon::getAndSortModulesVisitor(), circt::firrtl::AnnotationSet::getArrayAttr(), circt::calyx::PortInfo::getAttribute(), getBackwardSliceSimple(), circt::handshake::HandshakeLowering::getBlockEntryControl(), circt::llhd::TemporalRegionAnalysis::getBlockTR(), getBodyBlock(), getCellAsmResultNames(), circt::calyx::FuncOpPartialLoweringPattern::getComponent(), circt::calyx::getComponentOutput(), getDefiningBlock(), circt::hw::HWSymbolCache::getDefinition(), circt::calyx::ComponentLoweringStateInterface::getEvaluatingGroup(), getExtendedConstant(), getFieldID(), getFieldIDOffset(), circt::firrtl::getFieldRefForTarget(), circt::firrtl::FieldRefCache::getFieldRefFromValue(), circt::calyx::ComponentLoweringStateInterface::getFuncOpResultMapping(), circt::msft::getHierPathTopModule(), getIfAndBasedReset(), getIfMuxBasedDisable(), getIfMuxBasedEnable(), getIfMuxBasedReset(), getIndexForFieldID(), circt::igraph::InstanceGraph::getInferredTopLevelNodes(), circt::firrtl::getInnerRefTo(), circt::hw::InnerSymbolTable::getInnerSymbol(), circt::hw::HWModulePortAccessor::getInput(), circt::firrtl::getIntAttr(), circt::calyx::LoopLoweringStateInterface< Loop >::getLoopInitGroups(), circt::calyx::LoopLoweringStateInterface< Loop >::getLoopIterReg(), circt::calyx::LoopLoweringStateInterface< Loop >::getLoopLatchGroup(), getLowestBitAndHighestBitRequired(), circt::calyx::ComponentLoweringStateInterface::getMemoryInterface(), getMemTypeForExtmem(), getMergeOperand(), circt::calyx::CalyxLoweringState::getModule(), circt::parsing_util::getNameFromSSA(), circt::firrtl::OpAnnoTarget::getNLAReference(), circt::pipelinetocalyx::PipelineScheduler::getNonPipelinedGroupFrom(), getOperandFromBlock(), circt::firrtl::getOrAddInnerSym(), LowerXMRPass::getOrCreatePath(), circt::pipeline::getParentStageInPipeline(), circt::om::evaluator::BasePathValue::getPath(), circt::hw::InnerSymTarget::getPort(), getPortFieldValue(), circt::calyx::getPortInfo(), circt::analysis::CyclicSchedulingAnalysis::getProblem(), getResultsToMemory(), circt::calyx::ComponentLoweringStateInterface::getReturnReg(), getSortedInputs(), circt::scheduling::detail::Dependence::getSourceIndex(), circt::calyx::FuncOpPartialLoweringPattern::getState(), circt::firrtl::FIRToken::getStringValue(), getSubModuleName(), getSuccResult(), getTotalWidth(), circt::calyx::ComponentLoweringStateInterface::getUniqueName(), circt::msft::getValueName(), circt::firrtl::FIRToken::getVerbatimStringValue(), getVerilogDeclWord(), getVerilogValueName(), DiscoverLoops::handleRefForce(), handleZeroBit(), circt::calyx::PortInfo::hasAttribute(), esi::backends::trace::TraceAccelerator::Impl::Impl(), indexToMemAddr(), circt::FirRegLowering::initializeRegisterElements(), inlineInputOnly(), circt::hw::InnerSymbolTable::InnerSymbolTable(), circt::hw::InnerSymbolTableCollection::InnerSymbolTableCollection(), circt::hw::InnerSymTarget::InnerSymTarget(), insertPorts(), instantiateSystemVerilogMemory(), circt::FieldRef::isa(), circt::hw::isOffset(), isPortUnused(), isUselessVec(), circt::hw::isValidIndexBitWidth(), circt::igraph::InstancePath::leaf(), legalizeHWModule(), circt::firrtl::FIRLexer::lexNumber(), circt::ssp::loadOperatorType(), circt::ssp::loadProblem(), circt::firrtl::OwningModuleCache::lookup(), circt::hw::InnerRefNamespace::lookup(), circt::igraph::InstanceGraph::lookup(), circt::hw::HWSymbolCache::lookupInner(), circt::hw::InnerRefNamespace::lookupOp(), esi::AcceleratorServiceThread::Impl::loop(), lowerAlwaysInlineOperation(), lowerFullyAssociativeOp(), lowerFunctionCallResults(), lowerModuleBody(), lowerModuleSignature(), makeAbsolute(), Deduper::makeAnnotationNonLocal(), circt::firrtl::FieldSource::makeNodeForValue(), circt::om::evaluator::EvaluatorValue::markFullyEvaluated(), ConvertCellOp::matchAndRewrite(), ConvertComponentOp::matchAndRewrite(), PathOpConversion::matchAndRewrite(), matchAndRewriteCompareConcat(), circt::calyx::MemoryInterface::MemoryInterface(), mergeRegions(), modifyModuleArgs(), moveNameHint(), circt::msft::PlacementDB::movePlacement(), omEvaluatorValueGetList(), omEvaluatorValueGetPrimitive(), omEvaluatorValueGetReferenceValue(), circt::firrtl::FIRRTLTypeSwitch< T, ResultT >::operator ResultT(), circt::ExportVerilog::OpLocMap::operator()(), circt::igraph::InstanceGraphNode::UseIterator::operator++(), circt::om::operator<<(), parseClassLike(), parseModulePorts(), FIRParser::LocWithInfo::parseOptionalInfo(), parseUnPackBundleType(), circt::pipelinetocalyx::BuildPipelineRegs::partiallyLowerFuncToComp(), circt::calyx::BuildReturnRegs::partiallyLowerFuncToComp(), HashTableStack< KeyT, ValueT >::popScope(), circt::msft::TclEmitter::populate(), populateTypeConversion(), populateTypeConverter(), circt::hw::PortConverterImpl::PortConverterImpl(), circt::pretty::PrettyPrinter::PrettyPrinter(), circt::pretty::PrettyPrinter::print(), printCaseRegions(), printIfaceTypeAndSignal(), printMooreType(), esi::ReadChannelPort::readAsync(), circt::calyx::MemoryInterface::readData(), circt::calyx::MemoryInterface::readEn(), circt::calyx::MemoryInterface::readEnOpt(), circt::pretty::PrettyPrinter::rebaseIfNeeded(), circt::llhd::TemporalRegionAnalysis::recalculate(), reconnectMergeOps(), circt::calyx::ComponentLoweringStateInterface::registerMemoryInterface(), removeElementsAtIndices(), replaceInnerRefUsers(), circt::igraph::InstanceGraph::replaceInstance(), circt::handshake::HandshakeLowering::replaceMemoryOps(), replaceOpWithRegion(), replacePortField(), resolveClasses(), circt::firrtl::resolveEntities(), circt::handshake::resolveInstanceGraph(), LowerXMRPass::resolveReferencePath(), RootPortPruner::rewrite(), FIRRTLOperandForwarder< OpNum >::rewrite(), FIRRTLConstantifier::rewrite(), ConnectInvalidator::rewrite(), DetachSubaccesses::rewrite(), HWOperandForwarder< OpNum >::rewrite(), HWConstantifier::rewrite(), rewriteSideEffectingExpr(), LowerLayersPass::runOnModuleBody(), LowerLayersPass::runOnModuleLike(), circt::SeqToSVPass::runOnOperation(), SFCCompatPass::runOnOperation(), circt::pipelinetocalyx::LoopScheduleToCalyxPass::runPartialPattern(), circt::ssp::saveProblem(), circt::scheduling::scheduleLP(), circt::om::evaluator::BasePathValue::setBasepath(), circt::om::evaluator::PathValue::setBasepath(), circt::handshake::HandshakeLowering::setControlOnlyPath(), circt::calyx::LoopLoweringStateInterface< Loop >::setLoopInitGroups(), circt::calyx::LoopLoweringStateInterface< Loop >::setLoopLatchGroup(), circt::hw::HWModulePortAccessor::setOutput(), circt::ExportVerilog::StringOrOpToEmit::setString(), circt::calyx::ComponentLoweringStateInterface::setUniqueName(), circt::Backedge::setValue(), shouldBeFlattened(), shouldMaterialize(), simplifyCLog2(), simplifyDivS(), simplifyDivU(), simplifyModS(), simplifyModU(), simplifyShl(), simplifyShrS(), simplifyShrU(), simplifyStrConcat(), esi::cosim::RpcServer::stop(), storeValues(), circt::pretty::StringToken::StringToken(), sv2cCosimserverMMIOReadRespond(), sv2cCosimserverMMIOWriteRespond(), svAckDisabledState(), svDimensions(), svDpiVersion(), svGetArrayPtr(), svGetArrElemPtr(), svGetArrElemPtr1(), svGetArrElemPtr2(), svGetArrElemPtr3(), svGetBitArrElem(), svGetBitArrElem1(), svGetBitArrElem1VecVal(), svGetBitArrElem2(), svGetBitArrElem2VecVal(), svGetBitArrElem3(), svGetBitArrElem3VecVal(), svGetBitArrElemVecVal(), svGetBitselBit(), svGetBitselLogic(), svGetCallerInfo(), svGetLogicArrElem(), svGetLogicArrElem1(), svGetLogicArrElem1VecVal(), svGetLogicArrElem2(), svGetLogicArrElem2VecVal(), svGetLogicArrElem3(), svGetLogicArrElem3VecVal(), svGetLogicArrElemVecVal(), svGetNameFromScope(), svGetPartselBit(), svGetPartselLogic(), svGetScope(), svGetScopeFromName(), svGetUserData(), svHigh(), svIncrement(), svIsDisabledState(), svLeft(), svLow(), svPutBitArrElem(), svPutBitArrElem1(), svPutBitArrElem1VecVal(), svPutBitArrElem2(), svPutBitArrElem2VecVal(), svPutBitArrElem3(), svPutBitArrElem3VecVal(), svPutBitArrElemVecVal(), svPutBitselBit(), svPutBitselLogic(), svPutLogicArrElem(), svPutLogicArrElem1(), svPutLogicArrElem1VecVal(), svPutLogicArrElem2(), svPutLogicArrElem2VecVal(), svPutLogicArrElem3(), svPutLogicArrElem3VecVal(), svPutLogicArrElemVecVal(), svPutPartselBit(), svPutPartselLogic(), svPutUserData(), svRight(), svSetScope(), svSize(), svSizeOfArray(), circt::igraph::InstancePath::top(), circt::LoweringOptions::toString(), circt::firrtl::FIRLexer::translateLocation(), tryEliminatingConnectsToValue(), circt::firrtl::type_cast(), circt::hw::type_cast(), uniqueInNamespace(), StructuralHasher::update(), circt::hw::PortConverterImpl::updateInstance(), updateInstanceInClass(), updateInstancesInModule(), circt::ExportVerilog::OpLocMap::updateIRWithLoc(), updateName(), updateType(), verifyArcSymbolUse(), circt::firrtl::FieldRefCache::verifyImpl(), verifyModuleCommon(), verifyPortDirection(), circt::calyx::Combinational< ConcreteType >::verifyTrait(), CompileControlVisitor::visit(), circt::firrtl::FieldSource::visitOpenSubfield(), circt::firrtl::FieldSource::visitOpenSubindex(), circt::firrtl::FieldSource::visitSubaccess(), circt::firrtl::FieldSource::visitSubfield(), circt::firrtl::FieldSource::visitSubindex(), circt::firrtl::walkDrivers(), circt::firrtl::walkGroundTypes(), circt::hw::InnerSymbolTable::walkSymbols(), circt::calyx::MemoryInterface::writeData(), and circt::calyx::MemoryInterface::writeEn().

◆ chirrtlTypeGetCMemoryPort()

MlirType chirrtlTypeGetCMemoryPort ( MlirContext  ctx)

Definition at line 37 of file CHIRRTL.cpp.

References circt::calyx::direction::get(), unwrap(), and wrap().

◆ MLIR_DEFINE_CAPI_DIALECT_REGISTRATION()

MLIR_DEFINE_CAPI_DIALECT_REGISTRATION ( CHIRRTL  ,
chirrtl  ,
circt::chirrtl::CHIRRTLDialect   
)

◆ wrap()

return wrap ( CMemoryType::get(unwrap(ctx), baseType, numElements )

Referenced by chirrtlTypeGetCMemoryPort(), circtESIAnyTypeGet(), circtESIAppIDAttrGet(), circtESIAppIDAttrGetName(), circtESIAppIDAttrGetNoIdx(), circtESIAppIDAttrPathGet(), circtESIAppIDAttrPathGetComponent(), circtESIAppIDAttrPathGetRoot(), circtESIAppIDIndexGet(), circtESIAppIDIndexGetAppIDPath(), circtESIAppIDIndexGetChildAppIDsOf(), circtESIBundleTypeGet(), circtESIBundleTypeGetChannel(), circtESIChannelGetInner(), circtESIChannelTypeGet(), circtESIListTypeGet(), circtESIListTypeGetElementType(), circtESILookup(), circtESIRegisterGlobalServiceGenerator(), circtFirtoolPopulateCHIRRTLToLowFIRRTL(), circtFirtoolPopulateExportSplitVerilog(), circtFirtoolPopulateExportVerilog(), circtFirtoolPopulateFinalizeIR(), circtFirtoolpopulateHWToBTOR2(), circtFirtoolPopulateHWToSV(), circtFirtoolPopulateLowFIRRTLToHW(), circtFirtoolPopulatePreprocessTransforms(), circtMSFTCreatePlacementDB(), circtMSFTCreatePrimitiveDB(), circtMSFTLocationVectorAttrGet(), circtMSFTLocationVectorAttrGetElement(), circtMSFTLocationVectorAttrGetType(), circtMSFTPhysicalBoundsAttrGet(), circtMSFTPhysLocationAttrGet(), circtMSFTPlacementDBGetInstanceAt(), circtMSFTPlacementDBGetNearestFreeInColumn(), circtMSFTPlacementDBMovePlacement(), circtMSFTPlacementDBPlace(), circtMSFTPlacementDBWalkPlacements(), circtMSFTPrimitiveDBAddPrimitive(), DEFINE_C_API_PTR_METHODS(), firrtlAttrGetConvention(), firrtlAttrGetEventControl(), firrtlAttrGetIntegerFromString(), firrtlAttrGetMemDir(), firrtlAttrGetMemInit(), firrtlAttrGetNameKind(), firrtlAttrGetParamDecl(), firrtlAttrGetPortDirs(), firrtlAttrGetRUW(), firrtlImportAnnotationsFromJSONRaw(), firrtlTypeGetAnalog(), firrtlTypeGetAnyRef(), firrtlTypeGetAsyncReset(), firrtlTypeGetBoolean(), firrtlTypeGetBundle(), firrtlTypeGetClass(), firrtlTypeGetClock(), firrtlTypeGetDouble(), firrtlTypeGetInteger(), firrtlTypeGetList(), firrtlTypeGetMaskType(), firrtlTypeGetPath(), firrtlTypeGetRef(), firrtlTypeGetReset(), firrtlTypeGetSInt(), firrtlTypeGetString(), firrtlTypeGetVector(), hwArrayTypeGet(), hwArrayTypeGetElementType(), hwInnerRefAttrGet(), hwInnerRefAttrGetModule(), hwInnerRefAttrGetName(), hwInnerSymAttrGet(), hwInnerSymAttrGetSymName(), hwInOutTypeGet(), hwInOutTypeGetElementType(), hwInstanceGraphForEachNode(), hwInstanceGraphGet(), hwInstanceGraphGetTopLevelNode(), hwInstanceGraphNodeGetModule(), hwInstanceGraphNodeGetModuleOp(), hwModuleTypeGet(), hwModuleTypeGetInputName(), hwModuleTypeGetInputType(), hwModuleTypeGetOutputName(), hwModuleTypeGetOutputType(), hwOutputFileGetFromFileName(), hwParamDeclAttrGet(), hwParamDeclAttrGetName(), hwParamDeclAttrGetType(), hwParamDeclAttrGetValue(), hwParamDeclRefAttrGet(), hwParamDeclRefAttrGetName(), hwParamDeclRefAttrGetType(), hwParamIntTypeGet(), hwParamIntTypeGetWidthAttr(), hwParamVerbatimAttrGet(), hwStructTypeGet(), hwStructTypeGetField(), hwStructTypeGetFieldIndex(), hwStructTypeGetFieldNum(), hwTypeAliasTypeGet(), hwTypeAliasTypeGetCanonicalType(), hwTypeAliasTypeGetInnerType(), hwTypeAliasTypeGetName(), hwTypeAliasTypeGetScope(), llhdPointerTypeGet(), llhdPointerTypeGetElementType(), llhdTimeAttrGet(), llhdTimeAttrGetTimeUnit(), llhdTimeTypeGet(), loadFirMlirFile(), mlirExportFIRRTL(), mlirExportSplitVerilog(), mlirExportVerilog(), mooreArrayTypeGet(), mooreAssocArrayTypeGet(), mooreChandleTypeGet(), mooreEventTypeGet(), mooreIntTypeGetInt(), mooreIntTypeGetLogic(), mooreOpenArrayTypeGet(), mooreOpenUnpackedArrayTypeGet(), mooreQueueTypeGet(), mooreRealTypeGet(), mooreStringTypeGet(), mooreUnpackedArrayTypeGet(), mooreVoidTypeGet(), operationTypeDupIntRepProc(), registerServiceGenerator(), seqClockTypeGet(), svSVAttributeAttrGet(), svSVAttributeAttrGetExpression(), and svSVAttributeAttrGetName().

Variable Documentation

◆ elementType

MlirType elementType

◆ numElements

MlirType uint64_t numElements
Initial value:
{
auto baseType = cast<firrtl::FIRRTLBaseType>(unwrap(elementType))
MlirType elementType
Definition: CHIRRTL.cpp:29
static EvaluatorValuePtr unwrap(OMEvaluatorValue c)
Definition: OM.cpp:96

Definition at line 30 of file CHIRRTL.cpp.

Referenced by circtESIAppIDAttrPathGet(), circtMSFTLocationVectorAttrGet(), circt::firrtl::emitConnect(), getDFClosure(), hwStructTypeGet(), inferMuxReturnType(), updateObjectInClass(), and circt::firrtl::detail::verifyTypeAgainstClassLike().