aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2016-07-17 14:46:58 +0000
committerTeresa Johnson <tejohnson@google.com>2016-07-17 14:46:58 +0000
commitce7de9b6fba73a938c80d6dbb737c48be6e8f7dc (patch)
tree7d22ec0e3ba14c4de6cf98923ca4729d62319284 /llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
parent3f4219865214f689c9e9e69bda1279aec72440f9 (diff)
downloadllvm-ce7de9b6fba73a938c80d6dbb737c48be6e8f7dc.zip
llvm-ce7de9b6fba73a938c80d6dbb737c48be6e8f7dc.tar.gz
llvm-ce7de9b6fba73a938c80d6dbb737c48be6e8f7dc.tar.bz2
Address review comments.
llvm-svn: 275706
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp')
-rw-r--r--llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp b/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
index 1b1761d..202b94b 100644
--- a/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
+++ b/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
@@ -275,6 +275,14 @@ ICallPromotionFunc::getPromotionCandidatesForCallSite(
DEBUG(dbgs() << " Candidate " << I << " Count=" << Count
<< " Target_func: " << Target << "\n");
+ if (ICPInvokeOnly && dyn_cast<CallInst>(Inst)) {
+ DEBUG(dbgs() << " Not promote: User options.\n");
+ break;
+ }
+ if (ICPCallOnly && dyn_cast<InvokeInst>(Inst)) {
+ DEBUG(dbgs() << " Not promote: User option.\n");
+ break;
+ }
if (ICPCutOff != 0 && NumOfPGOICallPromotion >= ICPCutOff) {
DEBUG(dbgs() << " Not promote: Cutoff reached.\n");
break;