[llvm] r264643 - Revert "Reapply "[PGO] Fix name encoding for ObjC-like functions""
Vedant Kumar via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 28 13:20:40 PDT 2016
Author: vedantk
Date: Mon Mar 28 15:20:40 2016
New Revision: 264643
URL: http://llvm.org/viewvc/llvm-project?rev=264643&view=rev
Log:
Revert "Reapply "[PGO] Fix name encoding for ObjC-like functions""
This reverts commit r264641 to investigate why c-general.test is failing
on the bots.
Modified:
llvm/trunk/include/llvm/ProfileData/InstrProf.h
llvm/trunk/lib/ProfileData/InstrProf.cpp
llvm/trunk/test/tools/llvm-cov/Inputs/binary-formats.v2.linux32l
llvm/trunk/test/tools/llvm-cov/Inputs/binary-formats.v2.linux64l
llvm/trunk/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata
llvm/trunk/test/tools/llvm-cov/Inputs/instrprof-comdat.h
llvm/trunk/test/tools/llvm-profdata/Inputs/c-general.profraw
llvm/trunk/test/tools/llvm-profdata/raw-32-bits-be.test
llvm/trunk/test/tools/llvm-profdata/raw-32-bits-le.test
llvm/trunk/test/tools/llvm-profdata/raw-64-bits-be.test
llvm/trunk/test/tools/llvm-profdata/raw-64-bits-le.test
llvm/trunk/unittests/ProfileData/InstrProfTest.cpp
Modified: llvm/trunk/include/llvm/ProfileData/InstrProf.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ProfileData/InstrProf.h?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ProfileData/InstrProf.h (original)
+++ llvm/trunk/include/llvm/ProfileData/InstrProf.h Mon Mar 28 15:20:40 2016
@@ -151,9 +151,6 @@ inline StringRef getInstrProfFileOverrid
return "__llvm_profile_override_default_filename";
}
-/// Return the marker used to separate PGO names during serialization.
-inline StringRef getInstrProfNameSeparator() { return "\01"; }
-
/// Return the modified name for function \c F suitable to be
/// used the key for profile lookup.
std::string getPGOFuncName(const Function &F,
Modified: llvm/trunk/lib/ProfileData/InstrProf.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ProfileData/InstrProf.cpp?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
--- llvm/trunk/lib/ProfileData/InstrProf.cpp (original)
+++ llvm/trunk/lib/ProfileData/InstrProf.cpp Mon Mar 28 15:20:40 2016
@@ -158,15 +158,9 @@ void InstrProfSymtab::create(const Modul
int collectPGOFuncNameStrings(const std::vector<std::string> &NameStrs,
bool doCompression, std::string &Result) {
- assert(NameStrs.size() && "No name data to emit");
-
uint8_t Header[16], *P = Header;
std::string UncompressedNameStrings =
- join(NameStrs.begin(), NameStrs.end(), getInstrProfNameSeparator());
-
- assert(StringRef(UncompressedNameStrings)
- .count(getInstrProfNameSeparator()) == (NameStrs.size() - 1) &&
- "PGO name is invalid (contains separator token)");
+ join(NameStrs.begin(), NameStrs.end(), StringRef(" "));
unsigned EncLen = encodeULEB128(UncompressedNameStrings.length(), P);
P += EncLen;
@@ -244,7 +238,7 @@ int readPGOFuncNameStrings(StringRef Nam
}
// Now parse the name strings.
SmallVector<StringRef, 0> Names;
- NameStrings.split(Names, getInstrProfNameSeparator());
+ NameStrings.split(Names, ' ');
for (StringRef &Name : Names)
Symtab.addFuncName(Name);
Modified: llvm/trunk/test/tools/llvm-cov/Inputs/binary-formats.v2.linux32l
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-cov/Inputs/binary-formats.v2.linux32l?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
Binary files - no diff available.
Modified: llvm/trunk/test/tools/llvm-cov/Inputs/binary-formats.v2.linux64l
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-cov/Inputs/binary-formats.v2.linux64l?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
Binary files - no diff available.
Modified: llvm/trunk/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-cov/Inputs/elf_binary_comdat.profdata?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
Binary files - no diff available.
Modified: llvm/trunk/test/tools/llvm-cov/Inputs/instrprof-comdat.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-cov/Inputs/instrprof-comdat.h?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-cov/Inputs/instrprof-comdat.h (original)
+++ llvm/trunk/test/tools/llvm-cov/Inputs/instrprof-comdat.h Mon Mar 28 15:20:40 2016
@@ -13,12 +13,7 @@ template <class T> T FOO<T>::DoIt(T ti)
t += I; // HEADER: 20| [[@LINE]]| t += I;
if (I > ti / 2) // HEADER: 20| [[@LINE]]| if (I > ti
t -= 1; // HEADER: 8| [[@LINE]]| t -= 1;
- } // HEADER: 20| [[@LINE]]| }
- // HEADER: 2| [[@LINE]]|
- return t; // HEADER: 2| [[@LINE]]| return t;
+ } // HEADER: 10| [[@LINE]]| }
+ // HEADER: 1| [[@LINE]]|
+ return t; // HEADER: 1| [[@LINE]]| return t;
}
-
-// To generate the binaries which correspond to this file, you must first
-// compile a program with two calls to Foo<int>::DoIt(10) for each desired
-// architecture. Collect a raw profile from any one of these binaries, index
-// it, and check it in along with the executables.
Modified: llvm/trunk/test/tools/llvm-profdata/Inputs/c-general.profraw
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-profdata/Inputs/c-general.profraw?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
Binary files llvm/trunk/test/tools/llvm-profdata/Inputs/c-general.profraw (original) and llvm/trunk/test/tools/llvm-profdata/Inputs/c-general.profraw Mon Mar 28 15:20:40 2016 differ
Modified: llvm/trunk/test/tools/llvm-profdata/raw-32-bits-be.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-profdata/raw-32-bits-be.test?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-profdata/raw-32-bits-be.test (original)
+++ llvm/trunk/test/tools/llvm-profdata/raw-32-bits-be.test Mon Mar 28 15:20:40 2016
@@ -28,7 +28,7 @@ RUN: printf '\0\0\0\0\0\0\0\0' >> %t
RUN: printf '\0\0\0\0\0\0\0\023' >> %t
RUN: printf '\0\0\0\0\0\0\0\067' >> %t
RUN: printf '\0\0\0\0\0\0\0\101' >> %t
-RUN: printf '\7\0foo\1bar\0\0\0\0\0\0\0' >> %t
+RUN: printf '\7\0foo bar\0\0\0\0\0\0\0' >> %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s
Modified: llvm/trunk/test/tools/llvm-profdata/raw-32-bits-le.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-profdata/raw-32-bits-le.test?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-profdata/raw-32-bits-le.test (original)
+++ llvm/trunk/test/tools/llvm-profdata/raw-32-bits-le.test Mon Mar 28 15:20:40 2016
@@ -28,7 +28,7 @@ RUN: printf '\0\0\0\0\0\0\0\0' >> %t
RUN: printf '\023\0\0\0\0\0\0\0' >> %t
RUN: printf '\067\0\0\0\0\0\0\0' >> %t
RUN: printf '\101\0\0\0\0\0\0\0' >> %t
-RUN: printf '\7\0foo\1bar\0\0\0\0\0\0\0' >> %t
+RUN: printf '\7\0foo bar\0\0\0\0\0\0\0' >> %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s
Modified: llvm/trunk/test/tools/llvm-profdata/raw-64-bits-be.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-profdata/raw-64-bits-be.test?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-profdata/raw-64-bits-be.test (original)
+++ llvm/trunk/test/tools/llvm-profdata/raw-64-bits-be.test Mon Mar 28 15:20:40 2016
@@ -26,7 +26,7 @@ RUN: printf '\0\0\0\02\0\0\0\0' >> %t
RUN: printf '\0\0\0\0\0\0\0\023' >> %t
RUN: printf '\0\0\0\0\0\0\0\067' >> %t
RUN: printf '\0\0\0\0\0\0\0\101' >> %t
-RUN: printf '\7\0foo\1bar\0\0\0\0\0\0\0' >> %t
+RUN: printf '\7\0foo bar\0\0\0\0\0\0\0' >> %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s
Modified: llvm/trunk/test/tools/llvm-profdata/raw-64-bits-le.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-profdata/raw-64-bits-le.test?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-profdata/raw-64-bits-le.test (original)
+++ llvm/trunk/test/tools/llvm-profdata/raw-64-bits-le.test Mon Mar 28 15:20:40 2016
@@ -26,7 +26,7 @@ RUN: printf '\02\0\0\0\0\0\0\0' >> %t
RUN: printf '\023\0\0\0\0\0\0\0' >> %t
RUN: printf '\067\0\0\0\0\0\0\0' >> %t
RUN: printf '\101\0\0\0\0\0\0\0' >> %t
-RUN: printf '\7\0foo\1bar\0\0\0\0\0\0\0' >> %t
+RUN: printf '\7\0foo bar\0\0\0\0\0\0\0' >> %t
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s
Modified: llvm/trunk/unittests/ProfileData/InstrProfTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ProfileData/InstrProfTest.cpp?rev=264643&r1=264642&r2=264643&view=diff
==============================================================================
--- llvm/trunk/unittests/ProfileData/InstrProfTest.cpp (original)
+++ llvm/trunk/unittests/ProfileData/InstrProfTest.cpp Mon Mar 28 15:20:40 2016
@@ -893,7 +893,7 @@ TEST_P(MaybeSparseInstrProfTest, instr_p
OS << "func_" << I;
FuncNames1.push_back(OS.str());
str.clear();
- OS << "f oooooooooooooo_" << I;
+ OS << "fooooooooooooooo_" << I;
FuncNames1.push_back(OS.str());
str.clear();
OS << "BAR_" << I;
@@ -931,7 +931,7 @@ TEST_P(MaybeSparseInstrProfTest, instr_p
StringRef R = Symtab.getFuncName(IndexedInstrProf::ComputeHash(FuncNames1[0]));
ASSERT_EQ(StringRef("func_0"), R);
R = Symtab.getFuncName(IndexedInstrProf::ComputeHash(FuncNames1[1]));
- ASSERT_EQ(StringRef("f oooooooooooooo_0"), R);
+ ASSERT_EQ(StringRef("fooooooooooooooo_0"), R);
for (int I = 0; I < 3; I++) {
std::string N[4];
N[0] = FuncNames1[2 * I];
More information about the llvm-commits
mailing list