[PATCH] D18490: [PGO] Comment how function pointers for indirect calls are mapped to function names
Adam Nemet via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 28 11:32:57 PDT 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL264611: [PGO] Comment how function pointers for indirect calls are mapped to function… (authored by anemet).
Changed prior to commit:
http://reviews.llvm.org/D18490?vs=51714&id=51814#toc
Repository:
rL LLVM
http://reviews.llvm.org/D18490
Files:
llvm/trunk/include/llvm/ProfileData/InstrProfData.inc
llvm/trunk/lib/ProfileData/InstrProfReader.cpp
Index: llvm/trunk/include/llvm/ProfileData/InstrProfData.inc
===================================================================
--- llvm/trunk/include/llvm/ProfileData/InstrProfData.inc
+++ llvm/trunk/include/llvm/ProfileData/InstrProfData.inc
@@ -73,6 +73,8 @@
INSTR_PROF_DATA(const IntPtrT, llvm::Type::getInt64PtrTy(Ctx), CounterPtr, \
ConstantExpr::getBitCast(CounterPtr, \
llvm::Type::getInt64PtrTy(Ctx)))
+// This is used to map function pointers for the indirect call targets to
+// function name hashes during the conversion from raw to merged profile data.
INSTR_PROF_DATA(const IntPtrT, llvm::Type::getInt8PtrTy(Ctx), FunctionPointer, \
FunctionAddr)
INSTR_PROF_DATA(IntPtrT, llvm::Type::getInt8PtrTy(Ctx), Values, \
Index: llvm/trunk/lib/ProfileData/InstrProfReader.cpp
===================================================================
--- llvm/trunk/lib/ProfileData/InstrProfReader.cpp
+++ llvm/trunk/lib/ProfileData/InstrProfReader.cpp
@@ -412,6 +412,9 @@
if (VDataPtrOrErr.getError())
return VDataPtrOrErr.getError();
+ // Note that besides deserialization, this also performs the conversion for
+ // indirect call targets. The function pointers from the raw profile are
+ // remapped into function name hashes.
VDataPtrOrErr.get()->deserializeTo(Record, &Symtab->getAddrHashMap());
CurValueDataSize = VDataPtrOrErr.get()->getSize();
return success();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18490.51814.patch
Type: text/x-patch
Size: 1446 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160328/1ff749fd/attachment.bin>
More information about the llvm-commits
mailing list