[PGO] Stop using invalid char in instr variable names.
[oota-llvm.git] / lib / Transforms / Instrumentation / InstrProfiling.cpp
index a144dafdcbdfb98e252a3d2babd12a5cc7eecb9c..57ed2f784af5c03f42b77d1279f068462e71ae0b 100644 (file)
@@ -265,8 +265,8 @@ void InstrProfiling::lowerCoverageData(GlobalVariable *CoverageData) {
 
 /// Get the name of a profiling variable for a particular function.
 static std::string getVarName(InstrProfIncrementInst *Inc, StringRef Prefix) {
-  auto *Arr = cast<ConstantDataArray>(Inc->getName()->getInitializer());
-  StringRef Name = Arr->isCString() ? Arr->getAsCString() : Arr->getAsString();
+  StringRef NamePrefix = getInstrProfNameVarPrefix();
+  StringRef Name = Inc->getName()->getName().substr(NamePrefix.size());
   return (Prefix + Name).str();
 }