llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver Author: Utkarsh Saxena (usx95) <details> <summary>Changes</summary> --- Full diff: https://github.com/llvm/llvm-project/pull/98320.diff 3 Files Affected: - (modified) clang/lib/Sema/SemaTemplateInstantiate.cpp (+1) - (modified) clang/lib/Sema/SemaTemplateInstantiateDecl.cpp (+1) - (modified) clang/test/Driver/ftime-trace-sections.py (+15-1) ``````````diff diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index a7bc6749c5852..69f46a77d8067 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -3430,6 +3430,7 @@ Sema::InstantiateClass(SourceLocation PointOfInstantiation, llvm::raw_string_ostream OS(Name); Instantiation->getNameForDiagnostic(OS, getPrintingPolicy(), /*Qualified=*/true); + OS << "@" << SourceMgr.getFilename(Instantiation->getLocation()); return Name; }); diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index 88f6af80cbc55..d835a217802ac 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -4966,6 +4966,7 @@ void Sema::InstantiateFunctionDefinition(SourceLocation PointOfInstantiation, llvm::raw_string_ostream OS(Name); Function->getNameForDiagnostic(OS, getPrintingPolicy(), /*Qualified=*/true); + OS << "@" << SourceMgr.getFilename(Function->getLocation()); return Name; }); diff --git a/clang/test/Driver/ftime-trace-sections.py b/clang/test/Driver/ftime-trace-sections.py index 02afa4ac54eb7..cfec77fc97a8e 100644 --- a/clang/test/Driver/ftime-trace-sections.py +++ b/clang/test/Driver/ftime-trace-sections.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -import json, sys, time +import json, sys, time, re def is_inside(range1, range2): @@ -16,12 +16,18 @@ def is_before(range1, range2): c = range2["ts"] return b <= c +instantiation_pattern = re.compile("^.*<.*>@.*.cpp$") + +def is_valid_instantiation(instantiation): + return instantiation_pattern.match(instantiation["args"]["detail"]) + log_contents = json.loads(sys.stdin.read()) events = log_contents["traceEvents"] codegens = [event for event in events if event["name"] == "CodeGen Function"] frontends = [event for event in events if event["name"] == "Frontend"] backends = [event for event in events if event["name"] == "Backend"] +instantiations = [event for event in events if event["name"].startswith("Instantiate")] beginning_of_time = log_contents["beginningOfTime"] / 1000000 seconds_since_epoch = time.time() @@ -48,3 +54,11 @@ def is_before(range1, range2): ] ): sys.exit("Not all Frontend section are before all Backend sections!") + +if not all( + [ + is_valid_instantiation(instantiation) + for instantiation in instantiations + ] +): + sys.exit("Not all Frontend section are before all Backend sections!") `````````` </details> https://github.com/llvm/llvm-project/pull/98320 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits