; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -S -structurizecfg %s | FileCheck %s

define void @invert_condition(i1 %arg) {
; CHECK-LABEL: @invert_condition(
; CHECK-NEXT:  bb:
; CHECK-NEXT:    [[TMP:%.*]] = load volatile float, float addrspace(1)* undef
; CHECK-NEXT:    [[TMP1:%.*]] = load volatile float, float addrspace(1)* undef
; CHECK-NEXT:    br label [[BB2:%.*]]
; CHECK:       bb2:
; CHECK-NEXT:    [[TMP3:%.*]] = fcmp oge float [[TMP]], [[TMP1]]
; CHECK-NEXT:    [[TMP4:%.*]] = xor i1 [[ARG:%.*]], [[TMP3]]
; CHECK-NEXT:    [[TMP0:%.*]] = xor i1 [[TMP4]], true
; CHECK-NEXT:    br i1 [[TMP0]], label [[BB5:%.*]], label [[BB2]]
; CHECK:       bb5:
; CHECK-NEXT:    ret void
;
bb:
  %tmp = load volatile float, float addrspace(1)* undef
  %tmp1 = load volatile float, float addrspace(1)* undef
  br label %bb2

bb2:                                              ; preds = %bb2, %bb
  %tmp3 = fcmp oge float %tmp, %tmp1
  %tmp4 = xor i1 %arg, %tmp3
  br i1 %tmp4, label %bb2, label %bb5

bb5:                                              ; preds = %bb2
  ret void
}

define void @invert_condition_phi(i32 %arg) {
; CHECK-LABEL: @invert_condition_phi(
; CHECK-NEXT:  main_body:
; CHECK-NEXT:    [[I5:%.*]] = icmp eq i32 [[ARG:%.*]], 0
; CHECK-NEXT:    [[I5_INV:%.*]] = xor i1 [[I5]], true
; CHECK-NEXT:    br i1 [[I5_INV]], label [[IF1:%.*]], label [[ENDIF1:%.*]]
; CHECK:       if1:
; CHECK-NEXT:    br label [[ENDIF1]]
; CHECK:       endif1:
; CHECK-NEXT:    [[I7:%.*]] = phi i1 [ [[I5]], [[MAIN_BODY:%.*]] ], [ false, [[IF1]] ]
; CHECK-NEXT:    [[I7_INV:%.*]] = xor i1 [[I7]], true
; CHECK-NEXT:    br i1 [[I7_INV]], label [[IF4:%.*]], label [[ENDIF4:%.*]]
; CHECK:       if4:
; CHECK-NEXT:    br label [[ENDIF4]]
; CHECK:       endif4:
; CHECK-NEXT:    ret void
;
main_body:
  %i5 = icmp eq i32 %arg, 0
  br i1 %i5, label %endif1, label %if1

if1:
  br label %endif1

endif1:
  %i7 = phi i1 [ false, %if1 ], [ %i5, %main_body ]
  br i1 %i7, label %endif4, label %if4

if4:
  br label %endif4

endif4:
  ret void
}
