Serge Guelton via llvm-dev
2020-May-15 06:59 UTC
[llvm-dev] Issue with the function hash used as PGO index
Hi Folks,
This review
https://reviews.llvm.org/D79961
fixes a relatively serious bug in the computation of the function hash used to
compute index in profile files in clang. Basically the bug was allowing trivial
hash collision of two function that only differ by their last statement(s). This
could lead to segfaukts like this one [1].
I'm happy with the patch (if you want to review it, please jump in) but
I'm also
worried that it changes the hash of *most* functions, thus invalidating all
profile files generated with previous clang revision.
So if it lands, people will find themselves with a lot of obsolete profile data
that need to be regenerated... I think I'd at least state that clearly on
the
mlist, due to the potential large impact.
- Serge
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1827282
Xinliang David Li via llvm-dev
2020-May-15 18:14 UTC
[llvm-dev] Issue with the function hash used as PGO index
FYI, there is also IR PGO that computes function hash using CFG. To turn it on, use -fprofile-generate and -fprofile-use options. David On Thu, May 14, 2020 at 11:59 PM Serge Guelton via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hi Folks, > > This review > > https://reviews.llvm.org/D79961 > > fixes a relatively serious bug in the computation of the function hash > used to > compute index in profile files in clang. Basically the bug was allowing > trivial > hash collision of two function that only differ by their last > statement(s). This > could lead to segfaukts like this one [1]. > > I'm happy with the patch (if you want to review it, please jump in) but > I'm also > worried that it changes the hash of *most* functions, thus invalidating all > profile files generated with previous clang revision. > > So if it lands, people will find themselves with a lot of obsolete profile > data > that need to be regenerated... I think I'd at least state that clearly on > the > mlist, due to the potential large impact. > > - Serge > > > [1] https://bugzilla.redhat.com/show_bug.cgi?id=1827282 > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200515/ca26d9e9/attachment.html>