alexfh wrote: Compiling Clang with more debug information and without FDO+ThinLTO indeed shows `clang::serialization::MultiOnDiskHashTable<clang::serialization::reader::LazySpecializationInfoLookupTrait>::findAll()` as the main time sink: ``` + 96.99% 0.00% clang clang [.] clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) ◆ + 93.50% 0.00% clang clang [.] clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) ▒ + 91.97% 0.00% clang clang [.] clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) ▒ + 91.62% 0.00% clang clang [.] clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) ▒ + 91.58% 0.00% clang clang [.] clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) ▒ + 91.12% 0.00% clang clang [.] clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformUnresolvedLookupExpr(clang::UnresolvedLookupExpr*, bool) ▒ + 91.00% 0.00% clang clang [.] clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const*) ▒ + 90.97% 1.27% clang clang [.] clang::ASTReader::LoadExternalSpecializations(clang::Decl const*, bool) ▒ + 90.69% 0.00% clang clang [.] MarkExprReferenced(clang::Sema&, clang::SourceLocation, clang::Decl*, clang::Expr*, bool, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang:▒ + 90.55% 0.00% clang clang [.] clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) ▒ + 90.48% 0.00% clang clang [.] clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clan▒ + 90.30% 0.00% clang clang [.] clang::Sema::CheckVarTemplateId(clang::VarTemplateDecl*, clang::SourceLocation, clang::SourceLocation, clang::TemplateArgumentListInfo const&) ▒ + 90.24% 0.00% clang clang [.] clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) ▒ + 90.04% 0.00% clang clang [.] clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) ▒ + 89.47% 0.01% clang clang [.] clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgu▒ + 89.47% 0.00% clang clang [.] clang::VarTemplateDecl::getPartialSpecializations(llvm::SmallVectorImpl<clang::VarTemplatePartialSpecializationDecl*>&) const ▒ - 89.35% 61.19% clang clang [.] clang::serialization::MultiOnDiskHashTable<clang::serialization::reader::LazySpecializationInfoLookupTrait>::findAll() ▒ - 28.16% clang::serialization::MultiOnDiskHashTable<clang::serialization::reader::LazySpecializationInfoLookupTrait>::findAll() ▒ - 20.71% llvm::DenseMap<clang::serialization::reader::LazySpecializationInfo, llvm::detail::DenseSetEmpty, llvm::DenseMapInfo<clang::serialization::reader::LazySpecializationInfo, void>, llvm::detail::DenseS▒ + 0.82% 0xffffffff8b4012a6 ▒ + 7.26% llvm::SmallVectorBase<unsigned int>::grow_pod(void*, unsigned long, unsigned long) ▒ - 14.45% clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) ▒ - 14.44% clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) ▒ clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool*) ▒ + clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) ▒ + 13.46% clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) ▒ + 11.65% _start ▒ + 11.18% clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(clang::TypedefNameDecl*, bool) ▒ + 7.98% clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) ▒ + 1.75% clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) ▒ ```
https://github.com/llvm/llvm-project/pull/83237 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits