[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / Transforms / HotColdSplit / swifterror.ll
blobb97b0fa005e716d7bf26f44b0b14bc3425109e5a
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 %swift_error = type {i64, i8}
8 declare void @sink() cold
10 ; CHECK-LABEL: define {{.*}}@in_arg(
11 ; CHECK: call void @in_arg.cold.1(%swift_error** swifterror
12 define void @in_arg(%swift_error** swifterror %error_ptr_ref) {
13   br i1 undef, label %cold, label %exit
15 cold:
16   store %swift_error* undef, %swift_error** %error_ptr_ref
17   call void @sink()
18   br label %exit
20 exit:
21   ret void
24 ; CHECK-LABEL: define {{.*}}@in_alloca(
25 ; CHECK: call void @in_alloca.cold.1(%swift_error** swifterror
26 define void @in_alloca() {
27   %err = alloca swifterror %swift_error*
28   br i1 undef, label %cold, label %exit
30 cold:
31   store %swift_error* undef, %swift_error** %err
32   call void @sink()
33   br label %exit
35 exit:
36   ret void
39 ; CHECK-LABEL: define {{.*}}@in_arg.cold.1({{.*}} swifterror
40 ; CHECK: call {{.*}}@sink
42 ; CHECK-LABEL: define {{.*}}@in_alloca.cold.1({{.*}} swifterror
43 ; CHECK: call {{.*}}@sink