1; RUN: opt -hotcoldsplit -S < %s | FileCheck %s 2 3target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" 4target triple = "x86_64-apple-macosx10.14.0" 5 6; Do not mark outlined functions which resume exception unwinding as noreturn. 7 8; CHECK-LABEL: define {{.*}}@foo.cold.1( 9; CHECK: resume 10; CHECK-NOT: noreturn 11define i32 @foo(i32 %cond) personality i8 0 { 12entry: 13 invoke void @llvm.donothing() to label %normal unwind label %exception 14 15exception: 16 %cleanup = landingpad i32 cleanup 17 br i1 undef, label %normal, label %continue_exception 18 19continue_exception: 20 call void @sideeffect(i32 0) 21 call void @sideeffect(i32 1) 22 call void @sink() 23 resume i32 undef 24 25normal: 26 br i1 undef, label %continue_exception, label %exit 27 28exit: 29 call void @sideeffect(i32 2) 30 ret i32 0 31} 32 33declare void @sideeffect(i32) 34 35declare void @sink() cold 36 37declare void @llvm.donothing() nounwind readnone 38