llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Nikolas Klauser (philnik777) <details> <summary>Changes</summary> `DeduceTemplateArguments` can take a significant amount of time, and is therefore interesting for optimizing compile times. --- Full diff: https://github.com/llvm/llvm-project/pull/218112.diff 1 Files Affected: - (modified) clang/lib/Sema/SemaTemplateDeduction.cpp (+9) ``````````diff diff --git a/clang/lib/Sema/SemaTemplateDeduction.cpp b/clang/lib/Sema/SemaTemplateDeduction.cpp index 3c45806c47a6e..e13de97c802b2 100644 --- a/clang/lib/Sema/SemaTemplateDeduction.cpp +++ b/clang/lib/Sema/SemaTemplateDeduction.cpp @@ -55,6 +55,7 @@ #include "llvm/Support/Compiler.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/SaveAndRestore.h" +#include "llvm/Support/TimeProfiler.h" #include <algorithm> #include <cassert> #include <optional> @@ -4489,6 +4490,10 @@ TemplateDeductionResult Sema::DeduceTemplateArguments( if (FunctionTemplate->isInvalidDecl()) return TemplateDeductionResult::Invalid; + llvm::TimeTraceScope TimeScope("DeduceTemplateArguments", [&] { + return FunctionTemplate->getLocation().printToString(SourceMgr); + }); + FunctionDecl *Function = FunctionTemplate->getTemplatedDecl(); unsigned NumParams = Function->getNumParams(); bool HasExplicitObject = false; @@ -4772,6 +4777,10 @@ TemplateDeductionResult Sema::DeduceTemplateArguments( if (FunctionTemplate->isInvalidDecl()) return TemplateDeductionResult::Invalid; + llvm::TimeTraceScope TimeScope("DeduceTemplateArguments", [&] { + return FunctionTemplate->getLocation().printToString(SourceMgr); + }); + FunctionDecl *Function = FunctionTemplate->getTemplatedDecl(); TemplateParameterList *TemplateParams = FunctionTemplate->getTemplateParameters(); `````````` </details> https://github.com/llvm/llvm-project/pull/218112 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
