forked from OSchip/llvm-project
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)
|