; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; This testcases makes sure that mem2reg can handle unreachable blocks. ; RUN: opt < %s -passes=mem2reg -S | FileCheck %s define i32 @test() { ; CHECK-LABEL: @test( ; CHECK-NEXT: br label [[LOOP:%.*]] ; CHECK: Loop: ; CHECK-NEXT: br label [[ENDOFLOOP:%.*]] ; CHECK: Unreachable: ; CHECK-NEXT: br label [[ENDOFLOOP]] ; CHECK: EndOfLoop: ; CHECK-NEXT: br label [[LOOP]] ; %X = alloca i32 ; [#uses=2] store i32 6, ptr %X br label %Loop Loop: ; preds = %EndOfLoop, %0 store i32 5, ptr %X br label %EndOfLoop Unreachable: ; No predecessors! br label %EndOfLoop EndOfLoop: ; preds = %Unreachable, %Loop br label %Loop }