[PATCH] D16727: [Profiling] Write out sparse indexed profiles

David Li via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 29 11:46:56 PST 2016

davidxl added a comment.

I have one major concern with this patch:

When the records for those zero count functions are skipped, the profile-use compilation may get confused -- those functions are now treated as 'unknown functions' which the compiler can not do anything about them. One of the main benefit of keeping zero count functions is that the compiler can do very aggressive size optimizations on them.

If we go with this route, we need a way to store place holder records for the cold functions.

If we do care about size of indexed profile data, name compression will be very efficient way.  My pending patch does not touch Indexed profile format, but it can be easily extended to Indexed format (and also keeping the ability to read the old format files).

Comment at: lib/ProfileData/InstrProfWriter.cpp:197
@@ +196,3 @@
+                    [](uint64_t Count) { return Count > 0; }) ||
+        IPR.getNumValueKinds())
+      return true;
Is this check needed?


More information about the llvm-commits mailing list