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