1 ; ModuleID = 'thinlto-function-summary-callgraph-profile-summary2.ll'
2 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
3 target triple = "x86_64-unknown-linux-gnu"
6 define void @hot1() #1 {
9 define void @hot2() #1 !prof !20 {
10 call void @calledFromHot()
11 call void @calledFromHot()
14 define void @hot3() #1 !prof !20 {
15 call void @calledFromHot()
16 call void @calledFromHot()
17 call void @calledFromHot()
20 define void @cold() #1 !prof !0 {
23 define void @cold2() #1 !prof !0 {
24 call void @calledFromCold()
25 call void @calledFromCold()
29 define void @none1() #1 {
33 define void @none2() #1 {
34 call void @calledFromNone()
37 define void @none3() #1 {
38 call void @calledFromNone()
39 call void @calledFromNone()
43 define void @calledFromCold() {
47 define void @calledFromHot() !prof !20 {
48 call void @calledFromHot2()
52 define void @calledFromHot2() !prof !20 {
53 call void @calledFromHot3()
57 define void @calledFromNone() !prof !0 {
61 declare void @calledFromHot3()
63 !0 = !{!"function_entry_count", i64 1}
64 !20 = !{!"function_entry_count", i64 110}
66 !llvm.module.flags = !{!1}
68 !1 = !{i32 1, !"ProfileSummary", !2}
69 !2 = !{!3, !4, !5, !6, !7, !8, !9, !10}
70 !3 = !{!"ProfileFormat", !"InstrProf"}
71 !4 = !{!"TotalCount", i64 10000}
72 !5 = !{!"MaxCount", i64 10}
73 !6 = !{!"MaxInternalCount", i64 1}
74 !7 = !{!"MaxFunctionCount", i64 1000}
75 !8 = !{!"NumCounts", i64 3}
76 !9 = !{!"NumFunctions", i64 3}
77 !10 = !{!"DetailedSummary", !11}
78 !11 = !{!12, !13, !14}
79 !12 = !{i32 10000, i64 100, i32 1}
80 !13 = !{i32 999000, i64 100, i32 1}
81 !14 = !{i32 999999, i64 1, i32 2}