1*bef3b54eSLei Wang; RUN: opt < %s --passes=pgo-instr-gen -pgo-instrument-cold-function-only -pgo-function-entry-coverage -S | FileCheck --check-prefixes=COLD %s 2*bef3b54eSLei Wang; RUN: opt < %s --passes=pgo-instr-gen -pgo-instrument-cold-function-only -pgo-function-entry-coverage -pgo-cold-instrument-entry-threshold=1 -S | FileCheck --check-prefixes=ENTRY-COUNT %s 3*bef3b54eSLei Wang; RUN: opt < %s --passes=pgo-instr-gen -pgo-instrument-cold-function-only -pgo-function-entry-coverage -pgo-treat-unknown-as-cold -S | FileCheck --check-prefixes=UNKNOWN-FUNC %s 4*bef3b54eSLei Wang 5*bef3b54eSLei Wang; COLD: call void @llvm.instrprof.cover(ptr @__profn_foo, i64 [[#]], i32 1, i32 0) 6*bef3b54eSLei Wang; COLD-NOT: __profn_main 7*bef3b54eSLei Wang; COLD-NOT: __profn_bar 8*bef3b54eSLei Wang 9*bef3b54eSLei Wang; ENTRY-COUNT: call void @llvm.instrprof.cover(ptr @__profn_foo, i64 [[#]], i32 1, i32 0) 10*bef3b54eSLei Wang; ENTRY-COUNT: call void @llvm.instrprof.cover(ptr @__profn_main, i64 [[#]], i32 1, i32 0) 11*bef3b54eSLei Wang 12*bef3b54eSLei Wang; UNKNOWN-FUNC: call void @llvm.instrprof.cover(ptr @__profn_bar, i64 [[#]], i32 1, i32 0) 13*bef3b54eSLei Wang; UNKNOWN-FUNC: call void @llvm.instrprof.cover(ptr @__profn_foo, i64 [[#]], i32 1, i32 0) 14*bef3b54eSLei Wang 15*bef3b54eSLei Wang 16*bef3b54eSLei Wangtarget datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" 17*bef3b54eSLei Wangtarget triple = "x86_64-unknown-linux-gnu" 18*bef3b54eSLei Wang 19*bef3b54eSLei Wangdefine void @bar() { 20*bef3b54eSLei Wangentry: 21*bef3b54eSLei Wang ret void 22*bef3b54eSLei Wang} 23*bef3b54eSLei Wang 24*bef3b54eSLei Wangdefine void @foo() !prof !0 { 25*bef3b54eSLei Wangentry: 26*bef3b54eSLei Wang ret void 27*bef3b54eSLei Wang} 28*bef3b54eSLei Wang 29*bef3b54eSLei Wangdefine i32 @main() !prof !1 { 30*bef3b54eSLei Wangentry: 31*bef3b54eSLei Wang ret i32 0 32*bef3b54eSLei Wang} 33*bef3b54eSLei Wang 34*bef3b54eSLei Wang!0 = !{!"function_entry_count", i64 0} 35*bef3b54eSLei Wang!1 = !{!"function_entry_count", i64 1} 36