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>