; RUN: opt < %s -loop-simplify -S | FileCheck %s ; PR11575 @catchtypeinfo = external unnamed_addr constant { i8*, i8*, i8* } define void @main() uwtable ssp { entry: invoke void @f1() to label %try.cont19 unwind label %catch ; CHECK: catch.preheader: ; CHECK-NEXT: landingpad ; CHECK: br label %catch ; CHECK: catch.split-lp: ; CHECK-NEXT: landingpad ; CHECK: br label %catch catch: ; preds = %if.else, %entry %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) catch i8* bitcast ({ i8*, i8*, i8* }* @catchtypeinfo to i8*) invoke void @f3() to label %if.else unwind label %eh.resume if.else: ; preds = %catch invoke void @f2() to label %try.cont19 unwind label %catch try.cont19: ; preds = %if.else, %entry ret void eh.resume: ; preds = %catch %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) cleanup catch i8* bitcast ({ i8*, i8*, i8* }* @catchtypeinfo to i8*) resume { i8*, i32 } undef } declare i32 @__gxx_personality_v0(...) declare void @f1() declare void @f2() declare void @f3()