blob: cbf0f4b82c609d0f9f6de8e1ba6bbceeff526295 [file] [edit]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt < %s -passes=jump-threading -S | FileCheck %s
define i32 @four_out_of_fifteen(i1 %call15, i1 %call16) !prof !0 {
; CHECK-LABEL: define i32 @four_out_of_fifteen(
; CHECK-SAME: i1 [[CALL15:%.*]], i1 [[CALL16:%.*]]) !prof [[PROF0:![0-9]+]] {
; CHECK-NEXT: [[ENTRY:.*]]:
; CHECK-NEXT: br i1 [[CALL15]], label %[[LOR_END_THREAD:.*]], label %[[LOR_END:.*]]
; CHECK: [[LOR_END]]:
; CHECK-NEXT: [[COND_FR:%.*]] = freeze i1 [[CALL16]]
; CHECK-NEXT: br i1 [[COND_FR]], label %[[LOR_END_THREAD]], label %[[LOR_END_THREAD]], !prof [[PROF1:![0-9]+]]
; CHECK: [[LOR_END_THREAD]]:
; CHECK-NEXT: [[TMP0:%.*]] = phi i32 [ 0, %[[LOR_END]] ], [ 0, %[[LOR_END]] ], [ 0, %[[ENTRY]] ]
; CHECK-NEXT: ret i32 [[TMP0]]
;
entry:
br i1 %call15, label %lor.end, label %lor.rhs
lor.rhs:
br label %lor.end
lor.end:
%0 = phi i1 [ false, %entry ], [ %call16, %lor.rhs ]
%bf.shl10.i = select i1 %0, i32 0, i32 0, !prof !1
ret i32 %bf.shl10.i
}
!0 = !{!"function_entry_count", i32 100}
!1 = !{!"unknown", !"instcombine"}
;.
; CHECK: [[PROF0]] = !{!"function_entry_count", i32 100}
; CHECK: [[PROF1]] = !{!"unknown", !"jump-threading"}
;.