xref: /llvm-project/llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir (revision 7564566779eb07e9daf41a351b09cf7607871845)
1# REQUIRES: asserts
2# RUN: llc -x mir -run-pass=register-coalescer,greedy -verify-machineinstrs < %s 2>&1  | FileCheck %s
3
4# CHECK-NOT: Bad Parent VNI
5--- |
6  ; ModuleID = 'hoist-copies'
7  source_filename = "hoist-copies.ll"
8  target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
9  target triple = "x86_64-unknown-linux-gnu"
10
11  define float @hoge(i8 addrspace(3)* %arg) gc "statepoint-example" personality i32* ()* @widget {
12  bb:
13    %tmp = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(3)* null, align 8
14    %tmp1 = load i32, i32 addrspace(3)* undef, align 4
15    %tmp2 = load i32, i32 addrspace(3)* undef, align 4
16    %tmp3 = load i32, i32 addrspace(3)* null, align 4
17    %tmp4 = load i32, i32 addrspace(3)* null, align 4
18    %tmp5 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(3)* undef, align 8
19    %tmp6 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(3)* undef, align 8
20    %tmp7 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(3)* undef, align 8
21    %tmp8 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(3)* undef, align 8
22    %tmp9 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(3)* undef, align 8
23    %tmp10 = inttoptr i64 undef to i8 addrspace(1)*
24    %tmp11 = inttoptr i64 undef to i8 addrspace(1)*
25    br i1 undef, label %bb12, label %bb93
26
27  bb12:                                             ; preds = %bb
28    %tmp13 = load atomic i32, i32 addrspace(1)* undef unordered, align 4
29    %tmp14 = and i32 %tmp13, 33554431
30    %tmp15 = call token (i64, i32, void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 2882400000, i32 0, void ()* nonnull elementtype(void ()) @barney, i32 0, i32 0, i32 0, i32 0) [ "deopt"(i32 0, i32 1, i32 0, i32 83, i32 0, i32 19, i32 0, i32 0, i8 addrspace(1)* %tmp, i32 3, i32 %tmp1, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 %tmp4, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp5, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp6, i32 0, i8 addrspace(1)* %tmp7, i32 0, i8 addrspace(1)* %tmp8, i32 0, i8 addrspace(1)* %tmp9, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"(i8 addrspace(1)* %tmp, i8 addrspace(1)* %tmp6, i8 addrspace(1)* %tmp7, i8 addrspace(1)* %tmp8, i8 addrspace(1)* %tmp9, i8 addrspace(1)* %tmp5, i8 addrspace(1)* %tmp10, i8 addrspace(1)* %tmp11) ]
31    %tmp16 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp15, i32 1, i32 1) ; (%tmp6, %tmp6)
32    %tmp17 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp15, i32 2, i32 2) ; (%tmp7, %tmp7)
33    %tmp18 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp15, i32 4, i32 4) ; (%tmp9, %tmp9)
34    %tmp19 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp15, i32 5, i32 5) ; (%tmp5, %tmp5)
35    %tmp20 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp15, i32 6, i32 6) ; (%tmp10, %tmp10)
36    %tmp21 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp15, i32 7, i32 7) ; (%tmp11, %tmp11)
37    %tmp22 = invoke token (i64, i32, float (i32, i8 addrspace(1)*, i64, i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_f32i32p1i8i64i32f(i64 1, i32 16, float (i32, i8 addrspace(1)*, i64, i32)* nonnull elementtype(float (i32, i8 addrspace(1)*, i64, i32)) @quux, i32 4, i32 0, i32 %tmp14, i8 addrspace(1)* %tmp16, i64 -170, i32 undef, i32 0, i32 0) [ "deopt"(i32 0, i32 0, i32 0, i32 103, i32 1, i32 19, i32 0, i32 3, float undef, i32 0, i8 addrspace(1)* null, i32 3, i32 %tmp1, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 %tmp4, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp19, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp16, i32 0, i8 addrspace(1)* %tmp17, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* %tmp18, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"(i8 addrspace(1)* null, i8 addrspace(1)* %tmp16, i8 addrspace(1)* %tmp17, i8 addrspace(1)* undef, i8 addrspace(1)* %tmp18, i8 addrspace(1)* %tmp19, i8 addrspace(1)* %tmp20, i8 addrspace(1)* %tmp21) ]
38            to label %bb23 unwind label %bb75
39
40  bb23:                                             ; preds = %bb12
41    %tmp24 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp22, i32 1, i32 1) ; (%tmp16, %tmp16)
42    %tmp25 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp22, i32 2, i32 2) ; (%tmp17, %tmp17)
43    %tmp26 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp22, i32 4, i32 4) ; (%tmp18, %tmp18)
44    %tmp27 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp22, i32 5, i32 5) ; (%tmp19, %tmp19)
45    %tmp28 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp22, i32 6, i32 6) ; (%tmp20, %tmp20)
46    %tmp29 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp22, i32 7, i32 7) ; (%tmp21, %tmp21)
47    %tmp30 = invoke token (i64, i32, i32 (i32, i8 addrspace(1)*, i32, i32, i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i32i32p1i8i32i32i32f(i64 1, i32 16, i32 (i32, i8 addrspace(1)*, i32, i32, i32)* nonnull elementtype(i32 (i32, i8 addrspace(1)*, i32, i32, i32)) @hoge.1, i32 5, i32 0, i32 undef, i8 addrspace(1)* %tmp26, i32 undef, i32 %tmp4, i32 %tmp4, i32 0, i32 0) [ "deopt"(i32 0, i32 8, i32 0, i32 153, i32 4, i32 19, i32 0, i32 4, i64 undef, i32 7, i8* null, i32 0, i8 addrspace(1)* undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* null, i32 3, i32 %tmp1, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 %tmp4, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp27, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp24, i32 0, i8 addrspace(1)* %tmp25, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* %tmp26, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"(i8 addrspace(1)* null, i8 addrspace(1)* %tmp27, i8 addrspace(1)* %tmp24, i8 addrspace(1)* %tmp25, i8 addrspace(1)* undef, i8 addrspace(1)* %tmp26, i8 addrspace(1)* %tmp28, i8 addrspace(1)* %tmp29) ]
48            to label %bb56 unwind label %bb65
49
50  bb31:                                             ; preds = %bb67
51    %tmp32 = invoke token (i64, i32, i32 (i32, i8 addrspace(1)*, i32, i32, i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i32i32p1i8i32i32i32f(i64 1, i32 16, i32 (i32, i8 addrspace(1)*, i32, i32, i32)* nonnull elementtype(i32 (i32, i8 addrspace(1)*, i32, i32, i32)) @hoge.1, i32 5, i32 0, i32 undef, i8 addrspace(1)* %tmp71, i32 %tmp4, i32 undef, i32 undef, i32 0, i32 0) [ "deopt"(i32 0, i32 0, i32 0, i32 537, i32 2, i32 19, i32 0, i32 0, i8 addrspace(1)* undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* null, i32 3, i32 undef, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 %tmp4, i32 3, i32 1, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp69, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp70, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* %tmp71, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"(i8 addrspace(1)* null, i8 addrspace(1)* %tmp69, i8 addrspace(1)* %tmp70, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* %tmp71, i8 addrspace(1)* undef, i8 addrspace(1)* %tmp72, i8 addrspace(1)* undef) ]
52            to label %bb33 unwind label %bb77
53
54  bb33:                                             ; preds = %bb31
55    %tmp34 = call token (i64, i32, void (i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidi32f(i64 2882400000, i32 0, void (i32)* nonnull elementtype(void (i32)) @ham, i32 1, i32 0, i32 15, i32 0, i32 0) [ "deopt"(i32 0, i32 2, i32 0, i32 591, i32 0, i32 19, i32 0, i32 7, i8* null, i32 3, i32 undef, i32 3, i32 63, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 %tmp4, i32 3, i32 1, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 3, float undef, i32 3, i32 undef, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 1, i32 1, i32 16, i32 0, i32 0, i32 0), "gc-live"() ]
56    unreachable
57
58  bb35:                                             ; preds = %bb67
59    %tmp36 = invoke token (i64, i32, i32 (i32, i8 addrspace(1)*, i32, i32, i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i32i32p1i8i32i32i32f(i64 1, i32 16, i32 (i32, i8 addrspace(1)*, i32, i32, i32)* nonnull elementtype(i32 (i32, i8 addrspace(1)*, i32, i32, i32)) @hoge.1, i32 5, i32 0, i32 undef, i8 addrspace(1)* %tmp71, i32 %tmp4, i32 undef, i32 undef, i32 0, i32 0) [ "deopt"(i32 0, i32 8, i32 0, i32 300, i32 2, i32 19, i32 0, i32 0, i8 addrspace(1)* %tmp71, i32 3, i32 undef, i32 0, i8 addrspace(1)* null, i32 3, i32 %tmp1, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp69, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp70, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* %tmp71, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"(i8 addrspace(1)* null, i8 addrspace(1)* %tmp69, i8 addrspace(1)* %tmp70, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* %tmp71, i8 addrspace(1)* %tmp72, i8 addrspace(1)* undef) ]
60            to label %bb37 unwind label %bb79
61
62  bb37:                                             ; preds = %bb35
63    %tmp38 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp36, i32 1, i32 1) ; (%tmp69, %tmp69)
64    %tmp39 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp36, i32 6, i32 6) ; (%tmp72, %tmp72)
65    %tmp40 = invoke token (i64, i32, i32 (i32, i8 addrspace(1)*, i32, i32, i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i32i32p1i8i32i32i32f(i64 1, i32 16, i32 (i32, i8 addrspace(1)*, i32, i32, i32)* nonnull elementtype(i32 (i32, i8 addrspace(1)*, i32, i32, i32)) @hoge.1, i32 5, i32 0, i32 undef, i8 addrspace(1)* undef, i32 undef, i32 undef, i32 -7122, i32 0, i32 0) [ "deopt"(i32 0, i32 8, i32 0, i32 308, i32 0, i32 19, i32 0, i32 0, i8 addrspace(1)* null, i32 3, i32 %tmp1, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp38, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"(i8 addrspace(1)* null, i8 addrspace(1)* %tmp38, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* %tmp39, i8 addrspace(1)* undef) ]
66            to label %bb41 unwind label %bb85
67
68  bb41:                                             ; preds = %bb37
69    %tmp42 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp40, i32 6, i32 6) ; (%tmp39, %tmp39)
70    %tmp43 = getelementptr inbounds i8, i8 addrspace(1)* %tmp42, i64 904
71    %tmp44 = bitcast i8 addrspace(1)* %tmp43 to i8 addrspace(1)* addrspace(1)*
72    %tmp45 = load atomic i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %tmp44 unordered, align 8
73    %tmp46 = icmp eq i8 addrspace(1)* %tmp45, null
74    %tmp47 = xor i64 0, -1
75    %tmp48 = inttoptr i64 %tmp47 to i8 addrspace(1)*
76    %tmp49 = select i1 %tmp46, i8 addrspace(1)* null, i8 addrspace(1)* %tmp48
77    br i1 undef, label %bb52, label %bb50
78
79  bb50:                                             ; preds = %bb41
80    %0 = bitcast i8 addrspace(1)* %tmp43 to i8 addrspace(1)* addrspace(1)*
81    %tmp51 = call i8 addrspace(1)* @wombat(i8 addrspace(1)* %tmp49, i8 addrspace(1)* addrspace(1)* %0)
82    br label %bb52
83
84  bb52:                                             ; preds = %bb50, %bb41
85    %tmp53 = invoke token (i64, i32, i32 (i32, i8 addrspace(1)*, i32, i32, i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i32i32p1i8i32i32i32f(i64 1, i32 16, i32 (i32, i8 addrspace(1)*, i32, i32, i32)* nonnull elementtype(i32 (i32, i8 addrspace(1)*, i32, i32, i32)) @hoge.1, i32 5, i32 0, i32 undef, i8 addrspace(1)* undef, i32 undef, i32 undef, i32 undef, i32 0, i32 0) [ "deopt"(i32 0, i32 0, i32 0, i32 335, i32 2, i32 19, i32 0, i32 0, i8 addrspace(1)* undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 3, i32 undef, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"(i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* %tmp42, i8 addrspace(1)* undef) ]
86            to label %bb54 unwind label %bb90
87
88  bb54:                                             ; preds = %bb52
89    %tmp55 = call token (i64, i32, void (i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidi32f(i64 2882400000, i32 0, void (i32)* nonnull elementtype(void (i32)) @ham, i32 1, i32 2, i32 10, i32 0, i32 0) [ "deopt"(i32 0, i32 1, i32 0, i32 344, i32 4, i32 19, i32 0, i32 0, i8 addrspace(1)* null, i32 3, i32 undef, i32 4, i64 undef, i32 7, i8* null, i32 0, i8 addrspace(1)* undef, i32 3, i32 undef, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"() ]
90    unreachable
91
92  bb56:                                             ; preds = %bb23
93    %tmp57 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp30, i32 1, i32 1) ; (%tmp27, %tmp27)
94    %tmp58 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp30, i32 2, i32 2) ; (%tmp24, %tmp24)
95    %tmp59 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp30, i32 5, i32 5) ; (%tmp26, %tmp26)
96    %tmp60 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp30, i32 6, i32 6) ; (%tmp28, %tmp28)
97    %tmp61 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp30, i32 7, i32 7) ; (%tmp29, %tmp29)
98    %tmp62 = invoke token (i64, i32, i32 (i32, i8 addrspace(1)*, i32, i32, i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i32i32p1i8i32i32i32f(i64 1, i32 16, i32 (i32, i8 addrspace(1)*, i32, i32, i32)* nonnull elementtype(i32 (i32, i8 addrspace(1)*, i32, i32, i32)) @hoge.1, i32 5, i32 0, i32 undef, i8 addrspace(1)* %tmp59, i32 %tmp1, i32 7, i32 %tmp3, i32 0, i32 0) [ "deopt"(i32 0, i32 8, i32 0, i32 208, i32 4, i32 19, i32 0, i32 0, i8 addrspace(1)* %tmp57, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* null, i32 0, i8 addrspace(1)* null, i32 3, i32 %tmp1, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 %tmp4, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp57, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp58, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* %tmp59, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"(i8 addrspace(1)* %tmp57, i8 addrspace(1)* %tmp58, i8 addrspace(1)* undef, i8 addrspace(1)* undef, i8 addrspace(1)* %tmp59, i8 addrspace(1)* null, i8 addrspace(1)* %tmp60, i8 addrspace(1)* %tmp61) ]
99            to label %bb63 unwind label %bb67
100
101  bb63:                                             ; preds = %bb56
102    %tmp64 = call token (i64, i32, void (i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidi32f(i64 2882400000, i32 0, void (i32)* nonnull elementtype(void (i32)) @ham, i32 1, i32 2, i32 10, i32 0, i32 0) [ "deopt"(i32 0, i32 9, i32 0, i32 215, i32 8, i32 19, i32 0, i32 0, i8 addrspace(1)* null, i32 7, i32 undef, i32 7, i32 undef, i32 7, double undef, i32 7, i8* null, i32 0, i8 addrspace(1)* null, i32 4, double undef, i32 7, i8* null, i32 0, i8 addrspace(1)* null, i32 3, i32 %tmp1, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 2, i32 3, i32 undef, i32 3, i32 %tmp4, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 0, i8 addrspace(1)* undef, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"() ]
103    unreachable
104
105  bb65:                                             ; preds = %bb23
106    %tmp66 = landingpad token
107            cleanup
108    unreachable
109
110  bb67:                                             ; preds = %bb56
111    %tmp68 = landingpad token
112            cleanup
113    %tmp69 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp68, i32 0, i32 0) ; (%tmp57, %tmp57)
114    %tmp70 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp68, i32 1, i32 1) ; (%tmp58, %tmp58)
115    %tmp71 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp68, i32 4, i32 4) ; (%tmp59, %tmp59)
116    %tmp72 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp68, i32 6, i32 6) ; (%tmp60, %tmp60)
117    switch i32 undef, label %bb99 [
118      i32 66, label %bb35
119      i32 57, label %bb31
120    ]
121
122  bb75:                                             ; preds = %bb12
123    %tmp76 = landingpad token
124            cleanup
125    unreachable
126
127  bb77:                                             ; preds = %bb31
128    %tmp78 = landingpad token
129            cleanup
130    br label %bb95
131
132  bb79:                                             ; preds = %bb35
133    %tmp80 = landingpad token
134            cleanup
135    %tmp81 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp80, i32 5, i32 5) ; (%tmp71, %tmp71)
136    %tmp84 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(256)* inttoptr (i64 8 to i8 addrspace(1)* addrspace(256)*), align 8
137    br label %bb99
138
139  bb85:                                             ; preds = %bb37
140    %tmp86 = landingpad token
141            cleanup
142    %tmp87 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp86, i32 6, i32 6) ; (%tmp39, %tmp39)
143    br label %bb99
144
145  bb90:                                             ; preds = %bb52
146    %tmp91 = landingpad token
147            cleanup
148    %tmp92 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp91, i32 7, i32 7) ; (%tmp42, %tmp42)
149    br label %bb95
150
151  bb93:                                             ; preds = %bb
152    %tmp94 = call token (i64, i32, void (i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidi32f(i64 2882400000, i32 0, void (i32)* nonnull elementtype(void (i32)) @ham, i32 1, i32 2, i32 14, i32 0, i32 0) [ "deopt"(i32 0, i32 1, i32 0, i32 94, i32 4, i32 19, i32 0, i32 3, float undef, i32 0, i8 addrspace(1)* %tmp6, i32 0, i8 addrspace(1)* %tmp7, i32 3, i32 -170, i32 0, i8 addrspace(1)* %tmp, i32 3, i32 %tmp1, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 %tmp4, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp5, i32 3, float undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp6, i32 0, i8 addrspace(1)* %tmp7, i32 0, i8 addrspace(1)* %tmp8, i32 0, i8 addrspace(1)* %tmp9, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null), "gc-live"() ]
153    unreachable
154
155  bb95:                                             ; preds = %bb114, %bb90, %bb77
156    %tmp96 = phi i8 addrspace(1)* [ undef, %bb114 ], [ undef, %bb77 ], [ %tmp92, %bb90 ]
157    %tmp97 = getelementptr inbounds i8, i8 addrspace(1)* %tmp96, i64 928
158    %tmp98 = bitcast i8 addrspace(1)* %tmp97 to i64 addrspace(1)*
159    store atomic i64 undef, i64 addrspace(1)* %tmp98 unordered, align 8
160    ret float undef
161
162  bb99:                                             ; preds = %bb85, %bb79, %bb67
163    %tmp101 = phi i8 addrspace(1)* [ %tmp87, %bb85 ], [ undef, %bb79 ], [ %tmp72, %bb67 ]
164    %tmp102 = phi i8 addrspace(1)* [ undef, %bb85 ], [ %tmp81, %bb79 ], [ %tmp71, %bb67 ]
165    %tmp103 = phi i8 addrspace(1)* [ undef, %bb85 ], [ undef, %bb79 ], [ %tmp69, %bb67 ]
166    %tmp104 = phi i8 addrspace(1)* [ undef, %bb85 ], [ %tmp84, %bb79 ], [ undef, %bb67 ]
167    %sunkaddr = getelementptr inbounds i8, i8 addrspace(1)* %tmp101, i64 904
168    %1 = bitcast i8 addrspace(1)* %sunkaddr to i8 addrspace(1)* addrspace(1)*
169    %tmp105 = load atomic i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)* %1 unordered, align 8
170    %tmp106 = icmp eq i8 addrspace(1)* %tmp105, null
171    %tmp107 = xor i64 0, -1
172    %tmp108 = inttoptr i64 %tmp107 to i8 addrspace(1)*
173    %tmp109 = select i1 %tmp106, i8 addrspace(1)* null, i8 addrspace(1)* %tmp108
174    %tmp110 = invoke token (i64, i32, i32 (i32, i8 addrspace(1)*, i32, i32, i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i32i32p1i8i32i32i32f(i64 1, i32 16, i32 (i32, i8 addrspace(1)*, i32, i32, i32)* nonnull elementtype(i32 (i32, i8 addrspace(1)*, i32, i32, i32)) @hoge.1, i32 5, i32 0, i32 undef, i8 addrspace(1)* %tmp102, i32 undef, i32 undef, i32 undef, i32 0, i32 0) [ "deopt"(i32 0, i32 0, i32 0, i32 572, i32 2, i32 19, i32 0, i32 0, i8 addrspace(1)* %tmp109, i32 3, i32 undef, i32 7, i8* null, i32 3, i32 undef, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* %tmp103, i32 3, float undef, i32 3, i32 undef, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 0, i8 addrspace(1)* %tmp104, i32 7, i8* null), "gc-live"(i8 addrspace(1)* %tmp109, i8 addrspace(1)* %tmp103, i8 addrspace(1)* %tmp104, i8 addrspace(1)* undef, i8 addrspace(1)* %tmp101) ]
175            to label %bb111 unwind label %bb114
176
177  bb111:                                            ; preds = %bb99
178    %tmp112 = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tmp110, i32 4, i32 4) ; (%tmp101, %tmp101)
179    %tmp113 = call token (i64, i32, void (i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidi32f(i64 2882400000, i32 0, void (i32)* nonnull elementtype(void (i32)) @ham, i32 1, i32 2, i32 10, i32 0, i32 0) [ "deopt"(i32 0, i32 1, i32 0, i32 581, i32 4, i32 19, i32 0, i32 0, i8 addrspace(1)* null, i32 3, i32 undef, i32 4, i64 undef, i32 7, i8* null, i32 7, i8* null, i32 3, i32 undef, i32 3, i32 %tmp2, i32 3, i32 %tmp3, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 3, i32 undef, i32 0, i8 addrspace(1)* undef, i32 3, float undef, i32 3, i32 undef, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 7, i8* null, i32 0, i8 addrspace(1)* undef, i32 7, i8* null), "gc-live"() ]
180    unreachable
181
182  bb114:                                            ; preds = %bb99
183    %tmp115 = landingpad token
184            cleanup
185    br label %bb95
186  }
187
188  declare i32* @widget()
189
190  declare float @quux(i32, i8 addrspace(1)*, i64, i32)
191
192  declare i32 @hoge.1(i32, i8 addrspace(1)*, i32, i32, i32)
193
194  declare void @barney()
195
196  declare void @ham(i32)
197
198  declare token @llvm.experimental.gc.statepoint.p0f_isVoidi32f(i64 immarg, i32 immarg, void (i32)*, i32 immarg, i32 immarg, ...)
199
200  ; Function Attrs: nounwind readnone
201  declare i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token, i32 immarg, i32 immarg) #0
202
203  declare token @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 immarg, i32 immarg, void ()*, i32 immarg, i32 immarg, ...)
204
205  declare token @llvm.experimental.gc.statepoint.p0f_f32i32p1i8i64i32f(i64 immarg, i32 immarg, float (i32, i8 addrspace(1)*, i64, i32)*, i32 immarg, i32 immarg, ...)
206
207  declare token @llvm.experimental.gc.statepoint.p0f_i32i32p1i8i32i32i32f(i64 immarg, i32 immarg, i32 (i32, i8 addrspace(1)*, i32, i32, i32)*, i32 immarg, i32 immarg, ...)
208
209  declare i8 addrspace(1)* @wombat(i8 addrspace(1)*, i8 addrspace(1)* addrspace(1)*)
210
211  attributes #0 = { nounwind readnone }
212
213...
214---
215name:            hoge
216alignment:       16
217exposesReturnsTwice: false
218legalized:       false
219regBankSelected: false
220selected:        false
221failedISel:      false
222tracksRegLiveness: true
223hasWinCFI:       false
224registers:
225  - { id: 0, class: gr64, preferred-register: '' }
226  - { id: 1, class: gr32, preferred-register: '' }
227  - { id: 2, class: gr32, preferred-register: '' }
228  - { id: 3, class: gr32, preferred-register: '' }
229  - { id: 4, class: gr32, preferred-register: '' }
230  - { id: 5, class: gr64, preferred-register: '' }
231  - { id: 6, class: gr64, preferred-register: '' }
232  - { id: 7, class: gr64, preferred-register: '' }
233  - { id: 8, class: gr64, preferred-register: '' }
234  - { id: 9, class: gr64, preferred-register: '' }
235  - { id: 10, class: gr64, preferred-register: '' }
236  - { id: 11, class: gr64, preferred-register: '' }
237  - { id: 12, class: gr64, preferred-register: '' }
238  - { id: 13, class: gr64, preferred-register: '' }
239  - { id: 14, class: gr64, preferred-register: '' }
240  - { id: 15, class: gr64, preferred-register: '' }
241  - { id: 16, class: gr64, preferred-register: '' }
242  - { id: 17, class: gr64, preferred-register: '' }
243  - { id: 18, class: gr64, preferred-register: '' }
244  - { id: 19, class: gr64, preferred-register: '' }
245  - { id: 20, class: gr64, preferred-register: '' }
246  - { id: 21, class: gr64, preferred-register: '' }
247  - { id: 22, class: gr64, preferred-register: '' }
248  - { id: 23, class: gr64, preferred-register: '' }
249  - { id: 24, class: gr64, preferred-register: '' }
250  - { id: 25, class: gr64, preferred-register: '' }
251  - { id: 26, class: gr64, preferred-register: '' }
252  - { id: 27, class: gr64, preferred-register: '' }
253  - { id: 28, class: gr64, preferred-register: '' }
254  - { id: 29, class: gr64, preferred-register: '' }
255  - { id: 30, class: gr64, preferred-register: '' }
256  - { id: 31, class: gr32, preferred-register: '' }
257  - { id: 32, class: gr8, preferred-register: '' }
258  - { id: 33, class: gr32, preferred-register: '' }
259  - { id: 34, class: gr64, preferred-register: '' }
260  - { id: 35, class: gr64, preferred-register: '' }
261  - { id: 36, class: gr64, preferred-register: '' }
262  - { id: 37, class: gr64, preferred-register: '' }
263  - { id: 38, class: gr64, preferred-register: '' }
264  - { id: 39, class: gr64, preferred-register: '' }
265  - { id: 40, class: gr64, preferred-register: '' }
266  - { id: 41, class: gr64, preferred-register: '' }
267  - { id: 42, class: gr64, preferred-register: '' }
268  - { id: 43, class: gr64, preferred-register: '' }
269  - { id: 44, class: gr64, preferred-register: '' }
270  - { id: 45, class: gr64, preferred-register: '' }
271  - { id: 46, class: gr64, preferred-register: '' }
272  - { id: 47, class: gr64, preferred-register: '' }
273  - { id: 48, class: gr64, preferred-register: '' }
274  - { id: 49, class: gr64, preferred-register: '' }
275  - { id: 50, class: gr64, preferred-register: '' }
276  - { id: 51, class: gr64, preferred-register: '' }
277  - { id: 52, class: gr32, preferred-register: '' }
278  - { id: 53, class: gr64, preferred-register: '' }
279  - { id: 54, class: gr32, preferred-register: '' }
280  - { id: 55, class: gr64, preferred-register: '' }
281  - { id: 56, class: gr64, preferred-register: '' }
282  - { id: 57, class: gr64, preferred-register: '' }
283  - { id: 58, class: gr32, preferred-register: '' }
284  - { id: 59, class: gr64, preferred-register: '' }
285  - { id: 60, class: fr32, preferred-register: '' }
286  - { id: 61, class: gr64, preferred-register: '' }
287  - { id: 62, class: gr64, preferred-register: '' }
288  - { id: 63, class: gr64, preferred-register: '' }
289  - { id: 64, class: gr64, preferred-register: '' }
290  - { id: 65, class: gr64, preferred-register: '' }
291  - { id: 66, class: gr64, preferred-register: '' }
292  - { id: 67, class: gr64, preferred-register: '' }
293  - { id: 68, class: gr32, preferred-register: '' }
294  - { id: 69, class: gr32, preferred-register: '' }
295  - { id: 70, class: gr64, preferred-register: '' }
296  - { id: 71, class: gr64, preferred-register: '' }
297  - { id: 72, class: gr32, preferred-register: '' }
298  - { id: 73, class: gr64, preferred-register: '' }
299  - { id: 74, class: gr64, preferred-register: '' }
300  - { id: 75, class: gr64, preferred-register: '' }
301  - { id: 76, class: gr64, preferred-register: '' }
302  - { id: 77, class: gr64, preferred-register: '' }
303  - { id: 78, class: gr64, preferred-register: '' }
304  - { id: 79, class: gr32, preferred-register: '' }
305  - { id: 80, class: gr32, preferred-register: '' }
306  - { id: 81, class: gr64, preferred-register: '' }
307  - { id: 82, class: gr32, preferred-register: '' }
308  - { id: 83, class: gr64, preferred-register: '' }
309  - { id: 84, class: gr64, preferred-register: '' }
310  - { id: 85, class: gr64, preferred-register: '' }
311  - { id: 86, class: gr32, preferred-register: '' }
312  - { id: 87, class: gr8, preferred-register: '' }
313  - { id: 88, class: gr32, preferred-register: '' }
314  - { id: 89, class: gr8, preferred-register: '' }
315  - { id: 90, class: gr32, preferred-register: '' }
316  - { id: 91, class: gr32, preferred-register: '' }
317  - { id: 92, class: gr32, preferred-register: '' }
318  - { id: 93, class: gr64, preferred-register: '' }
319  - { id: 94, class: gr64, preferred-register: '' }
320  - { id: 95, class: gr64, preferred-register: '' }
321  - { id: 96, class: gr64, preferred-register: '' }
322  - { id: 97, class: gr32, preferred-register: '' }
323  - { id: 98, class: gr64, preferred-register: '' }
324  - { id: 99, class: gr64, preferred-register: '' }
325  - { id: 100, class: gr64, preferred-register: '' }
326  - { id: 101, class: gr32, preferred-register: '' }
327  - { id: 102, class: gr64, preferred-register: '' }
328  - { id: 103, class: gr64, preferred-register: '' }
329  - { id: 104, class: gr64, preferred-register: '' }
330  - { id: 105, class: gr32, preferred-register: '' }
331  - { id: 106, class: gr32, preferred-register: '' }
332  - { id: 107, class: gr32, preferred-register: '' }
333  - { id: 108, class: gr64, preferred-register: '' }
334  - { id: 109, class: gr64, preferred-register: '' }
335  - { id: 110, class: gr32, preferred-register: '' }
336  - { id: 111, class: gr64, preferred-register: '' }
337  - { id: 112, class: gr64, preferred-register: '' }
338  - { id: 113, class: gr64, preferred-register: '' }
339  - { id: 114, class: gr64, preferred-register: '' }
340  - { id: 115, class: gr32, preferred-register: '' }
341  - { id: 116, class: gr32, preferred-register: '' }
342  - { id: 117, class: gr64, preferred-register: '' }
343  - { id: 118, class: gr32, preferred-register: '' }
344  - { id: 119, class: gr32, preferred-register: '' }
345  - { id: 120, class: gr64, preferred-register: '' }
346  - { id: 121, class: gr64, preferred-register: '' }
347  - { id: 122, class: gr32, preferred-register: '' }
348  - { id: 123, class: gr64, preferred-register: '' }
349  - { id: 124, class: gr64, preferred-register: '' }
350  - { id: 125, class: gr64, preferred-register: '' }
351  - { id: 126, class: gr64, preferred-register: '' }
352  - { id: 127, class: gr64, preferred-register: '' }
353  - { id: 128, class: gr32, preferred-register: '' }
354  - { id: 129, class: gr8, preferred-register: '' }
355  - { id: 130, class: gr64, preferred-register: '' }
356  - { id: 131, class: gr64, preferred-register: '' }
357  - { id: 132, class: gr32, preferred-register: '' }
358  - { id: 133, class: gr64, preferred-register: '' }
359  - { id: 134, class: gr32, preferred-register: '' }
360  - { id: 135, class: gr32, preferred-register: '' }
361  - { id: 136, class: gr32, preferred-register: '' }
362  - { id: 137, class: gr64, preferred-register: '' }
363  - { id: 138, class: gr32, preferred-register: '' }
364  - { id: 139, class: gr64, preferred-register: '' }
365  - { id: 140, class: gr64, preferred-register: '' }
366  - { id: 141, class: gr32, preferred-register: '' }
367  - { id: 142, class: gr64, preferred-register: '' }
368  - { id: 143, class: gr64, preferred-register: '' }
369  - { id: 144, class: gr64, preferred-register: '' }
370  - { id: 145, class: gr64, preferred-register: '' }
371  - { id: 146, class: gr32, preferred-register: '' }
372  - { id: 147, class: gr32, preferred-register: '' }
373  - { id: 148, class: gr32, preferred-register: '' }
374  - { id: 149, class: gr32, preferred-register: '' }
375  - { id: 150, class: gr64, preferred-register: '' }
376  - { id: 151, class: gr64, preferred-register: '' }
377  - { id: 152, class: gr64, preferred-register: '' }
378  - { id: 153, class: gr64, preferred-register: '' }
379  - { id: 154, class: gr32, preferred-register: '' }
380  - { id: 155, class: gr64, preferred-register: '' }
381  - { id: 156, class: gr64, preferred-register: '' }
382  - { id: 157, class: gr64, preferred-register: '' }
383  - { id: 158, class: gr64, preferred-register: '' }
384  - { id: 159, class: fr32, preferred-register: '' }
385  - { id: 160, class: gr32, preferred-register: '' }
386  - { id: 161, class: gr32, preferred-register: '' }
387  - { id: 162, class: gr64, preferred-register: '' }
388  - { id: 163, class: gr64, preferred-register: '' }
389  - { id: 164, class: gr64, preferred-register: '' }
390  - { id: 165, class: gr64, preferred-register: '' }
391  - { id: 166, class: gr64, preferred-register: '' }
392liveins:         []
393frameInfo:
394  isFrameAddressTaken: false
395  isReturnAddressTaken: false
396  hasStackMap:     false
397  hasPatchPoint:   false
398  stackSize:       0
399  offsetAdjustment: 0
400  maxAlignment:    1
401  adjustsStack:    true
402  hasCalls:        true
403  stackProtector:  ''
404  maxCallFrameSize: 4294967295
405  cvBytesOfCalleeSavedRegisters: 0
406  hasOpaqueSPAdjustment: false
407  hasVAStart:      false
408  hasMustTailInVarArgFunc: false
409  hasTailCall:     false
410  localFrameSize:  0
411  savePoint:       ''
412  restorePoint:    ''
413fixedStack:      []
414stack:           []
415callSites:       []
416debugValueSubstitutions: []
417constants:       []
418machineFunctionInfo: {}
419body:             |
420  bb.0.bb:
421    successors: %bb.1(0x80000000), %bb.21(0x00000000)
422
423    %0:gr64 = MOV64rm $noreg, 1, $noreg, 0, $noreg :: (load (s64) from `i8 addrspace(1)* addrspace(3)* null`, addrspace 3)
424    %2:gr32 = MOV32rm undef %29:gr64, 1, $noreg, 0, $noreg :: (load (s32) from `i32 addrspace(3)* undef`, addrspace 3)
425    %1:gr32 = COPY %2
426    %4:gr32 = MOV32rm $noreg, 1, $noreg, 0, $noreg :: (load (s32) from `i32 addrspace(3)* null`, addrspace 3)
427    %3:gr32 = COPY %4
428    %9:gr64 = MOV64rm undef %30:gr64, 1, $noreg, 0, $noreg :: (load (s64) from `i8 addrspace(1)* addrspace(3)* undef`, addrspace 3)
429    %5:gr64 = COPY %9
430    %31:gr32 = MOV32r0 implicit-def dead $eflags
431    %32:gr8 = COPY killed %31.sub_8bit
432    TEST8rr killed %32, %32, implicit-def $eflags
433    JCC_1 %bb.21, 5, implicit killed $eflags
434    JMP_1 %bb.1
435
436  bb.1.bb12:
437    successors: %bb.2(0x80000000), %bb.16(0x00000000)
438
439    %52:gr32 = MOV32rm undef %53:gr64, 1, $noreg, 0, $noreg :: (load unordered (s32) from `i32 addrspace(1)* undef`, addrspace 1)
440    %54:gr32 = COPY killed %52
441    %54:gr32 = AND32ri %54, 33554431, implicit-def dead $eflags
442    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
443    %55:gr64 = COPY killed %0
444    %43:gr64 = COPY killed %9
445    %42:gr64 = COPY %5
446    %44:gr64 = COPY %5
447    %45:gr64 = COPY %5
448    %56:gr64 = COPY killed %5
449    %40:gr64, %41:gr64, %42:gr64, %43:gr64, %44:gr64, %45:gr64, dead %55:gr64, dead %56:gr64 = STATEPOINT 2882400000, 0, 0, target-flags(x86-plt) @barney, 2, 0, 2, 0, 2, 45, 2, 0, 2, 1, 2, 0, 2, 83, 2, 0, 2, 19, 2, 0, 2, 0, %55, 2, 3, %1, 2, 3, %2, 2, 3, %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, %4, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %56, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %56, 2, 0, %56, 2, 0, %56, 2, 0, %43, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 8, undef %40(tied-def 0), undef %41(tied-def 1), %42(tied-def 2), %43(tied-def 3), %44(tied-def 4), %45(tied-def 5), %55(tied-def 6), %56(tied-def 7), 2, 0, 2, 8, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, csr_64, implicit-def $rsp, implicit-def $ssp
450    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
451    EH_LABEL <mcsymbol .Ltmp0>
452    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
453    %57:gr64 = MOV64ri32 -170
454    $edi = COPY killed %54
455    $rsi = COPY %45
456    $rdx = COPY killed %57
457    %51:gr64 = COPY killed %45
458    %46:gr64 = COPY killed %40
459    %48:gr64 = COPY killed %42
460    %50:gr64 = COPY killed %44
461    %47:gr64 = COPY killed %41
462    %49:gr64 = COPY killed %43
463    %46:gr64, %47:gr64, %48:gr64, %49:gr64, %50:gr64, %51:gr64 = STATEPOINT 1, 16, 4, undef %59:gr64, killed $edi, killed $rsi, killed $rdx, undef $ecx, 2, 0, 2, 0, 2, 47, 2, 0, 2, 0, 2, 0, 2, 103, 2, 1, 2, 19, 2, 0, 2, 3, 2, 4278124286, 2, 0, 2, 0, 2, 3, %1, 2, 3, %2, 2, 3, %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, %4, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %48, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %51, 2, 0, %50, 2, 0, 2, 4278124286, 2, 0, %49, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 8, %46(tied-def 0), %47(tied-def 1), %48(tied-def 2), %49(tied-def 3), %50(tied-def 4), %51(tied-def 5), 2, 0, 2, 4278124286, 2, 0, 2, 8, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $xmm0
464    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
465    EH_LABEL <mcsymbol .Ltmp1>
466    JMP_1 %bb.2
467
468  bb.2.bb23:
469    successors: %bb.11(0x80000000), %bb.13(0x00000000)
470
471    EH_LABEL <mcsymbol .Ltmp2>
472    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
473    $rsi = COPY %49
474    $ecx = COPY %4
475    $r8d = COPY %4
476    %64:gr64 = COPY killed %47
477    %65:gr64 = COPY killed %49
478    %66:gr64 = COPY killed %51
479    %63:gr64 = COPY killed %46
480    %67:gr64 = COPY killed %48
481    %70:gr64 = COPY killed %50
482    dead %63:gr64, %64:gr64, %65:gr64, %66:gr64, %67:gr64, dead %70:gr64 = STATEPOINT 1, 16, 5, undef %71:gr64, undef $edi, killed $rsi, undef $edx, killed $ecx, killed $r8d, 2, 0, 2, 0, 2, 53, 2, 0, 2, 8, 2, 0, 2, 153, 2, 4, 2, 19, 2, 0, 2, 4, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 0, 2, 3, %1, 2, 3, %2, 2, 3, %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, %4, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %67, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %66, 2, 0, %70, 2, 0, 2, 4278124286, 2, 0, %65, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 8, %63(tied-def 0), %64(tied-def 1), %65(tied-def 2), %66(tied-def 3), %67(tied-def 4), 2, 4278124286, 2, 0, %70(tied-def 5), 2, 0, 2, 8, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $eax
483    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
484    EH_LABEL <mcsymbol .Ltmp3>
485    JMP_1 %bb.11
486
487  bb.3.bb31:
488    successors: %bb.4(0x00000000), %bb.17(0x80000000)
489
490    EH_LABEL <mcsymbol .Ltmp4>
491    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
492    $rsi = COPY %76
493    $edx = COPY %4
494    %93:gr64 = COPY killed %78
495    %94:gr64 = COPY killed %77
496    %95:gr64 = COPY killed %76
497    dead %93:gr64, dead %94:gr64, dead %95:gr64 = STATEPOINT 1, 16, 5, undef %96:gr64, undef $edi, killed $rsi, killed $edx, undef $ecx, undef $r8d, 2, 0, 2, 0, 2, 49, 2, 0, 2, 0, 2, 0, 2, 537, 2, 2, 2, 19, 2, 0, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 0, 2, 3, 2, 4278124286, 2, 3, killed %2, 2, 3, %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, %4, 2, 3, 2, 1, 2, 3, 2, 4278124286, 2, 0, %93, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %94, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, %95, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 5, 2, 4278124286, 2, 0, %93(tied-def 0), %94(tied-def 1), %95(tied-def 2), 2, 0, 2, 5, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $eax
498    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
499    EH_LABEL <mcsymbol .Ltmp5>
500    JMP_1 %bb.4
501
502  bb.4.bb33:
503    successors:
504
505    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
506    %101:gr32 = MOV32ri 15
507    $edi = COPY killed %101
508    STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, killed $edi, 2, 0, 2, 0, 2, 51, 2, 0, 2, 2, 2, 0, 2, 591, 2, 0, 2, 19, 2, 0, 2, 7, 2, 0, 2, 3, 2, 4278124286, 2, 3, 2, 63, 2, 3, killed %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, killed %4, 2, 3, 2, 1, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 1, 2, 1, 2, 16, 2, 0, 2, 0, 2, 0, 2, 1, 2, 4278124286, 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp
509    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
510
511  bb.5.bb35:
512    successors: %bb.6(0x40000000), %bb.18(0x40000000)
513
514    EH_LABEL <mcsymbol .Ltmp6>
515    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
516    $rsi = COPY %76
517    $edx = COPY killed %4
518    %103:gr64 = COPY killed %78
519    %102:gr64 = COPY killed %75
520    %108:gr64 = COPY killed %77
521    %104:gr64 = COPY killed %76
522    %102:gr64, %103:gr64, %104:gr64, dead %108:gr64 = STATEPOINT 1, 16, 5, undef %109:gr64, undef $edi, killed $rsi, killed $edx, undef $ecx, undef $r8d, 2, 0, 2, 0, 2, 49, 2, 0, 2, 8, 2, 0, 2, 300, 2, 2, 2, 19, 2, 0, 2, 0, %104, 2, 3, 2, 4278124286, 2, 0, 2, 0, 2, 3, %1, 2, 3, %2, 2, 3, %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %103, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %108, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, %104, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 6, %102(tied-def 0), %103(tied-def 1), %104(tied-def 2), 2, 0, %108(tied-def 3), 2, 4278124286, 2, 0, 2, 6, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $eax
523    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
524    EH_LABEL <mcsymbol .Ltmp7>
525    JMP_1 %bb.6
526
527  bb.6.bb37:
528    successors: %bb.7(0x40000000), %bb.19(0x40000000)
529
530    EH_LABEL <mcsymbol .Ltmp8>
531    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
532    %115:gr32 = MOV32ri -7122
533    $r8d = COPY killed %115
534    %120:gr64 = COPY killed %103
535    %114:gr64 = COPY killed %102
536    %114:gr64, dead %120:gr64 = STATEPOINT 1, 16, 5, undef %121:gr64, undef $edi, undef $rsi, undef $edx, undef $ecx, killed $r8d, 2, 0, 2, 0, 2, 45, 2, 0, 2, 8, 2, 0, 2, 308, 2, 0, 2, 19, 2, 0, 2, 0, 2, 0, 2, 3, killed %1, 2, 3, %2, 2, 3, %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %120, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 4, %114(tied-def 0), 2, 0, %120(tied-def 1), 2, 4278124286, 2, 0, 2, 4, 0, 0, 1, 1, 2, 2, 3, 3, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $eax
537    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
538    EH_LABEL <mcsymbol .Ltmp9>
539    JMP_1 %bb.7
540
541  bb.7.bb41:
542    successors: %bb.9(0x40000000), %bb.8(0x40000000)
543
544    %12:gr64 = COPY %114
545    %126:gr64 = MOV64rm %114, 1, $noreg, 904, $noreg :: (load unordered (s64) from %ir.tmp44, addrspace 1)
546    %127:gr64 = COPY killed %126
547    dead %127:gr64 = NEG64r %127, implicit-def $eflags
548    %14:gr64 = SETB_C64r implicit-def dead $eflags, implicit killed $eflags
549    %128:gr32 = MOV32r0 implicit-def dead $eflags
550    %129:gr8 = COPY killed %128.sub_8bit
551    TEST8rr killed %129, %129, implicit-def $eflags
552    JCC_1 %bb.9, 5, implicit killed $eflags
553    JMP_1 %bb.8
554
555  bb.8.bb50:
556    successors: %bb.9(0x80000000)
557
558    %13:gr64 = COPY killed %114
559    %13:gr64 = nuw ADD64ri32 %13, 904, implicit-def dead $eflags
560    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
561    $rdi = COPY killed %14
562    $rsi = COPY killed %13
563    CALL64pcrel32 target-flags(x86-plt) @wombat, csr_64, implicit $rsp, implicit $ssp, implicit killed $rdi, implicit killed $rsi, implicit-def $rsp, implicit-def $ssp, implicit-def dead $rax
564    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
565
566  bb.9.bb52:
567    successors: %bb.10(0x00000000), %bb.20(0x80000000)
568
569    EH_LABEL <mcsymbol .Ltmp10>
570    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
571    %131:gr64 = COPY killed %12
572    %131:gr64 = STATEPOINT 1, 16, 5, undef %137:gr64, undef $edi, undef $rsi, undef $edx, undef $ecx, undef $r8d, 2, 0, 2, 0, 2, 49, 2, 0, 2, 0, 2, 0, 2, 335, 2, 2, 2, 19, 2, 0, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, %2, 2, 3, %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 2, %131(tied-def 0), 2, 4278124286, 2, 0, 2, 2, 0, 0, 1, 1, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $eax
573    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
574    EH_LABEL <mcsymbol .Ltmp11>
575    JMP_1 %bb.10
576
577  bb.10.bb54:
578    successors:
579
580    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
581    %141:gr32 = MOV32ri 10
582    $edi = COPY killed %141
583    STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, killed $edi, 2, 0, 2, 2, 2, 53, 2, 0, 2, 1, 2, 0, 2, 344, 2, 4, 2, 19, 2, 0, 2, 0, 2, 0, 2, 3, 2, 4278124286, 2, 4, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, killed %2, 2, 3, killed %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 2, 2, 0, 2, 4278124286, 2, 0, 2, 2, 0, 0, 1, 1, csr_64, implicit-def $rsp, implicit-def $ssp
584    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
585
586  bb.11.bb56:
587    successors: %bb.12(0x00000000), %bb.14(0x80000000)
588
589    EH_LABEL <mcsymbol .Ltmp12>
590    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
591    %79:gr32 = MOV32ri 7
592    $rsi = COPY %65
593    $edx = COPY %1
594    $ecx = COPY killed %79
595    $r8d = COPY %3
596    %75:gr64 = COPY killed %64
597    %77:gr64 = COPY killed %66
598    %76:gr64 = COPY killed %65
599    %78:gr64 = COPY killed %67
600    %75:gr64, %76:gr64, %77:gr64, %78:gr64 = STATEPOINT 1, 16, 5, undef %81:gr64, undef $edi, killed $rsi, killed $edx, killed $ecx, killed $r8d, 2, 0, 2, 0, 2, 53, 2, 0, 2, 8, 2, 0, 2, 208, 2, 4, 2, 19, 2, 0, 2, 0, %78, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 0, 2, 0, 2, 0, 2, 3, %1, 2, 3, %2, 2, 3, %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, %4, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %78, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %77, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, %76, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 6, %75(tied-def 0), %76(tied-def 1), %77(tied-def 2), %78(tied-def 3), 2, 0, 2, 4278124286, 2, 0, 2, 6, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $eax
601    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
602    EH_LABEL <mcsymbol .Ltmp13>
603    JMP_1 %bb.12
604
605  bb.12.bb63:
606    successors:
607
608    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
609    %161:gr32 = MOV32ri 10
610    $edi = COPY killed %161
611    STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, killed $edi, 2, 0, 2, 2, 2, 61, 2, 0, 2, 9, 2, 0, 2, 215, 2, 8, 2, 19, 2, 0, 2, 0, 2, 0, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 0, 2, 4, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 0, 2, 3, killed %1, 2, 3, killed %2, 2, 3, killed %3, 2, 3, 2, 2, 2, 3, 2, 4278124286, 2, 3, killed %4, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 2, 2, 0, 2, 4278124286, 2, 0, 2, 2, 0, 0, 1, 1, csr_64, implicit-def $rsp, implicit-def $ssp
612    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
613
614  bb.13.bb65 (landing-pad):
615    successors:
616    liveins: $rax, $rdx
617
618    EH_LABEL <mcsymbol .Ltmp14>
619
620  bb.14.bb67 (landing-pad):
621    successors: %bb.3(0x2aaaaaab), %bb.15(0x55555555)
622    liveins: $rax, $rdx
623
624    EH_LABEL <mcsymbol .Ltmp15>
625    %86:gr32 = MOV32r0 implicit-def dead $eflags
626    %87:gr8 = COPY killed %86.sub_8bit
627    TEST8rr killed %87, %87, implicit-def $eflags
628    JCC_1 %bb.3, 5, implicit killed $eflags
629    JMP_1 %bb.15
630
631  bb.15.bb67:
632    successors: %bb.5(0x40000001), %bb.26(0x3fffffff)
633
634    %88:gr32 = MOV32r0 implicit-def dead $eflags
635    %89:gr8 = COPY killed %88.sub_8bit
636    TEST8rr killed %89, %89, implicit-def $eflags
637    JCC_1 %bb.5, 5, implicit killed $eflags
638
639  bb.26:
640    successors: %bb.23(0x80000000)
641
642    %163:gr64 = COPY killed %75
643    %164:gr64 = COPY killed %76
644    %165:gr64 = COPY killed %78
645    %166:gr64 = IMPLICIT_DEF
646    JMP_1 %bb.23
647
648  bb.16.bb75 (landing-pad):
649    successors:
650    liveins: $rax, $rdx
651
652    EH_LABEL <mcsymbol .Ltmp16>
653
654  bb.17.bb77 (landing-pad):
655    successors: %bb.22(0x80000000)
656    liveins: $rax, $rdx
657
658    EH_LABEL <mcsymbol .Ltmp17>
659    %162:gr64 = IMPLICIT_DEF
660    JMP_1 %bb.22
661
662  bb.18.bb79 (landing-pad):
663    successors: %bb.23(0x80000000)
664    liveins: $rax, $rdx
665
666    EH_LABEL <mcsymbol .Ltmp18>
667    %19:gr64 = COPY killed %104
668    %20:gr64 = MOV64rm $noreg, 1, $noreg, 8, $gs :: (load (s64) from `i8 addrspace(1)* addrspace(256)* inttoptr (i64 8 to i8 addrspace(1)* addrspace(256)*)`, addrspace 256)
669    %163:gr64 = IMPLICIT_DEF
670    %164:gr64 = COPY killed %19
671    %165:gr64 = IMPLICIT_DEF
672    %166:gr64 = COPY killed %20
673    JMP_1 %bb.23
674
675  bb.19.bb85 (landing-pad):
676    successors: %bb.23(0x80000000)
677    liveins: $rax, $rdx
678
679    EH_LABEL <mcsymbol .Ltmp19>
680    %21:gr64 = COPY killed %114
681    %163:gr64 = COPY killed %21
682    %164:gr64 = IMPLICIT_DEF
683    %165:gr64 = IMPLICIT_DEF
684    %166:gr64 = IMPLICIT_DEF
685    JMP_1 %bb.23
686
687  bb.20.bb90 (landing-pad):
688    successors: %bb.22(0x80000000)
689    liveins: $rax, $rdx
690
691    EH_LABEL <mcsymbol .Ltmp20>
692    %22:gr64 = COPY killed %131
693    %162:gr64 = COPY killed %22
694    JMP_1 %bb.22
695
696  bb.21.bb93:
697    successors:
698
699    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
700    %33:gr32 = MOV32ri 14
701    $edi = COPY killed %33
702    %36:gr64 = COPY killed %0
703    %39:gr64 = COPY killed %9
704    %34:gr64 = COPY %5
705    %35:gr64 = COPY %5
706    %37:gr64 = COPY %5
707    %38:gr64 = COPY killed %5
708    dead %34:gr64, dead %35:gr64, dead %36:gr64, dead %37:gr64, dead %38:gr64, dead %39:gr64 = STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, killed $edi, 2, 0, 2, 2, 2, 53, 2, 0, 2, 1, 2, 0, 2, 94, 2, 4, 2, 19, 2, 0, 2, 3, 2, 4278124286, 2, 0, %38, 2, 0, %38, 2, 3, 2, -170, 2, 0, %36, 2, 3, killed %1, 2, 3, killed %2, 2, 3, killed %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, killed %4, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %38, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %38, 2, 0, %38, 2, 0, %38, 2, 0, %39, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 6, %34(tied-def 0), %35(tied-def 1), %36(tied-def 2), %37(tied-def 3), %38(tied-def 4), %39(tied-def 5), 2, 0, 2, 6, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, csr_64, implicit-def $rsp, implicit-def $ssp
709    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
710
711  bb.22.bb95:
712    %23:gr64 = COPY killed %162
713    MOV64mr killed %23, 1, $noreg, 928, $noreg, undef %158:gr64 :: (store unordered (s64) into %ir.tmp98, addrspace 1)
714    RET 0, undef $xmm0
715
716  bb.23.bb99:
717    successors: %bb.24(0x00000000), %bb.25(0x80000000)
718
719    %27:gr64 = COPY killed %166
720    %26:gr64 = COPY killed %165
721    %25:gr64 = COPY killed %164
722    %24:gr64 = COPY killed %163
723    %143:gr64 = MOV64rm %24, 1, $noreg, 904, $noreg :: (load unordered (s64) from %ir.1, addrspace 1)
724    %144:gr64 = COPY killed %143
725    dead %144:gr64 = NEG64r %144, implicit-def $eflags
726    %145:gr64 = SETB_C64r implicit-def dead $eflags, implicit killed $eflags
727    EH_LABEL <mcsymbol .Ltmp21>
728    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
729    $rsi = COPY killed %25
730    %151:gr64 = COPY killed %26
731    %152:gr64 = COPY killed %27
732    %150:gr64 = COPY killed %145
733    %142:gr64 = COPY killed %24
734    dead %142:gr64, dead %150:gr64, dead %151:gr64, dead %152:gr64 = STATEPOINT 1, 16, 5, undef %153:gr64, undef $edi, killed $rsi, undef $edx, undef $ecx, undef $r8d, 2, 0, 2, 0, 2, 49, 2, 0, 2, 0, 2, 0, 2, 572, 2, 2, 2, 19, 2, 0, 2, 0, %150, 2, 3, 2, 4278124286, 2, 7, 2, 0, 2, 3, 2, 4278124286, 2, 3, %2, 2, 3, %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, %151, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, %152, 2, 7, 2, 0, 2, 4, %142(tied-def 0), %150(tied-def 1), %151(tied-def 2), %152(tied-def 3), 2, 0, 2, 4, 0, 0, 1, 1, 2, 2, 3, 3, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $eax
735    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
736    EH_LABEL <mcsymbol .Ltmp22>
737    JMP_1 %bb.24
738
739  bb.24.bb111:
740    successors:
741
742    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
743    %160:gr32 = MOV32ri 10
744    $edi = COPY killed %160
745    STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, killed $edi, 2, 0, 2, 2, 2, 53, 2, 0, 2, 1, 2, 0, 2, 581, 2, 4, 2, 19, 2, 0, 2, 0, 2, 0, 2, 3, 2, 4278124286, 2, 4, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 3, 2, 4278124286, 2, 3, killed %2, 2, 3, killed %3, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 3, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 2, 2, 0, 2, 4278124286, 2, 0, 2, 2, 0, 0, 1, 1, csr_64, implicit-def $rsp, implicit-def $ssp
746    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
747
748  bb.25.bb114 (landing-pad):
749    successors: %bb.22(0x80000000)
750    liveins: $rax, $rdx
751
752    EH_LABEL <mcsymbol .Ltmp23>
753    %162:gr64 = IMPLICIT_DEF
754    JMP_1 %bb.22
755
756...
757