diff options
Diffstat (limited to 'llvm/test/Transforms/SampleProfile/summary.ll')
-rw-r--r-- | llvm/test/Transforms/SampleProfile/summary.ll | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SampleProfile/summary.ll b/llvm/test/Transforms/SampleProfile/summary.ll new file mode 100644 index 00000000000..03b6644eacc --- /dev/null +++ b/llvm/test/Transforms/SampleProfile/summary.ll @@ -0,0 +1,26 @@ +; Test that we annotate entire program's summary to IR. +; RUN: opt < %s -sample-profile -sample-profile-file=%S/Inputs/summary.prof -S | FileCheck %s +; RUN: opt < %s -sample-profile -sample-profile-file=%S/Inputs/summary.prof -S | opt -sample-profile -sample-profile-file=%S/Inputs/summary.prof -S | FileCheck %s + +define i32 @bar() #0 !dbg !1 { +entry: + ret i32 1, !dbg !2 +} + +define i32 @baz() !dbg !3 { +entry: + %call = call i32 @bar(), !dbg !4 + ret i32 %call, !dbg !5 +} + +; CHECK-DAG: {{![0-9]+}} = !{i32 1, !"ProfileSummary", {{![0-9]+}}} +; CHECK-DAG: {{![0-9]+}} = !{!"TotalCount", i64 900} +; CHECK-DAG: {{![0-9]+}} = !{!"NumCounts", i64 5} +; CHECK-DAG: {{![0-9]+}} = !{!"NumFunctions", i64 3} +; CHECK-DAG: {{![0-9]+}} = !{!"MaxFunctionCount", i64 3} + +!1 = distinct !DISubprogram(name: "bar") +!2 = !DILocation(line: 2, scope: !2) +!3 = distinct !DISubprogram(name: "baz") +!4 = !DILocation(line: 1, scope: !4) +!5 = !DILocation(line: 2, scope: !5) |