; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt -S -passes=newgvn %s | FileCheck %s @a = external global i32 define void @b() { ; CHECK-LABEL: @b( ; CHECK-NEXT: br i1 false, label [[C:%.*]], label [[WHILE_D:%.*]] ; CHECK: while.d: ; CHECK-NEXT: br label [[F:%.*]] ; CHECK: f: ; CHECK-NEXT: br i1 undef, label [[IF_E:%.*]], label [[C]] ; CHECK: c: ; CHECK-NEXT: br i1 undef, label [[IF_G:%.*]], label [[IF_E]] ; CHECK: if.g: ; CHECK-NEXT: store i32 undef, i32* @a ; CHECK-NEXT: br label [[WHILE_D]] ; CHECK: if.e: ; CHECK-NEXT: br label [[F]] ; br i1 false, label %c, label %while.d while.d: ; preds = %if.g, %0 br label %f f: ; preds = %if.e, %while.d br i1 undef, label %if.e, label %c c: ; preds = %f, %0 br i1 undef, label %if.g, label %if.e if.g: ; preds = %c store i32 undef, i32* @a br label %while.d if.e: ; preds = %c, %f br label %f }