Author: llunak Date: Sun May 12 03:39:21 2019 New Revision: 360539 URL: http://llvm.org/viewvc/llvm-project?rev=360539&view=rev Log: make -ftime-trace also print template arguments
Without this, I get e.g. 'PerformPendingInstantiations' -> 'std::fill', now I get 'std::fill<unsigned long *, int>'. Differential Revision: https://reviews.llvm.org/D61822 Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=360539&r1=360538&r2=360539&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original) +++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Sun May 12 03:39:21 2019 @@ -2695,8 +2695,13 @@ void CodeGenModule::EmitGlobalDefinition if (!shouldEmitFunction(GD)) return; - llvm::TimeTraceScope TimeScope( - "CodeGen Function", [&]() { return FD->getQualifiedNameAsString(); }); + llvm::TimeTraceScope TimeScope("CodeGen Function", [&]() { + std::string Name; + llvm::raw_string_ostream OS(Name); + FD->getNameForDiagnostic(OS, getContext().getPrintingPolicy(), + /*Qualified=*/true); + return Name; + }); if (const auto *Method = dyn_cast<CXXMethodDecl>(D)) { // Make sure to emit the definition(s) before we emit the thunks. Modified: cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp?rev=360539&r1=360538&r2=360539&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp (original) +++ cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp Sun May 12 03:39:21 2019 @@ -2014,7 +2014,11 @@ Sema::InstantiateClass(SourceLocation Po return true; llvm::TimeTraceScope TimeScope("InstantiateClass", [&]() { - return Instantiation->getQualifiedNameAsString(); + std::string Name; + llvm::raw_string_ostream OS(Name); + Instantiation->getNameForDiagnostic(OS, getPrintingPolicy(), + /*Qualified=*/true); + return Name; }); Pattern = PatternDef; Modified: cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp?rev=360539&r1=360538&r2=360539&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp (original) +++ cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp Sun May 12 03:39:21 2019 @@ -4156,7 +4156,11 @@ void Sema::InstantiateFunctionDefinition } llvm::TimeTraceScope TimeScope("InstantiateFunction", [&]() { - return Function->getQualifiedNameAsString(); + std::string Name; + llvm::raw_string_ostream OS(Name); + Function->getNameForDiagnostic(OS, getPrintingPolicy(), + /*Qualified=*/true); + return Name; }); // If we're performing recursive template instantiation, create our own _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits