1; RUN: llc -simplifycfg-require-and-preserve-domtree=1 < %s -mtriple=i386-pc-mingw32 2 3define void @func() nounwind personality ptr @__gxx_personality_v0 { 4invoke.cont: 5 %call = tail call ptr @malloc() 6 %a = invoke i32 @bar() 7 to label %bb1 unwind label %lpad 8 9bb1: 10 ret void 11 12lpad: 13 %exn.ptr = landingpad { ptr, i32 } 14 catch ptr null 15 %exn = extractvalue { ptr, i32 } %exn.ptr, 0 16 %eh.selector = extractvalue { ptr, i32 } %exn.ptr, 1 17 %ehspec.fails = icmp slt i32 %eh.selector, 0 18 br i1 %ehspec.fails, label %ehspec.unexpected, label %cleanup 19 20cleanup: 21 resume { ptr, i32 } %exn.ptr 22 23ehspec.unexpected: 24 tail call void @__cxa_call_unexpected(ptr %exn) noreturn nounwind 25 unreachable 26} 27 28declare noalias ptr @malloc() 29 30declare i32 @__gxx_personality_v0(...) 31 32declare void @_Unwind_Resume_or_Rethrow(ptr) 33 34declare void @__cxa_call_unexpected(ptr) 35 36declare i32 @bar() 37