Files
clang-p2996/llvm/test/Transforms/SampleProfile/summary.ll
Taewook Oh a960f89962 [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
2019-04-03 19:54:43 +00:00

27 lines
953 B
LLVM

; 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)