From e44e0be818ae53a6d60e96df1a04827f720847dc Mon Sep 17 00:00:00 2001 From: Vedant Kumar Date: Mon, 28 Mar 2016 15:52:08 +0000 Subject: [PGO] Fix name encoding for ObjC-like functions Function names in ObjC can have spaces in them. This interacts poorly with name compression, which uses spaces to separate PGO names. Fix the issue by using a different separator and update a test. I chose "\01" as the separator because 1) it's non-printable, 2) we strip it from PGO names, and 3) it's the next natural choice once "\00" is discarded (that one's overloaded). Differential Revision: http://reviews.llvm.org/D18516 llvm-svn: 264587 --- llvm/unittests/ProfileData/InstrProfTest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/unittests/ProfileData/InstrProfTest.cpp') diff --git a/llvm/unittests/ProfileData/InstrProfTest.cpp b/llvm/unittests/ProfileData/InstrProfTest.cpp index 13d1e059cd2..7dd072c849b 100644 --- a/llvm/unittests/ProfileData/InstrProfTest.cpp +++ b/llvm/unittests/ProfileData/InstrProfTest.cpp @@ -893,7 +893,7 @@ TEST_P(MaybeSparseInstrProfTest, instr_prof_symtab_compression_test) { OS << "func_" << I; FuncNames1.push_back(OS.str()); str.clear(); - OS << "fooooooooooooooo_" << I; + OS << "f oooooooooooooo_" << I; FuncNames1.push_back(OS.str()); str.clear(); OS << "BAR_" << I; @@ -931,7 +931,7 @@ TEST_P(MaybeSparseInstrProfTest, instr_prof_symtab_compression_test) { StringRef R = Symtab.getFuncName(IndexedInstrProf::ComputeHash(FuncNames1[0])); ASSERT_EQ(StringRef("func_0"), R); R = Symtab.getFuncName(IndexedInstrProf::ComputeHash(FuncNames1[1])); - ASSERT_EQ(StringRef("fooooooooooooooo_0"), R); + ASSERT_EQ(StringRef("f oooooooooooooo_0"), R); for (int I = 0; I < 3; I++) { std::string N[4]; N[0] = FuncNames1[2 * I]; -- cgit v1.2.3