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

Vedant Kumar via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 3 15:43:34 PST 2016


vsk added a comment.

I think it'd be fair to add the V2 binary tests after committing, once we're sure the bots are stable. A few more comments --


================
Comment at: lib/Transforms/Instrumentation/InstrProfiling.cpp:32
@@ +31,3 @@
+                                cl::desc("Enable name string compression"),
+                                cl::Hidden, cl::init(true));
+
----------------
IMO this works fine as a non-hidden option, but I'll leave it up to you.

================
Comment at: lib/Transforms/Instrumentation/InstrProfiling.cpp:296
@@ -283,3 +295,3 @@
   StringRef ComdatPrefix = (Triple(M.getTargetTriple()).isOSBinFormatCOFF()
-                                ? getInstrProfNameVarPrefix()
+                                ? getInstrProfCountersVarPrefix()
                                 : getInstrProfComdatPrefix());
----------------
This change seems inconsistent with the comment above it -- why start using the counter var prefix for COFF comdats?

================
Comment at: lib/Transforms/Instrumentation/InstrProfiling.cpp:372
@@ +371,3 @@
+  // Reset Name variable's linkage and visibility
+  NamePtr->setLinkage(GlobalValue::PrivateLinkage);
+  // Mark the name variable as used so that it isn't stripped out.
----------------
Why is this step required, and how do we know this is the right linkage to reset to? E.g in swift, these name pointers start life with LinkOnceAny linkage.

================
Comment at: lib/Transforms/Instrumentation/InstrProfiling.cpp:374
@@ -362,1 +373,3 @@
+  // Mark the name variable as used so that it isn't stripped out.
+  ReferencedNames.push_back(NamePtr);
 
----------------
Where would these names be stripped out? IIUC this vector is in place so we can call `collectPGOFuncNameStrings` in `emitNameData`.


http://reviews.llvm.org/D16388





More information about the llvm-commits mailing list