================
@@ -1182,6 +1183,10 @@ bool Sema::CheckConstraintSatisfaction(
     const MultiLevelTemplateArgumentList &TemplateArgsLists,
     SourceRange TemplateIDRange, ConstraintSatisfaction &OutSatisfaction,
     const ConceptReference *TopLevelConceptId, Expr **ConvertedExpr) {
+  llvm::TimeTraceScope TimeScope(
+      "CheckConstraintSatisfaction", [TemplateIDRange, this] {
+        return TemplateIDRange.printToString(getSourceManager());
+      });
----------------
zyn0217 wrote:

I think I like the idea of adding time trace scopes for concept checking; 
Corentin and I are also exploring this locally to understand our concept 
performance issues.

however I think it would be much more useful to have fine-grained statistics - 
for example, identifying which concepts (and optionally, with which template 
arguments) are the most time-consuming.

That said, this is a good start, and I am not opposed to going with it as is.

https://github.com/llvm/llvm-project/pull/170264
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to