diff options
author | Rong Xu <xur@google.com> | 2016-07-25 18:45:37 +0000 |
---|---|---|
committer | Rong Xu <xur@google.com> | 2016-07-25 18:45:37 +0000 |
commit | 705f7775bb6c1863da2cbde59270d545653f00d6 (patch) | |
tree | d2c88a30dd9eea19e7529dfab4dc2257f458dab5 /llvm/lib/Object | |
parent | 9a89b15aa29f8891b29080ae5e10e986deee3d60 (diff) | |
download | bcm5719-llvm-705f7775bb6c1863da2cbde59270d545653f00d6.tar.gz bcm5719-llvm-705f7775bb6c1863da2cbde59270d545653f00d6.zip |
[PGO] Fix profile mismatch in COMDAT function with pre-inliner
Pre-instrumentation inline (pre-inliner) greatly improves the IR
instrumentation code performance, among other benefits. One issue of the
pre-inliner is it can introduce CFG-mismatch for COMDAT functions. This
is due to the fact that the same COMDAT function may have different early
inline decisions across different modules -- that means different copies
of COMDAT functions will have different CFG checksum.
In this patch, we propose a partially renaming the COMDAT group and its
member function/variable so we have different profile counter for each
version. We will post-fix the COMDAT function and the group name with its
FunctionHash.
Differential Revision: http://reviews.llvm.org/D22600
llvm-svn: 276673
Diffstat (limited to 'llvm/lib/Object')
0 files changed, 0 insertions, 0 deletions