blob: 63342da55708348c27b64c3ef53907eaf82e831f [file] [log] [blame]
; Test that prof-inject only injects missing metadata
; RUN: opt -passes=prof-inject -profcheck-default-function-entry-count=10 %s -S -o - | FileCheck %s
define void @foo(i32 %i) {
%c = icmp eq i32 %i, 0
br i1 %c, label %yes, label %no, !prof !0
yes:
br i1 %c, label %yes2, label %no
yes2:
ret void
no:
ret void
}
define void @cold(i32 %i) !prof !1 {
%c = icmp eq i32 %i, 0
br i1 %c, label %yes, label %no
yes:
br i1 %c, label %yes2, label %no
yes2:
ret void
no:
ret void
}
!0 = !{!"branch_weights", i32 1, i32 2}
!1 = !{!"function_entry_count", i32 0}
; CHECK-LABEL: @foo
; CHECK: br i1 %c, label %yes, label %no, !prof !1
; CHECK: br i1 %c, label %yes2, label %no, !prof !2
; CHECK-LABEL: @cold
; CHECK: br i1 %c, label %yes, label %no{{$}}
; CHECK: br i1 %c, label %yes2, label %no{{$}}
; CHECK: !0 = !{!"function_entry_count", i64 10}
; CHECK: !1 = !{!"branch_weights", i32 1, i32 2}
; CHECK: !2 = !{!"branch_weights", i32 3, i32 5}
; CHECK: !3 = !{!"function_entry_count", i32 0}