]> granicus.if.org Git - llvm/commit
Directly return promoted direct call instead of rely on stripPointerCast.
authorDehao Chen <dehao@google.com>
Fri, 6 Oct 2017 17:04:55 +0000 (17:04 +0000)
committerDehao Chen <dehao@google.com>
Fri, 6 Oct 2017 17:04:55 +0000 (17:04 +0000)
commit01343e961e79d0396042335dcda5938af5311e6a
tree67c6d0040916d761036cf5cc7afcd60dfc23f9bf
parent5124768496a6c000c56b7c4fe69f2926eddf9518
Directly return promoted direct call instead of rely on stripPointerCast.

Summary: stripPointerCast is not reliably returning the value that's being type-casted. Instead it may look further at function attributes to further propagate the value. Instead of relying on stripPOintercast, the more reliable solution is to directly use the pointer to the promoted direct call.

Reviewers: tejohnson, davidxl

Reviewed By: tejohnson

Subscribers: llvm-commits, sanjoy

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315077 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/SampleProfile.cpp
lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
test/Transforms/SampleProfile/Inputs/indirect-call.prof
test/Transforms/SampleProfile/indirect-call.ll