[PATCH] D15243: [PGO]: Do not use invalid Char in instrumentation variable names

Sean Silva via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 4 19:50:11 PST 2015


silvas added a subscriber: silvas.
silvas added a comment.

I would prefer not to silently break compatibility. These things tend to come back and bite. In particular, `static` functions are quite common, and we are unlikely to "do the right thing" with just this patch (actually, I know that this will affect the intrinsics in our built-in headers, so most code is likely to be affected). Do we have a versioning mechanism available so that we can produce a proper diagnostic and reject the file?

Personally, I am not strongly opposed to changing the format. We are still rolling out PGO to our customers and haven't produced explicit documentation on this aspect, but my intention is that we will document to our users that we do not guarantee any compatibility of the profraw or profdata files across releases. So in principle I have no concerns with breaking old profraw or profdata files as long as we cleanly reject them (besides a slight apprehension since I often am comparing compilers across releases and it is convenient to not have to have a separate llvm-profdata for each release).

So I will defer to Justin about whether we should break compatibility over this aspect and if so, how we should handle the transition.


http://reviews.llvm.org/D15243





More information about the llvm-commits mailing list