1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2 ; RUN: opt -S -newgvn %s | FileCheck %s 3 4 @a = external global i32 5 6 define void @b() { 7 ; CHECK-LABEL: @b( 8 ; CHECK-NEXT: br i1 false, label [[C:%.*]], label [[WHILE_D:%.*]] 9 ; CHECK: while.d: 10 ; CHECK-NEXT: br label [[F:%.*]] 11 ; CHECK: f: 12 ; CHECK-NEXT: br i1 undef, label [[IF_E:%.*]], label [[C]] 13 ; CHECK: c: 14 ; CHECK-NEXT: br i1 undef, label [[IF_G:%.*]], label [[IF_E]] 15 ; CHECK: if.g: 16 ; CHECK-NEXT: store i32 undef, i32* @a 17 ; CHECK-NEXT: br label [[WHILE_D]] 18 ; CHECK: if.e: 19 ; CHECK-NEXT: br label [[F]] 20 ; 21 br i1 false, label %c, label %while.d 22 23 while.d: ; preds = %if.g, %0 24 br label %f 25 26 f: ; preds = %if.e, %while.d 27 br i1 undef, label %if.e, label %c 28 29 c: ; preds = %f, %0 30 br i1 undef, label %if.g, label %if.e 31 32 if.g: ; preds = %c 33 store i32 undef, i32* @a 34 br label %while.d 35 36 if.e: ; preds = %c, %f 37 br label %f 38 } 39 40