[llvm-branch-commits] [clang] [Serialization] Code cleanups and polish 83233 (PR #83237)
Alexander Kornienko via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Oct 23 05:37:48 PDT 2024
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
More information about the llvm-branch-commits
mailing list