Lines Matching refs:impl

260     : impl(new MLIRContextImpl(setting == Threading::ENABLED &&  in MLIRContext()
269 registry.appendTo(impl->dialectsRegistry); in MLIRContext()
279 impl->bf16Ty = TypeUniquer::get<BFloat16Type>(this); in MLIRContext()
280 impl->f16Ty = TypeUniquer::get<Float16Type>(this); in MLIRContext()
281 impl->f32Ty = TypeUniquer::get<Float32Type>(this); in MLIRContext()
282 impl->f64Ty = TypeUniquer::get<Float64Type>(this); in MLIRContext()
283 impl->f80Ty = TypeUniquer::get<Float80Type>(this); in MLIRContext()
284 impl->f128Ty = TypeUniquer::get<Float128Type>(this); in MLIRContext()
286 impl->indexTy = TypeUniquer::get<IndexType>(this); in MLIRContext()
288 impl->int1Ty = TypeUniquer::get<IntegerType>(this, 1, IntegerType::Signless); in MLIRContext()
289 impl->int8Ty = TypeUniquer::get<IntegerType>(this, 8, IntegerType::Signless); in MLIRContext()
290 impl->int16Ty = in MLIRContext()
292 impl->int32Ty = in MLIRContext()
294 impl->int64Ty = in MLIRContext()
296 impl->int128Ty = in MLIRContext()
299 impl->noneType = TypeUniquer::get<NoneType>(this); in MLIRContext()
305 impl->unknownLocAttr = AttributeUniquer::get<UnknownLoc>(this); in MLIRContext()
307 impl->falseAttr = IntegerAttr::getBoolAttrUnchecked(impl->int1Ty, false); in MLIRContext()
308 impl->trueAttr = IntegerAttr::getBoolAttrUnchecked(impl->int1Ty, true); in MLIRContext()
310 impl->unitAttr = AttributeUniquer::get<UnitAttr>(this); in MLIRContext()
312 impl->emptyDictionaryAttr = DictionaryAttr::getEmptyUnchecked(this); in MLIRContext()
314 impl->emptyStringAttr = StringAttr::getEmptyStringAttrUnchecked(this); in MLIRContext()
317 impl->affineUniquer in MLIRContext()
319 impl->affineUniquer in MLIRContext()
321 impl->affineUniquer.registerParametricStorageType<AffineDimExprStorage>(); in MLIRContext()
322 impl->affineUniquer.registerParametricStorageType<AffineMapStorage>(); in MLIRContext()
323 impl->affineUniquer.registerParametricStorageType<IntegerSetStorage>(); in MLIRContext()
358 if (registry.isSubsetOf(impl->dialectsRegistry)) in appendDialectRegistry()
361 assert(impl->multiThreadedExecutionContext == 0 && in appendDialectRegistry()
364 registry.appendTo(impl->dialectsRegistry); in appendDialectRegistry()
371 return impl->dialectsRegistry; in getDialectRegistry()
377 result.reserve(impl->loadedDialects.size()); in getLoadedDialects()
378 for (auto &dialect : impl->loadedDialects) in getLoadedDialects()
388 for (auto dialect : impl->dialectsRegistry.getDialectNames()) in getAvailableDialects()
397 auto it = impl->loadedDialects.find(name); in getLoadedDialect()
398 return (it != impl->loadedDialects.end()) ? it->second.get() : nullptr; in getLoadedDialect()
406 impl->dialectsRegistry.getDialectAllocator(name); in getOrLoadDialect()
416 auto &impl = getImpl(); in getOrLoadDialect() local
418 auto dialectIt = impl.loadedDialects.find(dialectNamespace); in getOrLoadDialect()
420 if (dialectIt == impl.loadedDialects.end()) { in getOrLoadDialect()
424 if (impl.multiThreadedExecutionContext != 0) in getOrLoadDialect()
432 impl.loadedDialects.insert({dialectNamespace, ctor()}).first->second; in getOrLoadDialect()
438 auto stringAttrsIt = impl.dialectReferencingStrAttrs.find(dialectNamespace); in getOrLoadDialect()
439 if (stringAttrsIt != impl.dialectReferencingStrAttrs.end()) { in getOrLoadDialect()
442 impl.dialectReferencingStrAttrs.erase(stringAttrsIt); in getOrLoadDialect()
446 impl.dialectsRegistry.applyExtensions(dialect.get()); in getOrLoadDialect()
467 hash = llvm::hash_combine(hash, impl->loadedDialects.size()); in getRegistryHash()
468 hash = llvm::hash_combine(hash, impl->registeredAttributes.size()); in getRegistryHash()
469 hash = llvm::hash_combine(hash, impl->registeredOperations.size()); in getRegistryHash()
470 hash = llvm::hash_combine(hash, impl->registeredTypes.size()); in getRegistryHash()
475 return impl->allowUnregisteredDialects; in allowsUnregisteredDialects()
479 assert(impl->multiThreadedExecutionContext == 0 && in allowUnregisteredDialects()
482 impl->allowUnregisteredDialects = allowing; in allowUnregisteredDialects()
487 return impl->threadingIsEnabled && llvm::llvm_is_multithreaded(); in isMultithreadingEnabled()
496 assert(impl->multiThreadedExecutionContext == 0 && in disableMultithreading()
500 impl->threadingIsEnabled = !disable; in disableMultithreading()
503 impl->affineUniquer.disableMultithreading(disable); in disableMultithreading()
504 impl->attributeUniquer.disableMultithreading(disable); in disableMultithreading()
505 impl->typeUniquer.disableMultithreading(disable); in disableMultithreading()
513 if (impl->ownedThreadPool) { in disableMultithreading()
514 assert(impl->threadPool); in disableMultithreading()
515 impl->threadPool = nullptr; in disableMultithreading()
516 impl->ownedThreadPool.reset(); in disableMultithreading()
518 } else if (!impl->threadPool) { in disableMultithreading()
520 assert(!impl->ownedThreadPool); in disableMultithreading()
521 impl->ownedThreadPool = std::make_unique<llvm::ThreadPool>(); in disableMultithreading()
522 impl->threadPool = impl->ownedThreadPool.get(); in disableMultithreading()
529 impl->threadPool = &pool; in setThreadPool()
530 impl->ownedThreadPool.reset(); in setThreadPool()
536 assert(impl->threadPool && in getNumThreads()
538 return impl->threadPool->getThreadCount(); in getNumThreads()
547 assert(impl->threadPool && in getThreadPool()
549 return *impl->threadPool; in getThreadPool()
554 ++impl->multiThreadedExecutionContext; in enterMultiThreadedExecution()
559 --impl->multiThreadedExecutionContext; in exitMultiThreadedExecution()
566 return impl->printOpOnDiagnostic; in shouldPrintOpOnDiagnostic()
572 assert(impl->multiThreadedExecutionContext == 0 && in printOpOnDiagnostic()
575 impl->printOpOnDiagnostic = enable; in printOpOnDiagnostic()
581 return impl->printStackTraceOnDiagnostic; in shouldPrintStackTraceOnDiagnostic()
587 assert(impl->multiThreadedExecutionContext == 0 && in printStackTraceOnDiagnostic()
590 impl->printStackTraceOnDiagnostic = enable; in printStackTraceOnDiagnostic()
595 return impl->sortedRegisteredOperations; in getRegisteredOperations()
603 auto &impl = context->getImpl(); in addType() local
604 assert(impl.multiThreadedExecutionContext == 0 && in addType()
608 new (impl.abstractDialectSymbolAllocator.Allocate<AbstractType>()) in addType()
610 if (!impl.registeredTypes.insert({typeID, newInfo}).second) in addType()
615 auto &impl = context->getImpl(); in addAttribute() local
616 assert(impl.multiThreadedExecutionContext == 0 && in addAttribute()
620 new (impl.abstractDialectSymbolAllocator.Allocate<AbstractAttribute>()) in addAttribute()
622 if (!impl.registeredAttributes.insert({typeID, newInfo}).second) in addAttribute()
642 auto &impl = context->getImpl(); in lookupMutable() local
643 auto it = impl.registeredAttributes.find(typeID); in lookupMutable()
644 if (it == impl.registeredAttributes.end()) in lookupMutable()
664 impl = registeredIt->second.impl; in OperationName()
671 impl = &it->second; in OperationName()
682 impl = &it.first->second; in OperationName()
697 auto &impl = ctx->getImpl(); in lookup() local
698 auto it = impl.registeredOperations.find(name); in lookup()
699 if (it != impl.registeredOperations.end()) in lookup()
707 return impl->parseAssemblyFn(parser, result); in parseAssembly()
711 impl->populateDefaultAttrsFn(*this, attrs); in populateDefaultAttrs()
744 OperationName::Impl &impl = it.first->second; in insert() local
746 if (impl.isRegistered()) { in insert()
752 name, RegisteredOperationName(&impl)); in insert()
766 impl.dialect = &dialect; in insert()
767 impl.typeID = typeID; in insert()
768 impl.interfaceMap = std::move(interfaceMap); in insert()
769 impl.foldHookFn = std::move(foldHook); in insert()
770 impl.getCanonicalizationPatternsFn = std::move(getCanonicalizationPatterns); in insert()
771 impl.hasTraitFn = std::move(hasTrait); in insert()
772 impl.parseAssemblyFn = std::move(parseAssembly); in insert()
773 impl.printAssemblyFn = std::move(printAssembly); in insert()
774 impl.verifyInvariantsFn = std::move(verifyInvariants); in insert()
775 impl.verifyRegionInvariantsFn = std::move(verifyRegionInvariants); in insert()
776 impl.attributeNames = cachedAttrNames; in insert()
777 impl.populateDefaultAttrsFn = std::move(populateDefaultAttrs); in insert()
793 auto &impl = context->getImpl(); in lookupMutable() local
794 auto it = impl.registeredTypes.find(typeID); in lookupMutable()
795 if (it == impl.registeredTypes.end()) in lookupMutable()
935 MLIRContextImpl &impl = context->getImpl(); in initialize() local
936 llvm::sys::SmartScopedLock<true> lock(impl.dialectRefStrAttrMutex); in initialize()
937 impl.dialectReferencingStrAttrs[dialectNamePair.first].push_back(this); in initialize()
956 auto &impl = context->getImpl(); in getImpl() local
957 auto *storage = impl.affineUniquer.get<AffineMapStorage>( in getImpl()
1019 auto &impl = constraints[0].getContext()->getImpl(); in get() local
1020 auto *storage = impl.affineUniquer.get<IntegerSetStorage>( in get()