1; RUN: opt -passes=hotcoldsplit -hotcoldsplit-threshold=0 -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 split out `resume` instructions. 7 8; CHECK-LABEL: define {{.*}}@foo.cold.1( 9; CHECK: call {{.*}}@sink( 10; CHECK-NOT: resume i32 undef 11 12; CHECK-NOT: noreturn 13 14define i32 @foo() personality i8 0 { 15entry: 16 invoke void @llvm.donothing() to label %normal unwind label %exception 17 18exception: 19 %cleanup = landingpad i32 cleanup 20 br i1 undef, label %normal, label %continue_exception 21 22continue_exception: 23 call void @sideeffect(i32 0) 24 call void @sink() 25 br label %resume-eh 26 27resume-eh: 28 resume i32 undef 29 30normal: 31 br i1 undef, label %continue_exception, label %exit 32 33exit: 34 call void @sideeffect(i32 2) 35 ret i32 0 36} 37 38declare void @sideeffect(i32) 39 40declare void @sink() cold 41 42declare void @llvm.donothing() nounwind readnone 43