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

Reply via email to