1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2 ; RUN: opt -S -structurizecfg %s | FileCheck %s 3 4 define void @invert_condition(i1 %arg) { 5 ; CHECK-LABEL: @invert_condition( 6 ; CHECK-NEXT: bb: 7 ; CHECK-NEXT: [[TMP:%.*]] = load volatile float, float addrspace(1)* undef 8 ; CHECK-NEXT: [[TMP1:%.*]] = load volatile float, float addrspace(1)* undef 9 ; CHECK-NEXT: br label [[BB2:%.*]] 10 ; CHECK: bb2: 11 ; CHECK-NEXT: [[TMP3:%.*]] = fcmp oge float [[TMP]], [[TMP1]] 12 ; CHECK-NEXT: [[TMP4:%.*]] = xor i1 [[ARG:%.*]], [[TMP3]] 13 ; CHECK-NEXT: [[TMP0:%.*]] = xor i1 [[TMP4]], true 14 ; CHECK-NEXT: br i1 [[TMP0]], label [[BB5:%.*]], label [[BB2]] 15 ; CHECK: bb5: 16 ; CHECK-NEXT: ret void 17 ; 18 bb: 19 %tmp = load volatile float, float addrspace(1)* undef 20 %tmp1 = load volatile float, float addrspace(1)* undef 21 br label %bb2 22 23 bb2: ; preds = %bb2, %bb 24 %tmp3 = fcmp oge float %tmp, %tmp1 25 %tmp4 = xor i1 %arg, %tmp3 26 br i1 %tmp4, label %bb2, label %bb5 27 28 bb5: ; preds = %bb2 29 ret void 30 } 31