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
27 lines
953 B
LLVM
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)
|