summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ProfileData/InstrProf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/ProfileData/InstrProf.cpp')
-rw-r--r--llvm/lib/ProfileData/InstrProf.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/ProfileData/InstrProf.cpp b/llvm/lib/ProfileData/InstrProf.cpp
index a965a1208b5..2608847fd10 100644
--- a/llvm/lib/ProfileData/InstrProf.cpp
+++ b/llvm/lib/ProfileData/InstrProf.cpp
@@ -74,14 +74,15 @@ namespace llvm {
std::string getPGOFuncName(StringRef RawFuncName,
GlobalValue::LinkageTypes Linkage,
- StringRef FileName,
- uint64_t Version LLVM_ATTRIBUTE_UNUSED) {
+ StringRef FileName, uint64_t Version) {
// Function names may be prefixed with a binary '1' to indicate
// that the backend should not modify the symbols due to any platform
// naming convention. Do not include that '1' in the PGO profile name.
if (RawFuncName[0] == '\1')
RawFuncName = RawFuncName.substr(1);
+ const char *Unknown = (Version <= 3 ? "<unknown>:" : "__unknown__");
+ const char *Sep = (Version <= 3 ? ":" : "__");
std::string FuncName = RawFuncName;
if (llvm::GlobalValue::isLocalLinkage(Linkage)) {
@@ -90,9 +91,9 @@ std::string getPGOFuncName(StringRef RawFuncName,
// that it will stay the same, e.g., if the files are checked out from
// version control in different locations.
if (FileName.empty())
- FuncName = FuncName.insert(0, "<unknown>:");
+ FuncName = FuncName.insert(0, Unknown);
else
- FuncName = FuncName.insert(0, FileName.str() + ":");
+ FuncName = FuncName.insert(0, FileName.str() + Sep);
}
return FuncName;
}
OpenPOWER on IntegriCloud