blob: ab0afd4354a764910b4f41bfa0d517eceb95f1a2 [file] [log] [blame]
Dmitri Gribenko56bf2e12012-12-30 02:33:22 +00001; RUN: opt -verify -disable-output < %s
Rafael Espindola94df2672012-02-26 02:19:19 +00002; This tests that we handle unreachable blocks correctly
3
David Majnemer7fddecc2015-06-17 20:52:32 +00004define void @f() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
Rafael Espindola94df2672012-02-26 02:19:19 +00005 %v1 = invoke i32* @g()
6 to label %bb1 unwind label %bb2
7 invoke void @__dynamic_cast()
8 to label %bb1 unwind label %bb2
9bb1:
David Blaikie79e6c742015-02-27 19:29:02 +000010 %Hidden = getelementptr inbounds i32, i32* %v1, i64 1
Rafael Espindola94df2672012-02-26 02:19:19 +000011 ret void
12bb2:
David Majnemer7fddecc2015-06-17 20:52:32 +000013 %lpad.loopexit80 = landingpad { i8*, i32 }
Rafael Espindola94df2672012-02-26 02:19:19 +000014 cleanup
15 ret void
16}
17declare i32 @__gxx_personality_v0(...)
18declare void @__dynamic_cast()
19declare i32* @g()