summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object
diff options
context:
space:
mode:
authorRong Xu <xur@google.com>2016-07-25 18:45:37 +0000
committerRong Xu <xur@google.com>2016-07-25 18:45:37 +0000
commit705f7775bb6c1863da2cbde59270d545653f00d6 (patch)
treed2c88a30dd9eea19e7529dfab4dc2257f458dab5 /llvm/lib/Object
parent9a89b15aa29f8891b29080ae5e10e986deee3d60 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud