[PATCH] D16388: [PGO] Enable profile name compression

David Li via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 26 16:38:09 PST 2016


davidxl added a comment.

NameRef in V1 is IntPtr type (with different size between 32 and 64bit target), but in V2 it becomes uint64_t consistently. Yes will add coverage V2 testing (better as a follow up patch I think).


================
Comment at: include/llvm/ProfileData/InstrProfData.inc:164
@@ -162,1 +163,3 @@
+	           llvm::IndexedInstrProf::ComputeHash(NameValue)))
+#endif
 COVMAP_FUNC_RECORD(const uint32_t, llvm::Type::getInt32Ty(Ctx), DataSize, \
----------------
good point. Will update.

================
Comment at: lib/Transforms/Instrumentation/InstrProfiling.cpp:379
@@ +378,3 @@
+  if (ReferencedNames.empty())
+    return;
+
----------------
That means this module won't have data and counter (i.e, no emitted functions) sections either -- so there is no problem.

================
Comment at: lib/Transforms/Instrumentation/InstrProfiling.cpp:389
@@ +388,3 @@
+                                      llvm::GlobalValue::PrivateLinkage,
+                                      NamesVal, "__llvm_prf_nms");
+  NamesVar->setSection(getNameSection());
----------------
Ok to add ( I did not add it because this variable now strictly has internal linkage which runtime does not care about).


http://reviews.llvm.org/D16388





More information about the llvm-commits mailing list