27 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; This testcases makes sure that mem2reg can handle unreachable blocks.3; RUN: opt < %s -passes=mem2reg -S | FileCheck %s4 5define i32 @test() {6; CHECK-LABEL: @test(7; CHECK-NEXT: br label [[LOOP:%.*]]8; CHECK: Loop:9; CHECK-NEXT: br label [[ENDOFLOOP:%.*]]10; CHECK: Unreachable:11; CHECK-NEXT: br label [[ENDOFLOOP]]12; CHECK: EndOfLoop:13; CHECK-NEXT: br label [[LOOP]]14;15 %X = alloca i32 ; <ptr> [#uses=2]16 store i32 6, ptr %X17 br label %Loop18Loop: ; preds = %EndOfLoop, %019 store i32 5, ptr %X20 br label %EndOfLoop21Unreachable: ; No predecessors!22 br label %EndOfLoop23EndOfLoop: ; preds = %Unreachable, %Loop24 br label %Loop25}26 27