]> granicus.if.org Git - llvm/commit
Separate the logic when handling indirect calls in SamplePGO ThinLTO compile phase...
authorDehao Chen <dehao@google.com>
Sun, 1 Oct 2017 05:24:51 +0000 (05:24 +0000)
committerDehao Chen <dehao@google.com>
Sun, 1 Oct 2017 05:24:51 +0000 (05:24 +0000)
commit61b704697a430ac3172bd04b6930b4aa612bf216
treedda66b322808ae18d4da83426fb040a3a8289165
parent46c0c09def8ab0f7629b4b3f6a73de1904e88d39
Separate the logic when handling indirect calls in SamplePGO ThinLTO compile phase and other phases.

Summary: In SamplePGO ThinLTO compile phase, we will not invoke ICP as it may introduce confusion to the 2nd annotation. This patch extracted that logic and makes it clearer before profile annotation. In the mean time, we need to make function importing process both inlined callsites as well as not promoted indirect callsites.

Reviewers: tejohnson

Reviewed By: tejohnson

Subscribers: sanjoy, mehdi_amini, llvm-commits, inglorion

Differential Revision: https://reviews.llvm.org/D38094

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314619 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ProfileData/SampleProf.h
include/llvm/Transforms/SampleProfile.h
lib/Passes/PassBuilder.cpp
lib/Transforms/IPO/SampleProfile.cpp
test/Transforms/SampleProfile/Inputs/import.prof
test/Transforms/SampleProfile/import.ll