[all-commits] [llvm/llvm-project] 77b509: [ICP] Don't promote when target not defined in module
    Teresa Johnson via All-commits 
    all-commits at lists.llvm.org
       
    Tue Dec  8 07:50:48 PST 2020
    
    
  
  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 77b509710ce7e6aec9ab460bc22a34f44fa94ab3
      https://github.com/llvm/llvm-project/commit/77b509710ce7e6aec9ab460bc22a34f44fa94ab3
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2020-12-08 (Tue, 08 Dec 2020)
  Changed paths:
    M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
    M llvm/test/LTO/Resolution/X86/load-sample-prof-icp.ll
    M llvm/test/Transforms/PGOProfile/icp_covariant_call_return.ll
    M llvm/test/Transforms/PGOProfile/icp_covariant_invoke_return.ll
    M llvm/test/Transforms/PGOProfile/indirect_call_promotion_musttail.ll
  Log Message:
  -----------
  [ICP] Don't promote when target not defined in module
This guards against cases where the symbol was dead code eliminated in
the binary by ThinLTO, and we have a sample profile collected for one
binary but used to optimize another.
Most of the benefit from ICP comes from inlining the target, which we
can't do with only a declaration anyway. If this is in the pre-ThinLTO
link step (e.g. for instrumentation based PGO), we will attempt the
promotion again in the ThinLTO backend after importing anyway, and we
don't need the early promotion to facilitate that.
Differential Revision: https://reviews.llvm.org/D92804
    
    
More information about the All-commits
mailing list