Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/test/Transforms/JumpThreading/static-profile.ll
Show First 20 Lines • Show All 80 Lines • ▼ Show 20 Lines | |||||
; CHECK: br i1 %cond1, label %check_2.thread, label %check_2{{$}} | ; CHECK: br i1 %cond1, label %check_2.thread, label %check_2{{$}} | ||||
eq_1: | eq_1: | ||||
call void @bar() | call void @bar() | ||||
br label %check_2 | br label %check_2 | ||||
; Verify the new backedge: | ; Verify the new backedge: | ||||
; CHECK: check_2.thread: | ; CHECK: check_2.thread: | ||||
; CHECK-NEXT: call void @bar() | ; CHECK-NEXT: call void @bar() | ||||
; CHECK-NEXT: br label %check_1 | ; CHECK-NEXT: br label %check_3.thread | ||||
check_2: | check_2: | ||||
%cond2 = icmp eq i32 %v, 2 | %cond2 = icmp eq i32 %v, 2 | ||||
br i1 %cond2, label %eq_2, label %check_3 | br i1 %cond2, label %eq_2, label %check_3 | ||||
; No metadata: | ; No metadata: | ||||
; CHECK: br i1 %cond2, label %eq_2, label %check_3{{$}} | ; CHECK: br i1 %cond2, label %eq_2, label %check_3{{$}} | ||||
eq_2: | eq_2: | ||||
call void @bar() | call void @bar() | ||||
br label %check_3 | br label %check_3 | ||||
; Verify the new backedge: | ; Verify the new backedge: | ||||
; CHECK: eq_2: | ; CHECK: eq_2: | ||||
; CHECK-NEXT: call void @bar() | ; CHECK-NEXT: call void @bar() | ||||
; CHECK-NEXT: br label %check_1 | ; CHECK-NEXT: br label %check_3.thread | ||||
check_3: | check_3: | ||||
%condE = icmp eq i32 %v, 3 | %condE = icmp eq i32 %v, 3 | ||||
br i1 %condE, label %exit, label %check_1 | br i1 %condE, label %exit, label %check_1 | ||||
; No metadata: | ; No metadata: | ||||
; CHECK: br i1 %condE, label %exit, label %check_1{{$}} | ; CHECK: br i1 %condE, label %exit, label %check_1{{$}} | ||||
exit: | exit: | ||||
ret void | ret void | ||||
} | } | ||||
!0 = !{!"function_entry_count", i64 120} | !0 = !{!"function_entry_count", i64 120} | ||||
; CHECK-NOT: branch_weights | ; CHECK-NOT: branch_weights | ||||
!1 = !{!"branch_weights", i32 119, i32 1} | !1 = !{!"branch_weights", i32 119, i32 1} | ||||
; CHECK: !1 = !{!"branch_weights", i32 119, i32 1} | ; CHECK: !1 = !{!"branch_weights", i32 119, i32 1} | ||||
; CHECK-NOT: branch_weights | ; CHECK-NOT: branch_weights |