forked from OSchip/llvm-project
[InstrProfiling] Don't exit early when an unused intrinsic is found
This fixes a think-o in r323574. llvm-svn: 323576
This commit is contained in:
parent
51ce668d12
commit
cff94627cf
|
@ -434,13 +434,16 @@ void InstrProfiling::promoteCounterLoadStores(Function *F) {
|
|||
static bool containsProfilingIntrinsics(Module &M) {
|
||||
if (auto *F = M.getFunction(
|
||||
Intrinsic::getName(llvm::Intrinsic::instrprof_increment)))
|
||||
return !F->use_empty();
|
||||
if (!F->use_empty())
|
||||
return true;
|
||||
if (auto *F = M.getFunction(
|
||||
Intrinsic::getName(llvm::Intrinsic::instrprof_increment_step)))
|
||||
return !F->use_empty();
|
||||
if (!F->use_empty())
|
||||
return true;
|
||||
if (auto *F = M.getFunction(
|
||||
Intrinsic::getName(llvm::Intrinsic::instrprof_value_profile)))
|
||||
return !F->use_empty();
|
||||
if (!F->use_empty())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
; RUN: opt < %s -instrprof -S | FileCheck %s
|
||||
|
||||
target triple = "x86_64-apple-macosx10.10.0"
|
||||
|
||||
declare void @llvm.instrprof.increment(i8*, i64, i32, i32)
|
||||
|
||||
declare void @llvm.instrprof.increment.step(i8*, i64, i32, i32, i64)
|
||||
|
||||
@__profn_foo = hidden constant [3 x i8] c"foo"
|
||||
|
||||
define void @foo() {
|
||||
; CHECK: @__profc_foo = hidden global [1 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
|
||||
call void @llvm.instrprof.increment.step(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64 0, i32 1, i32 0, i64 0)
|
||||
ret void
|
||||
}
|
Loading…
Reference in New Issue