[PATCH] D15243: [PGO]: Do not use invalid Char in instrumentation variable names
David Li via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 4 22:19:24 PST 2015
davidxl updated this revision to Diff 41986.
davidxl added a comment.
The correct update.
http://reviews.llvm.org/D15243
Files:
include/llvm/ProfileData/InstrProf.h
lib/ProfileData/InstrProf.cpp
Index: lib/ProfileData/InstrProf.cpp
===================================================================
--- lib/ProfileData/InstrProf.cpp
+++ lib/ProfileData/InstrProf.cpp
@@ -74,14 +74,15 @@
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 @@
// 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;
}
Index: include/llvm/ProfileData/InstrProf.h
===================================================================
--- include/llvm/ProfileData/InstrProf.h
+++ include/llvm/ProfileData/InstrProf.h
@@ -30,7 +30,7 @@
#include <system_error>
#include <vector>
-#define INSTR_PROF_INDEX_VERSION 3
+#define INSTR_PROF_INDEX_VERSION 4
namespace llvm {
class Function;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15243.41986.patch
Type: text/x-patch
Size: 1793 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151205/5c03323d/attachment.bin>
More information about the llvm-commits
mailing list