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

Reply via email to