; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -S -lower-widenable-condition < %s        | FileCheck %s
; RUN: opt -S -passes=lower-widenable-condition < %s | FileCheck %s

; Basic test case: make sure that all widenable conditions turn into i1 true.
define void @f_0(i1 %cond_0, i1 %cond_1) {
; CHECK-LABEL: @f_0(
; CHECK-NEXT:  entry:
; CHECK-NEXT:    [[EXIPLICIT_GUARD_COND:%.*]] = and i1 [[COND_0:%.*]], true
; CHECK-NEXT:    br i1 [[EXIPLICIT_GUARD_COND]], label [[GUARDED:%.*]], label [[DEOPT:%.*]]
; CHECK:       deopt:
; CHECK-NEXT:    unreachable
; CHECK:       guarded:
; CHECK-NEXT:    [[EXIPLICIT_GUARD_COND4:%.*]] = and i1 [[COND_1:%.*]], true
; CHECK-NEXT:    br i1 [[EXIPLICIT_GUARD_COND4]], label [[GUARDED1:%.*]], label [[DEOPT2:%.*]]
; CHECK:       deopt2:
; CHECK-NEXT:    unreachable
; CHECK:       guarded1:
; CHECK-NEXT:    ret void
;
entry:
  %widenable_cond = call i1 @llvm.experimental.widenable.condition()
  %exiplicit_guard_cond = and i1 %cond_0, %widenable_cond
  br i1 %exiplicit_guard_cond, label %guarded, label %deopt

deopt:                                            ; preds = %entry
  unreachable

guarded:                                          ; preds = %entry
  %widenable_cond3 = call i1 @llvm.experimental.widenable.condition()
  %exiplicit_guard_cond4 = and i1 %cond_1, %widenable_cond3
  br i1 %exiplicit_guard_cond4, label %guarded1, label %deopt2

deopt2:                                           ; preds = %guarded
  unreachable

guarded1:                                         ; preds = %guarded
  ret void
}

; Function Attrs: inaccessiblememonly nounwind
declare i1 @llvm.experimental.widenable.condition() #0

attributes #0 = { inaccessiblememonly nounwind }
