Home | History | Annotate | Download | only in StructurizeCFG
      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