[PATCH] D15540: [PGO] differentiate FE instrumentation and IR level instrumentation profiles

David Li via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 25 13:13:45 PST 2016

davidxl added a comment.

After this patch is done, the FE also needs to be changed to recognize IR profile and do the right handling.

Comment at: include/llvm/ProfileData/InstrProfData.inc:710
@@ -709,1 +709,3 @@
+#define VARIANT_MASK_IR_PROF (0x1ULL << 56)
+#define IR_LEVEL_PROF_VERSION_VAR __llvm_profile_raw_version
Please rebase the patch. This part is already in tree.

Comment at: include/llvm/ProfileData/InstrProfReader.h:162
@@ -156,1 +161,3 @@
   bool ShouldSwapBytes;
+  // Version of the raw profile. It contains the variant profile information.
+  uint64_t Version;
Change the comments to:

The value of the version field of the raw profile data header.  The lower 56 bits specifies the format version and the most significant 8 bits specify the variant types of the profile. 

Comment at: lib/Transforms/Instrumentation/PGOInstrumentation.cpp:723
@@ +722,3 @@
+    Ctx.diagnose(DiagnosticInfoPGOProfile(
+        ProfileFileName.data(), "Not an IR level instrumentation profile"));
+    return false;
This warning message needs to be revisited later once the clang option is finalized. Please add a TODO here.


More information about the llvm-commits mailing list