[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / Transforms / HotColdSplit / unwind.ll
blob66e2f76e327efdb776fc4a735ffb3ad8636ec774
1 ; RUN: opt -hotcoldsplit -hotcoldsplit-threshold=0 -S < %s | FileCheck %s
3 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
4 target triple = "x86_64-apple-macosx10.14.0"
6 ; Do not split out `resume` instructions.
8 ; CHECK-LABEL: define {{.*}}@foo.cold.1(
9 ; CHECK: call {{.*}}@sink(
10 ; CHECK-NOT: resume i32 undef
12 ; CHECK-NOT: noreturn
14 define i32 @foo() personality i8 0 {
15 entry:
16   invoke void @llvm.donothing() to label %normal unwind label %exception
18 exception:
19   %cleanup = landingpad i32 cleanup
20   br i1 undef, label %normal, label %continue_exception
22 continue_exception:
23   call void @sideeffect(i32 0)
24   call void @sink()
25   br label %resume-eh
27 resume-eh:
28   resume i32 undef
30 normal:
31   br i1 undef, label %continue_exception, label %exit
33 exit:
34   call void @sideeffect(i32 2)
35   ret i32 0
38 declare void @sideeffect(i32)
40 declare void @sink() cold
42 declare void @llvm.donothing() nounwind readnone