| ; 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 | |
| } |