[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