[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / Transforms / FunctionImport / Inputs / hotness_based_import.ll
blob3ee74a25eb00254ba33a56949bd48e374113c615
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 {
7   ret void
9 define void @hot2() #1 !prof !20  {
10   call void @calledFromHot()
11   call void @calledFromHot()
12   ret void
14 define void @hot3() #1 !prof !20 {
15   call void @calledFromHot()
16   call void @calledFromHot()
17   call void @calledFromHot()
18   ret void
20 define void @cold() #1 !prof !0 {
21   ret void
23 define void @cold2() #1 !prof !0  {
24   call void @calledFromCold()
25   call void @calledFromCold()
26   ret void
29 define void @none1() #1 {
30   ret void
33 define void @none2() #1 {
34   call void @calledFromNone()
35   ret void
37 define void @none3() #1 {
38   call void @calledFromNone()
39   call void @calledFromNone()
40   ret void
43 define void @calledFromCold() {
44   ret void
47 define void @calledFromHot() !prof !20 {
48   call void @calledFromHot2()
49   ret void
52 define void @calledFromHot2() !prof !20 {
53   call void @calledFromHot3()
54   ret void
57 define void @calledFromNone() !prof !0 {
58   ret void
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}