diff options
author | Lubos Lunak <l.lunak@centrum.cz> | 2019-05-12 10:39:21 +0000 |
---|---|---|
committer | Lubos Lunak <l.lunak@centrum.cz> | 2019-05-12 10:39:21 +0000 |
commit | ab8cde446b51cd7dbe9f8aa0c0a392180f6a6e2a (patch) | |
tree | e9873640ec4241f2c091783f8c49a8fb9874535a /clang/lib/CodeGen | |
parent | debad6460b63ff2269cca859751a053a9e29d6d4 (diff) | |
download | bcm5719-llvm-ab8cde446b51cd7dbe9f8aa0c0a392180f6a6e2a.tar.gz bcm5719-llvm-ab8cde446b51cd7dbe9f8aa0c0a392180f6a6e2a.zip |
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
llvm-svn: 360539
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 2878f9c6771..3a84bdf94c8 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -2695,8 +2695,13 @@ void CodeGenModule::EmitGlobalDefinition(GlobalDecl GD, llvm::GlobalValue *GV) { 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. |