[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
> 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...
More information about the cfe-commits