diff options
author | Taewook Oh <twoh@fb.com> | 2019-04-03 19:54:43 +0000 |
---|---|---|
committer | Taewook Oh <twoh@fb.com> | 2019-04-03 19:54:43 +0000 |
commit | a960f89962883b46d68529bc8a4612d40967c5a0 (patch) | |
tree | f83fc88f67c0f49eca447744a2da23848b072e1d /llvm/test/Transforms/SampleProfile | |
parent | ffa857c7a6550c75b3f6dab8272592b4640425cf (diff) | |
download | bcm5719-llvm-a960f89962883b46d68529bc8a4612d40967c5a0.tar.gz bcm5719-llvm-a960f89962883b46d68529bc8a4612d40967c5a0.zip |
[ProfileSummary] Count callsite samples when computing total samples.
Summary: Currently ProfileSummaryBuilder doesn't count into callsite samples when computing total samples. Considering that ProfileSummaryInfo is used to checked the hotness of not only body samples but also callsite samples (from SampleProfileLoader), I think the callsite sample counts should be considered when computing total samples.
Reviewers: eraman, danielcdh, wmi
Subscribers: hiraditya, jdoerfert, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59835
llvm-svn: 357627
Diffstat (limited to 'llvm/test/Transforms/SampleProfile')
-rw-r--r-- | llvm/test/Transforms/SampleProfile/Inputs/inline.compactbinary.afdo | bin | 184 -> 185 bytes | |||
-rw-r--r-- | llvm/test/Transforms/SampleProfile/Inputs/summary.prof | 5 | ||||
-rw-r--r-- | llvm/test/Transforms/SampleProfile/compact-binary-profile.ll | 2 | ||||
-rw-r--r-- | llvm/test/Transforms/SampleProfile/summary.ll | 13 |
4 files changed, 18 insertions, 2 deletions
diff --git a/llvm/test/Transforms/SampleProfile/Inputs/inline.compactbinary.afdo b/llvm/test/Transforms/SampleProfile/Inputs/inline.compactbinary.afdo Binary files differindex 6271b3609e9..c9fde769982 100644 --- a/llvm/test/Transforms/SampleProfile/Inputs/inline.compactbinary.afdo +++ b/llvm/test/Transforms/SampleProfile/Inputs/inline.compactbinary.afdo diff --git a/llvm/test/Transforms/SampleProfile/Inputs/summary.prof b/llvm/test/Transforms/SampleProfile/Inputs/summary.prof index 49a5b57d5e6..e80b9bc171b 100644 --- a/llvm/test/Transforms/SampleProfile/Inputs/summary.prof +++ b/llvm/test/Transforms/SampleProfile/Inputs/summary.prof @@ -2,3 +2,8 @@ bar:100:3 1: 100 foo:200:1 1: 200 +baz:600:1 + 1: 0 + 2: 300 + 1: bar:300 + 1: 300 diff --git a/llvm/test/Transforms/SampleProfile/compact-binary-profile.ll b/llvm/test/Transforms/SampleProfile/compact-binary-profile.ll index 9b786ef1d71..3b0a2a47c31 100644 --- a/llvm/test/Transforms/SampleProfile/compact-binary-profile.ll +++ b/llvm/test/Transforms/SampleProfile/compact-binary-profile.ll @@ -26,7 +26,7 @@ ; CHECK: br i1 %cmp, label %while.body, label %while.end{{.*}} !prof ![[IDX1:[0-9]*]] ; CHECK: br i1 %cmp1, label %if.then, label %if.else{{.*}} !prof ![[IDX2:[0-9]*]] ; CHECK: call i32 (i8*, ...) @printf{{.*}} !prof ![[IDX3:[0-9]*]] -; CHECK: = !{!"TotalCount", i64 10944} +; CHECK: = !{!"TotalCount", i64 26781} ; CHECK: = !{!"MaxCount", i64 5553} ; CHECK: ![[IDX1]] = !{!"branch_weights", i32 5392, i32 163} ; CHECK: ![[IDX2]] = !{!"branch_weights", i32 5280, i32 113} diff --git a/llvm/test/Transforms/SampleProfile/summary.ll b/llvm/test/Transforms/SampleProfile/summary.ll index 0a3d1a27648..03b6644eacc 100644 --- a/llvm/test/Transforms/SampleProfile/summary.ll +++ b/llvm/test/Transforms/SampleProfile/summary.ll @@ -7,9 +7,20 @@ 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]+}} = !{!"NumFunctions", i64 2} +; 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) |