1; RUN: opt < %s -loop-simplify -S | FileCheck %s 2; PR11575 3 4@catchtypeinfo = external unnamed_addr constant { i8*, i8*, i8* } 5 6define void @main() uwtable ssp { 7entry: 8 invoke void @f1() 9 to label %try.cont19 unwind label %catch 10 11; CHECK: catch.preheader: 12; CHECK-NEXT: landingpad 13; CHECK: br label %catch 14 15; CHECK: catch.split-lp: 16; CHECK-NEXT: landingpad 17; CHECK: br label %catch 18 19catch: ; preds = %if.else, %entry 20 %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) 21 catch i8* bitcast ({ i8*, i8*, i8* }* @catchtypeinfo to i8*) 22 invoke void @f3() 23 to label %if.else unwind label %eh.resume 24 25if.else: ; preds = %catch 26 invoke void @f2() 27 to label %try.cont19 unwind label %catch 28 29try.cont19: ; preds = %if.else, %entry 30 ret void 31 32eh.resume: ; preds = %catch 33 %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) 34 cleanup 35 catch i8* bitcast ({ i8*, i8*, i8* }* @catchtypeinfo to i8*) 36 resume { i8*, i32 } undef 37} 38 39declare i32 @__gxx_personality_v0(...) 40 41declare void @f1() 42 43declare void @f2() 44 45declare void @f3() 46