[PATCH] D21823: [Driver] Add flags for enabling both types of PGO Instrumentation

Diego Novillo via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 11 08:41:29 PDT 2016

On Sat, Jul 9, 2016 at 7:39 PM Sean Silva <chisophugis at gmail.com> wrote:

> silvas added a comment.
> In http://reviews.llvm.org/D21823#479418, @davidxl wrote:
> > I should have brought it up earlier, but I forgot.    I think a better
> (and simpler) proposal is to make -fprofile-generate and -fprofile-use turn
> on IR based PGO.
> >
> > -fprofile-generate and -fprofile-use options were introduced by Diego
> (cc'ed) recently for GCC option compatibility. At that time, IR based PGO
> was not yet ready, so they were made aliases to FE instrumentation options
> -fprofile-instr-generate and -fprofile-instr-use.    Now I think it is time
> to make it right.   The documentation only says that these two options are
> gcc compatible options to control profile generation and use, but does not
> specify the underlying implementation. It is also likely that Google is the
> only user of this option. If a user using this option really want FE
> instrumentation, there is always -fprofile-instr-generate to use.  It also
> more likely that IR instrumentation is what user wants when using GCC
> compatible options (as they behave more similarly).
> This SGTM.


> It may cause some user confusion since there is no obvious distinction
> between "profile generate" and "profile instr generate" from a user
> perspective. But we can avoid that with improved documentation.
> My main concern is that the existing documentation already says that
> -fprofile-generate behaves identically to -fprofile-instr-generate
> http://clang.llvm.org/docs/UsersManual.html#cmdoption-fprofile-generate
> However, I think it is reasonable to change this behavior (and of course
> the documentation), as users of this option are likely using it for
> compatibility with GCC and so they likely don't care about the specifics of
> clang FEPGO.
> We probably want to at least leave a small note in the documentation
> regarding this change of behavior.

I think the change in behaviour is needed.  Better to make a clean break
now that it is early enough in the PGO life cycle.  Adding a note about it
will help current users.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160711/1f65a17d/attachment.html>

More information about the cfe-commits mailing list