blob: d7ed1dd13e811c88e6941247de40d6110bdb11cc [file] [log] [blame]
Chris Lattnercf295032009-09-21 22:39:35 +00001; RUN: opt < %s -mem2reg -S
2; PR5023
3
Chris Lattner4e849162009-11-02 04:37:17 +00004declare i32 @test1f()
Chris Lattnercf295032009-09-21 22:39:35 +00005
David Majnemer7fddecc2015-06-17 20:52:32 +00006define i32 @test1() personality i32 (...)* @__gxx_personality_v0 {
Chris Lattnercf295032009-09-21 22:39:35 +00007entry:
8 %whichFlag = alloca i32
Chris Lattner4e849162009-11-02 04:37:17 +00009 %A = invoke i32 @test1f()
Chris Lattnercf295032009-09-21 22:39:35 +000010 to label %invcont2 unwind label %lpad86
11
12invcont2:
13 store i32 %A, i32* %whichFlag
14 br label %bb15
15
16bb15:
David Blaikiea79ac142015-02-27 21:17:42 +000017 %B = load i32, i32* %whichFlag
Chris Lattnercf295032009-09-21 22:39:35 +000018 ret i32 %B
19
20lpad86:
David Majnemer7fddecc2015-06-17 20:52:32 +000021 %exn = landingpad {i8*, i32}
Bill Wendlingd4e87142011-08-31 21:39:05 +000022 cleanup
Chris Lattnercf295032009-09-21 22:39:35 +000023 br label %bb15
24
25}
26
Bill Wendlingd4e87142011-08-31 21:39:05 +000027declare i32 @__gxx_personality_v0(...)
Chris Lattner4e849162009-11-02 04:37:17 +000028
29
30define i32 @test2() {
31entry:
32 %whichFlag = alloca i32
33 br label %bb15
34
35bb15:
David Blaikiea79ac142015-02-27 21:17:42 +000036 %B = load i32, i32* %whichFlag
Chris Lattner4e849162009-11-02 04:37:17 +000037 ret i32 %B
38
39invcont2:
David Blaikiea79ac142015-02-27 21:17:42 +000040 %C = load i32, i32* %whichFlag
Chris Lattner4e849162009-11-02 04:37:17 +000041 store i32 %C, i32* %whichFlag
42 br label %bb15
43}
44