brintos

brintos / llvm-project-archived public Read only

0
0
Text · 43.6 KiB · 05c7ceb Raw
644 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# REQUIRES: asserts3# RUN: llc -x mir -run-pass=greedy -verify-machineinstrs < %s 2>&1  | FileCheck %s4 5# CHECK-NOT: Cannot move stop beyond start6--- |7  source_filename = "remove-back-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 void @hoge(ptr addrspace(1) %arg) gc "statepoint-example" personality ptr @widget {12  bb:13    %tmp = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 2, i32 5, ptr nonnull elementtype(void (ptr addrspace(1), ptr addrspace(1))) @quux, i32 2, i32 0, ptr addrspace(1) %arg, ptr addrspace(1) undef, i32 0, i32 0) [ "deopt"(i32 0, i32 10, i32 0, i32 6, i32 0, i32 4, i32 1, i32 0, ptr addrspace(1) %arg, i32 7, ptr null, i32 0, ptr addrspace(1) %arg, i32 7, ptr null, i32 0, ptr addrspace(1) %arg, i32 2, i32 1, i32 5, i32 0, i32 2, i32 0, i32 7, ptr null, i32 7, ptr null), "gc-live"(ptr addrspace(1) %arg) ]14    %tmp1 = load atomic ptr addrspace(1), ptr addrspace(1) undef unordered, align 815    %tmp2 = ptrtoint ptr addrspace(1) %tmp1 to i6416    %tmp3 = xor i64 %tmp2, -117    %tmp4 = inttoptr i64 %tmp3 to ptr addrspace(1)18    %tmp5 = select i1 false, ptr addrspace(1) null, ptr addrspace(1) %tmp419    br i1 undef, label %bb6, label %bb4020 21  bb6:                                              ; preds = %bb22    br label %bb723 24  bb7:                                              ; preds = %bb27, %bb625    %tmp9 = phi ptr addrspace(1) [ undef, %bb6 ], [ %tmp28, %bb27 ]26    %tmp10 = phi ptr addrspace(1) [ undef, %bb6 ], [ %tmp29, %bb27 ]27    %tmp11 = phi ptr addrspace(1) [ undef, %bb6 ], [ %tmp30, %bb27 ]28    %tmp12 = phi i32 [ 0, %bb6 ], [ %tmp16, %bb27 ]29    %tmp13 = load atomic i32, ptr addrspace(1) undef unordered, align 830    %tmp14 = sub i32 %tmp13, 031    %tmp15 = select i1 false, i32 %tmp14, i32 undef32    %tmp16 = add i32 %tmp15, %tmp1233    %tmp17 = icmp sgt i32 %tmp12, %tmp1634    %tmp18 = or i1 undef, %tmp1735    %tmp19 = or i1 undef, %tmp1836    br i1 %tmp19, label %bb41, label %bb2037 38  bb20:                                             ; preds = %bb739    br i1 undef, label %bb27, label %bb2340 41  bb23:                                             ; preds = %bb2042    %tmp24 = invoke token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 1, i32 16, ptr nonnull elementtype(void (i32, ptr addrspace(1), ptr addrspace(1), i32, i32)) @barney, i32 5, i32 0, i32 undef, ptr addrspace(1) nonnull undef, ptr addrspace(1) null, i32 0, i32 undef, i32 0, i32 0) [ "deopt"(i32 0, i32 10, i32 0, i32 10, i32 0, i32 4, i32 1, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp11, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp11, i32 10, i32 2, i32 12, i32 0, i32 3, i32 1, i32 0, ptr addrspace(1) %tmp11, i32 0, ptr addrspace(1) %tmp11, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp11, i32 2, i32 8, i32 4, i32 0, i32 1, i32 0, i32 7, ptr null, i32 2, i32 12, i32 7, i32 0, i32 2, i32 0, i32 7, ptr null, i32 7, ptr null, i32 10, i32 18, i32 96, i32 0, i32 9, i32 1, i32 0, ptr addrspace(1) %tmp10, i32 0, ptr addrspace(1) undef, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp9, i32 3, i32 %tmp16, i32 3, i32 0, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp9, i32 8, i32 9, i32 34, i32 0, i32 3, i32 1, i32 0, ptr addrspace(1) %tmp10, i32 0, ptr addrspace(1) undef, i32 7, ptr null, i32 0, ptr addrspace(1) undef), "gc-live"(ptr addrspace(1) %tmp11, ptr addrspace(1) %tmp9, ptr addrspace(1) undef, ptr addrspace(1) %tmp10, ptr addrspace(1) undef, ptr addrspace(1) %tmp5) ]43            to label %bb25 unwind label %bb3544 45  bb25:                                             ; preds = %bb2346    %tmp26 = call coldcc ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %tmp24, i32 5, i32 5) ; (%tmp5, %tmp5)47    br label %bb2748 49  bb27:                                             ; preds = %bb25, %bb2050    %tmp28 = phi ptr addrspace(1) [ %tmp9, %bb20 ], [ undef, %bb25 ]51    %tmp29 = phi ptr addrspace(1) [ %tmp10, %bb20 ], [ undef, %bb25 ]52    %tmp30 = phi ptr addrspace(1) [ %tmp11, %bb20 ], [ null, %bb25 ]53    %tmp34 = icmp sgt i32 0, %tmp1654    br i1 %tmp34, label %bb7, label %bb4455 56  bb35:                                             ; preds = %bb2357    %tmp36 = landingpad token58            cleanup59    br i1 undef, label %bb39, label %bb3760 61  bb37:                                             ; preds = %bb3562    %tmp38 = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 2882400000, i32 0, ptr nonnull elementtype(void (i32)) @ham, i32 1, i32 2, i32 3, i32 0, i32 0) [ "deopt"(i32 0, i32 10, i32 0, i32 10, i32 0, i32 4, i32 1, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 10, i32 2, i32 12, i32 0, i32 3, i32 1, i32 0, ptr addrspace(1) undef, i32 0, ptr addrspace(1) undef, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 2, i32 8, i32 4, i32 0, i32 1, i32 0, i32 7, ptr null, i32 2, i32 12, i32 7, i32 0, i32 2, i32 0, i32 7, ptr null, i32 7, ptr null, i32 10, i32 18, i32 96, i32 0, i32 9, i32 1, i32 0, ptr addrspace(1) undef, i32 0, ptr addrspace(1) undef, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 3, i32 %tmp16, i32 3, i32 0, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 0, i32 9, i32 51, i32 0, i32 3, i32 0, i32 7, ptr null, i32 7, ptr null, i32 7, ptr null), "gc-live"() ]63    unreachable64 65  bb39:                                             ; preds = %bb3566    unreachable67 68  bb40:                                             ; preds = %bb69    call void @wombat()70    br label %bb4171 72  bb41:                                             ; preds = %bb7, %bb4073    %tmp42 = phi i32 [ 0, %bb40 ], [ %tmp12, %bb7 ]74    %tmp43 = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 2882400000, i32 0, ptr nonnull elementtype(void (i32)) @ham, i32 1, i32 2, i32 -39, i32 0, i32 0) [ "deopt"(i32 0, i32 10, i32 0, i32 10, i32 0, i32 4, i32 1, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 10, i32 2, i32 12, i32 0, i32 3, i32 1, i32 0, ptr addrspace(1) undef, i32 0, ptr addrspace(1) undef, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 2, i32 8, i32 4, i32 0, i32 1, i32 0, i32 7, ptr null, i32 2, i32 12, i32 7, i32 0, i32 2, i32 0, i32 7, ptr null, i32 7, ptr null, i32 10, i32 18, i32 63, i32 0, i32 9, i32 1, i32 0, ptr addrspace(1) undef, i32 0, ptr addrspace(1) undef, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 3, i32 %tmp42, i32 3, i32 0, i32 3, i32 undef, i32 7, ptr null, i32 0, ptr addrspace(1) undef, i32 2, i32 33, i32 6, i32 0, i32 5, i32 0, i32 0, ptr addrspace(1) undef, i32 3, i32 %tmp42, i32 3, i32 undef, i32 0, ptr addrspace(1) undef, i32 3, i32 undef, i32 1, i32 34, i32 14, i32 0, i32 3, i32 0, i32 3, i32 %tmp42, i32 3, i32 undef, i32 3, i32 0), "gc-live"() ]75    unreachable76 77  bb44:                                             ; preds = %bb2778    call void @hoge.1()79    br i1 undef, label %bb50, label %bb4580 81  bb45:                                             ; preds = %bb4482    br i1 undef, label %bb56, label %bb4683 84  bb46:                                             ; preds = %bb4585    %tmp47 = invoke token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 1, i32 16, ptr nonnull elementtype(void (i32, ptr addrspace(1), ptr addrspace(1), i32, i32)) @barney, i32 5, i32 0, i32 undef, ptr addrspace(1) nonnull undef, ptr addrspace(1) undef, i32 0, i32 undef, i32 0, i32 0) [ "deopt"(i32 0, i32 10, i32 0, i32 10, i32 0, i32 4, i32 1, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp30, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp30, i32 10, i32 2, i32 19, i32 0, i32 3, i32 1, i32 0, ptr addrspace(1) %tmp30, i32 0, ptr addrspace(1) %tmp30, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp30, i32 8, i32 9, i32 34, i32 0, i32 3, i32 1, i32 0, ptr addrspace(1) undef, i32 0, ptr addrspace(1) undef, i32 7, ptr null, i32 0, ptr addrspace(1) undef), "gc-live"(ptr addrspace(1) %tmp30, ptr addrspace(1) undef, ptr addrspace(1) undef) ]86            to label %bb48 unwind label %bb5287 88  bb48:                                             ; preds = %bb4689    %tmp49 = call coldcc ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %tmp47, i32 0, i32 0) ; (%tmp30, %tmp30)90    br label %bb5691 92  bb50:                                             ; preds = %bb4493    %tmp51 = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 2882400000, i32 0, ptr nonnull elementtype(void (i32)) @ham, i32 1, i32 2, i32 10, i32 0, i32 0) [ "deopt"(i32 0, i32 10, i32 0, i32 10, i32 0, i32 4, i32 1, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp30, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp30, i32 10, i32 2, i32 19, i32 0, i32 3, i32 1, i32 0, ptr addrspace(1) %tmp30, i32 0, ptr addrspace(1) %tmp30, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp30, i32 1, i32 9, i32 6, i32 1, i32 3, i32 0, i32 0, ptr addrspace(1) null, i32 0, ptr addrspace(1) undef, i32 0, ptr addrspace(1) null, i32 7, ptr null), "gc-live"() ]94    unreachable95 96  bb52:                                             ; preds = %bb4697    %tmp53 = landingpad token98            cleanup99    %tmp54 = call coldcc ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token %tmp53, i32 0, i32 0) ; (%tmp30, %tmp30)100    %tmp55 = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 2882400000, i32 0, ptr nonnull elementtype(void (i32)) @ham, i32 1, i32 2, i32 3, i32 0, i32 0) [ "deopt"(i32 0, i32 10, i32 0, i32 10, i32 0, i32 4, i32 1, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp54, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp54, i32 10, i32 2, i32 19, i32 0, i32 3, i32 1, i32 0, ptr addrspace(1) %tmp54, i32 0, ptr addrspace(1) %tmp54, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp54, i32 0, i32 9, i32 51, i32 0, i32 3, i32 0, i32 7, ptr null, i32 7, ptr null, i32 7, ptr null), "gc-live"() ]101    unreachable102 103  bb56:                                             ; preds = %bb48, %bb45104    %tmp57 = phi ptr addrspace(1) [ %tmp30, %bb45 ], [ %tmp49, %bb48 ]105    %tmp58 = call token (i64, i32, ptr, i32, i32, ...) @llvm.experimental.gc.statepoint.p0(i64 2882400000, i32 0, ptr nonnull elementtype(void (i32)) @ham, i32 1, i32 2, i32 10, i32 0, i32 0) [ "deopt"(i32 0, i32 10, i32 0, i32 10, i32 0, i32 4, i32 1, i32 7, ptr null, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp57, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp57, i32 9, i32 2, i32 26, i32 1, i32 3, i32 1, i32 0, ptr addrspace(1) null, i32 0, ptr addrspace(1) %tmp57, i32 0, ptr addrspace(1) %tmp57, i32 7, ptr null, i32 0, ptr addrspace(1) %tmp57), "gc-live"() ]106    unreachable107  }108 109  declare ptr @widget()110 111  declare void @quux(ptr addrspace(1), ptr addrspace(1))112 113  declare void @hoge.1()114 115  declare void @barney(i32, ptr addrspace(1), ptr addrspace(1), i32, i32)116 117  declare ptr addrspace(1) @llvm.experimental.gc.relocate.p1(token, i32 immarg, i32 immarg) #0118 119  declare token @llvm.experimental.gc.statepoint.p0(i64 immarg, i32 immarg, ptr, i32 immarg, i32 immarg, ...)120 121  declare void @ham(i32)122 123  declare void @wombat()124 125  attributes #0 = { nounwind readnone }126 127...128---129name:            hoge130alignment:       16131exposesReturnsTwice: false132legalized:       false133regBankSelected: false134selected:        false135failedISel:      false136tracksRegLiveness: true137hasWinCFI:       false138registers:139  - { id: 0, class: gr64, preferred-register: '' }140  - { id: 1, class: gr64, preferred-register: '' }141  - { id: 2, class: gr64, preferred-register: '' }142  - { id: 3, class: gr64_with_sub_8bit, preferred-register: '' }143  - { id: 4, class: gr32, preferred-register: '' }144  - { id: 5, class: gr32, preferred-register: '' }145  - { id: 6, class: gr64, preferred-register: '' }146  - { id: 7, class: gr64, preferred-register: '' }147  - { id: 8, class: gr64, preferred-register: '' }148  - { id: 9, class: gr32, preferred-register: '' }149  - { id: 10, class: gr64, preferred-register: '' }150  - { id: 11, class: gr64, preferred-register: '' }151  - { id: 12, class: gr64, preferred-register: '' }152  - { id: 13, class: gr64, preferred-register: '' }153  - { id: 14, class: gr64, preferred-register: '' }154  - { id: 15, class: gr64, preferred-register: '' }155  - { id: 16, class: gr64, preferred-register: '' }156  - { id: 17, class: gr64, preferred-register: '' }157  - { id: 18, class: gr32, preferred-register: '' }158  - { id: 19, class: gr8, preferred-register: '' }159  - { id: 20, class: gr32, preferred-register: '' }160  - { id: 21, class: gr64, preferred-register: '' }161  - { id: 22, class: gr32, preferred-register: '' }162  - { id: 23, class: gr32, preferred-register: '' }163  - { id: 24, class: gr64, preferred-register: '' }164  - { id: 25, class: gr32, preferred-register: '' }165  - { id: 26, class: gr8, preferred-register: '' }166  - { id: 27, class: gr32, preferred-register: '' }167  - { id: 28, class: gr8, preferred-register: '' }168  - { id: 29, class: gr32, preferred-register: '' }169  - { id: 30, class: gr32, preferred-register: '' }170  - { id: 31, class: gr8, preferred-register: '' }171  - { id: 32, class: gr64, preferred-register: '' }172  - { id: 33, class: gr32, preferred-register: '' }173  - { id: 34, class: gr64_with_sub_8bit, preferred-register: '' }174  - { id: 35, class: gr32, preferred-register: '' }175  - { id: 36, class: gr64, preferred-register: '' }176  - { id: 37, class: gr32, preferred-register: '' }177  - { id: 38, class: gr64, preferred-register: '' }178  - { id: 39, class: gr64, preferred-register: '' }179  - { id: 40, class: gr64, preferred-register: '' }180  - { id: 41, class: gr64, preferred-register: '' }181  - { id: 42, class: gr64, preferred-register: '' }182  - { id: 43, class: gr64, preferred-register: '' }183  - { id: 44, class: gr32, preferred-register: '' }184  - { id: 45, class: gr8, preferred-register: '' }185  - { id: 46, class: gr32, preferred-register: '' }186  - { id: 47, class: gr64, preferred-register: '' }187  - { id: 48, class: gr64_with_sub_8bit, preferred-register: '' }188  - { id: 49, class: gr32, preferred-register: '' }189  - { id: 50, class: gr32, preferred-register: '' }190  - { id: 51, class: gr8, preferred-register: '' }191  - { id: 52, class: gr32, preferred-register: '' }192  - { id: 53, class: gr8, preferred-register: '' }193  - { id: 54, class: gr64, preferred-register: '' }194  - { id: 55, class: gr32, preferred-register: '' }195  - { id: 56, class: gr32, preferred-register: '' }196  - { id: 57, class: gr64, preferred-register: '' }197  - { id: 58, class: gr64, preferred-register: '' }198  - { id: 59, class: gr32, preferred-register: '' }199  - { id: 60, class: gr64, preferred-register: '' }200  - { id: 61, class: gr64, preferred-register: '' }201  - { id: 62, class: gr64, preferred-register: '' }202  - { id: 63, class: gr32, preferred-register: '' }203  - { id: 64, class: gr64, preferred-register: '' }204  - { id: 65, class: gr32, preferred-register: '' }205  - { id: 66, class: gr64, preferred-register: '' }206  - { id: 67, class: gr32, preferred-register: '' }207  - { id: 68, class: gr64, preferred-register: '' }208  - { id: 69, class: gr32, preferred-register: '' }209  - { id: 70, class: gr64, preferred-register: '' }210  - { id: 71, class: gr64, preferred-register: '' }211  - { id: 72, class: gr64, preferred-register: '' }212  - { id: 73, class: gr32, preferred-register: '' }213  - { id: 74, class: gr64, preferred-register: '' }214  - { id: 75, class: gr64, preferred-register: '' }215  - { id: 76, class: gr64, preferred-register: '' }216  - { id: 77, class: gr32, preferred-register: '' }217  - { id: 78, class: gr64, preferred-register: '' }218  - { id: 79, class: gr32, preferred-register: '' }219liveins:220  - { reg: '$rdi', virtual-reg: '%12' }221frameInfo:222  isFrameAddressTaken: false223  isReturnAddressTaken: false224  hasStackMap:     false225  hasPatchPoint:   false226  stackSize:       0227  offsetAdjustment: 0228  maxAlignment:    4229  adjustsStack:    true230  hasCalls:        true231  stackProtector:  ''232  maxCallFrameSize: 4294967295233  cvBytesOfCalleeSavedRegisters: 0234  hasOpaqueSPAdjustment: false235  hasVAStart:      false236  hasMustTailInVarArgFunc: false237  hasTailCall:     false238  localFrameSize:  0239  savePoint:       []240  restorePoint:    []241fixedStack:      []242stack:243  - { id: 0, name: '', type: default, offset: 0, size: 4, alignment: 4,244      stack-id: default, callee-saved-register: '', callee-saved-restored: true,245      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }246callSites:       []247debugValueSubstitutions: []248constants:       []249machineFunctionInfo: {}250body:             |251  ; CHECK-LABEL: name: hoge252  ; CHECK: bb.0.bb:253  ; CHECK-NEXT:   successors: %bb.1(0x80000000), %bb.15(0x00000000)254  ; CHECK-NEXT:   liveins: $rdi255  ; CHECK-NEXT: {{  $}}256  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:gr64 = COPY $rdi257  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp258  ; CHECK-NEXT:   $rdi = COPY [[COPY]]259  ; CHECK-NEXT:   dead [[COPY:%[0-9]+]]:gr64 = STATEPOINT 2, 5, 2, undef %15:gr64, $rdi, undef $rsi, 2, 0, 2, 0, 2, 27, 2, 0, 2, 10, 2, 0, 2, 6, 2, 0, 2, 4, 2, 1, 2, 0, [[COPY]], 2, 7, 2, 0, 2, 0, [[COPY]], 2, 7, 2, 0, 2, 0, [[COPY]], 2, 2, 2, 1, 2, 5, 2, 0, 2, 2, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 1, [[COPY]](tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp260  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp261  ; CHECK-NEXT:   [[MOV32r0_:%[0-9]+]]:gr32 = MOV32r0 implicit-def dead $eflags262  ; CHECK-NEXT:   TEST8rr [[MOV32r0_]].sub_8bit, [[MOV32r0_]].sub_8bit, implicit-def $eflags263  ; CHECK-NEXT:   JCC_1 %bb.15, 5, implicit $eflags264  ; CHECK-NEXT:   JMP_1 %bb.1265  ; CHECK-NEXT: {{  $}}266  ; CHECK-NEXT: bb.1.bb6:267  ; CHECK-NEXT:   successors: %bb.2(0x80000000)268  ; CHECK-NEXT: {{  $}}269  ; CHECK-NEXT:   [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm undef %17:gr64, 1, $noreg, 0, $noreg :: (load unordered (s64) from `ptr addrspace(1) undef`, addrspace 1)270  ; CHECK-NEXT:   [[MOV64rm:%[0-9]+]]:gr64 = NOT64r [[MOV64rm]]271  ; CHECK-NEXT:   MOV64mr %stack.1, 1, $noreg, 0, $noreg, [[MOV64rm]] :: (store (s64) into %stack.1)272  ; CHECK-NEXT:   undef [[MOV32r0_1:%[0-9]+]].sub_32bit:gr64_with_sub_8bit = MOV32r0 implicit-def dead $eflags273  ; CHECK-NEXT:   [[DEF:%[0-9]+]]:gr64 = IMPLICIT_DEF274  ; CHECK-NEXT:   [[DEF1:%[0-9]+]]:gr64 = IMPLICIT_DEF275  ; CHECK-NEXT:   [[DEF2:%[0-9]+]]:gr64_with_sub_8bit = IMPLICIT_DEF276  ; CHECK-NEXT:   [[MOV32r0_:%[0-9]+]]:gr32 = MOV32r0 implicit-def dead $eflags277  ; CHECK-NEXT: {{  $}}278  ; CHECK-NEXT: bb.2.bb7:279  ; CHECK-NEXT:   successors: %bb.3(0x00000000), %bb.4(0x80000000)280  ; CHECK-NEXT: {{  $}}281  ; CHECK-NEXT:   TEST8rr [[MOV32r0_1]].sub_8bit, [[MOV32r0_1]].sub_8bit, implicit-def $eflags282  ; CHECK-NEXT:   JCC_1 %bb.4, 4, implicit $eflags283  ; CHECK-NEXT: {{  $}}284  ; CHECK-NEXT: bb.3:285  ; CHECK-NEXT:   successors: %bb.16(0x80000000)286  ; CHECK-NEXT: {{  $}}287  ; CHECK-NEXT:   JMP_1 %bb.16288  ; CHECK-NEXT: {{  $}}289  ; CHECK-NEXT: bb.4.bb7:290  ; CHECK-NEXT:   successors: %bb.5(0x00000000), %bb.6(0x80000000)291  ; CHECK-NEXT: {{  $}}292  ; CHECK-NEXT:   TEST8rr [[MOV32r0_1]].sub_8bit, [[MOV32r0_1]].sub_8bit, implicit-def $eflags293  ; CHECK-NEXT:   JCC_1 %bb.6, 4, implicit $eflags294  ; CHECK-NEXT: {{  $}}295  ; CHECK-NEXT: bb.5:296  ; CHECK-NEXT:   successors: %bb.16(0x80000000)297  ; CHECK-NEXT: {{  $}}298  ; CHECK-NEXT:   JMP_1 %bb.16299  ; CHECK-NEXT: {{  $}}300  ; CHECK-NEXT: bb.6.bb7:301  ; CHECK-NEXT:   successors: %bb.16(0x00000000), %bb.7(0x80000000)302  ; CHECK-NEXT: {{  $}}303  ; CHECK-NEXT:   [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm undef %24:gr64, 1, $noreg, 0, $noreg :: (load unordered (s32) from `ptr addrspace(1) undef`, align 8, addrspace 1)304  ; CHECK-NEXT:   [[MOV32rm:%[0-9]+]]:gr32 = ADD32rr [[MOV32rm]], [[MOV32r0_]], implicit-def dead $eflags305  ; CHECK-NEXT:   CMP32rr [[MOV32r0_]], [[MOV32rm]], implicit-def $eflags306  ; CHECK-NEXT:   JCC_1 %bb.16, 15, implicit $eflags307  ; CHECK-NEXT:   JMP_1 %bb.7308  ; CHECK-NEXT: {{  $}}309  ; CHECK-NEXT: bb.7.bb20:310  ; CHECK-NEXT:   successors: %bb.8(0x40000000), %bb.9(0x40000000)311  ; CHECK-NEXT: {{  $}}312  ; CHECK-NEXT:   TEST8rr [[MOV32r0_1]].sub_8bit, [[MOV32r0_1]].sub_8bit, implicit-def $eflags313  ; CHECK-NEXT:   JCC_1 %bb.9, 4, implicit $eflags314  ; CHECK-NEXT: {{  $}}315  ; CHECK-NEXT: bb.8:316  ; CHECK-NEXT:   successors: %bb.11(0x80000000)317  ; CHECK-NEXT: {{  $}}318  ; CHECK-NEXT:   JMP_1 %bb.11319  ; CHECK-NEXT: {{  $}}320  ; CHECK-NEXT: bb.9.bb23:321  ; CHECK-NEXT:   successors: %bb.10(0x7ffff800), %bb.12(0x00000800)322  ; CHECK-NEXT: {{  $}}323  ; CHECK-NEXT:   MOV32mr %stack.0, 1, $noreg, 0, $noreg, [[MOV32rm]] :: (store (s32) into %stack.0)324  ; CHECK-NEXT:   EH_LABEL <mcsymbol .Ltmp0>325  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp326  ; CHECK-NEXT:   [[MOV64rm1:%[0-9]+]]:gr64 = MOV64rm %stack.1, 1, $noreg, 0, $noreg :: (load (s64) from %stack.1)327  ; CHECK-NEXT:   dead $edx = MOV32r0 implicit-def dead $eflags, implicit-def $rdx328  ; CHECK-NEXT:   $ecx = MOV32r0 implicit-def dead $eflags329  ; CHECK-NEXT:   dead [[MOV64rm1:%[0-9]+]]:gr64, dead [[DEF2:%[0-9]+]]:gr64_with_sub_8bit, dead [[DEF1:%[0-9]+]]:gr64, dead [[DEF:%[0-9]+]]:gr64 = STATEPOINT 1, 16, 5, undef %41:gr64, undef $edi, undef $rsi, $rdx, $ecx, undef $r8d, 2, 0, 2, 0, 2, 89, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 10, 2, 2, 2, 12, 2, 0, 2, 3, 2, 1, 2, 0, [[DEF2]], 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 2, 2, 8, 2, 4, 2, 0, 2, 1, 2, 0, 2, 7, 2, 0, 2, 2, 2, 12, 2, 7, 2, 0, 2, 2, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 10, 2, 18, 2, 96, 2, 0, 2, 9, 2, 1, 2, 0, [[DEF1]], 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, [[DEF]], 2, 3, 1, 4, %stack.0, 0, 2, 3, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, [[DEF]], 2, 8, 2, 9, 2, 34, 2, 0, 2, 3, 2, 1, 2, 0, [[DEF1]], 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 5, [[MOV64rm1]](tied-def 0), [[DEF2]](tied-def 1), [[DEF1]](tied-def 2), 2, 4278124286, [[DEF]](tied-def 3), 2, 0, 2, 5, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, csr_64, implicit-def $rsp, implicit-def $ssp :: (volatile load store (s32) on %stack.0)330  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp331  ; CHECK-NEXT:   EH_LABEL <mcsymbol .Ltmp1>332  ; CHECK-NEXT:   JMP_1 %bb.10333  ; CHECK-NEXT: {{  $}}334  ; CHECK-NEXT: bb.10.bb25:335  ; CHECK-NEXT:   successors: %bb.11(0x80000000)336  ; CHECK-NEXT: {{  $}}337  ; CHECK-NEXT:   [[DEF:%[0-9]+]]:gr64 = IMPLICIT_DEF338  ; CHECK-NEXT:   [[DEF1:%[0-9]+]]:gr64 = IMPLICIT_DEF339  ; CHECK-NEXT:   undef [[DEF2:%[0-9]+]].sub_32bit:gr64_with_sub_8bit = MOV32r0 implicit-def dead $eflags340  ; CHECK-NEXT: {{  $}}341  ; CHECK-NEXT: bb.11.bb27:342  ; CHECK-NEXT:   successors: %bb.2(0x80000000), %bb.17(0x00000000)343  ; CHECK-NEXT: {{  $}}344  ; CHECK-NEXT:   TEST32rr [[MOV32rm]], [[MOV32rm]], implicit-def $eflags345  ; CHECK-NEXT:   [[MOV32r0_:%[0-9]+]]:gr32 = COPY [[MOV32rm]]346  ; CHECK-NEXT:   JCC_1 %bb.2, 8, implicit $eflags347  ; CHECK-NEXT:   JMP_1 %bb.17348  ; CHECK-NEXT: {{  $}}349  ; CHECK-NEXT: bb.12.bb35 (landing-pad):350  ; CHECK-NEXT:   successors: %bb.14(0x40000000), %bb.13(0x40000000)351  ; CHECK-NEXT:   liveins: $rax, $rdx352  ; CHECK-NEXT: {{  $}}353  ; CHECK-NEXT:   EH_LABEL <mcsymbol .Ltmp2>354  ; CHECK-NEXT:   [[MOV32r0_2:%[0-9]+]]:gr32 = MOV32r0 implicit-def dead $eflags355  ; CHECK-NEXT:   TEST8rr [[MOV32r0_2]].sub_8bit, [[MOV32r0_2]].sub_8bit, implicit-def $eflags356  ; CHECK-NEXT:   JCC_1 %bb.14, 5, implicit $eflags357  ; CHECK-NEXT:   JMP_1 %bb.13358  ; CHECK-NEXT: {{  $}}359  ; CHECK-NEXT: bb.13.bb37:360  ; CHECK-NEXT:   successors:361  ; CHECK-NEXT: {{  $}}362  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp363  ; CHECK-NEXT:   $edi = MOV32ri 3364  ; CHECK-NEXT:   STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 87, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 10, 2, 2, 2, 12, 2, 0, 2, 3, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 2, 2, 8, 2, 4, 2, 0, 2, 1, 2, 0, 2, 7, 2, 0, 2, 2, 2, 12, 2, 7, 2, 0, 2, 2, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 10, 2, 18, 2, 96, 2, 0, 2, 9, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 3, [[MOV32rm]], 2, 3, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 0, 2, 9, 2, 51, 2, 0, 2, 3, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 1, 2, 4278124286, 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp365  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp366  ; CHECK-NEXT: {{  $}}367  ; CHECK-NEXT: bb.14.bb39:368  ; CHECK-NEXT:   successors:369  ; CHECK-NEXT: {{  $}}370  ; CHECK-NEXT: bb.15.bb40:371  ; CHECK-NEXT:   successors: %bb.16(0x80000000)372  ; CHECK-NEXT: {{  $}}373  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp374  ; CHECK-NEXT:   CALL64pcrel32 target-flags(x86-plt) @wombat, csr_64, implicit $rsp, implicit $ssp, implicit-def $rsp, implicit-def $ssp375  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp376  ; CHECK-NEXT: {{  $}}377  ; CHECK-NEXT: bb.16.bb41:378  ; CHECK-NEXT:   successors:379  ; CHECK-NEXT: {{  $}}380  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp381  ; CHECK-NEXT:   $edi = MOV32ri -39382  ; CHECK-NEXT:   STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 103, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 10, 2, 2, 2, 12, 2, 0, 2, 3, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 2, 2, 8, 2, 4, 2, 0, 2, 1, 2, 0, 2, 7, 2, 0, 2, 2, 2, 12, 2, 7, 2, 0, 2, 2, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 10, 2, 18, 2, 63, 2, 0, 2, 9, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 3, [[MOV32r0_]], 2, 3, 2, 0, 2, 3, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 2, 2, 33, 2, 6, 2, 0, 2, 5, 2, 0, 2, 0, 2, 4278124286, 2, 3, [[MOV32r0_]], 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 1, 2, 34, 2, 14, 2, 0, 2, 3, 2, 0, 2, 3, [[MOV32r0_]], 2, 3, 2, 4278124286, 2, 3, 2, 0, 2, 1, 2, 4278124286, 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp383  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp384  ; CHECK-NEXT: {{  $}}385  ; CHECK-NEXT: bb.17.bb44:386  ; CHECK-NEXT:   successors: %bb.22(0x40000000), %bb.18(0x40000000)387  ; CHECK-NEXT: {{  $}}388  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp389  ; CHECK-NEXT:   CALL64pcrel32 target-flags(x86-plt) @hoge.1, csr_64, implicit $rsp, implicit $ssp, implicit-def $rsp, implicit-def $ssp390  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp391  ; CHECK-NEXT:   [[MOV32r0_3:%[0-9]+]]:gr32 = MOV32r0 implicit-def dead $eflags392  ; CHECK-NEXT:   TEST8rr [[MOV32r0_3]].sub_8bit, [[MOV32r0_3]].sub_8bit, implicit-def $eflags393  ; CHECK-NEXT:   JCC_1 %bb.22, 5, implicit $eflags394  ; CHECK-NEXT:   JMP_1 %bb.18395  ; CHECK-NEXT: {{  $}}396  ; CHECK-NEXT: bb.18.bb45:397  ; CHECK-NEXT:   successors: %bb.19(0x40000000), %bb.20(0x40000000)398  ; CHECK-NEXT: {{  $}}399  ; CHECK-NEXT:   [[MOV32r0_4:%[0-9]+]]:gr32 = MOV32r0 implicit-def dead $eflags400  ; CHECK-NEXT:   TEST8rr [[MOV32r0_4]].sub_8bit, [[MOV32r0_4]].sub_8bit, implicit-def $eflags401  ; CHECK-NEXT:   JCC_1 %bb.20, 4, implicit $eflags402  ; CHECK-NEXT: {{  $}}403  ; CHECK-NEXT: bb.19:404  ; CHECK-NEXT:   successors: %bb.24(0x80000000)405  ; CHECK-NEXT: {{  $}}406  ; CHECK-NEXT:   JMP_1 %bb.24407  ; CHECK-NEXT: {{  $}}408  ; CHECK-NEXT: bb.20.bb46:409  ; CHECK-NEXT:   successors: %bb.21(0x40000000), %bb.23(0x40000000)410  ; CHECK-NEXT: {{  $}}411  ; CHECK-NEXT:   EH_LABEL <mcsymbol .Ltmp3>412  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp413  ; CHECK-NEXT:   $ecx = MOV32r0 implicit-def dead $eflags414  ; CHECK-NEXT:   [[DEF2:%[0-9]+]]:gr64_with_sub_8bit = STATEPOINT 1, 16, 5, undef %60:gr64, undef $edi, undef $rsi, undef $rdx, $ecx, undef $r8d, 2, 0, 2, 0, 2, 45, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 10, 2, 2, 2, 19, 2, 0, 2, 3, 2, 1, 2, 0, [[DEF2]], 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 8, 2, 9, 2, 34, 2, 0, 2, 3, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 2, [[DEF2]](tied-def 0), 2, 4278124286, 2, 0, 2, 2, 0, 0, 1, 1, csr_64, implicit-def $rsp, implicit-def $ssp415  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp416  ; CHECK-NEXT:   EH_LABEL <mcsymbol .Ltmp4>417  ; CHECK-NEXT:   JMP_1 %bb.21418  ; CHECK-NEXT: {{  $}}419  ; CHECK-NEXT: bb.21.bb48:420  ; CHECK-NEXT:   successors: %bb.24(0x80000000)421  ; CHECK-NEXT: {{  $}}422  ; CHECK-NEXT:   JMP_1 %bb.24423  ; CHECK-NEXT: {{  $}}424  ; CHECK-NEXT: bb.22.bb50:425  ; CHECK-NEXT:   successors:426  ; CHECK-NEXT: {{  $}}427  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp428  ; CHECK-NEXT:   $edi = MOV32ri 10429  ; CHECK-NEXT:   dead [[DEF2:%[0-9]+]]:gr64_with_sub_8bit = STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 45, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 10, 2, 2, 2, 19, 2, 0, 2, 3, 2, 1, 2, 0, [[DEF2]], 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 1, 2, 9, 2, 6, 2, 1, 2, 3, 2, 0, 2, 0, 2, 0, 2, 0, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 3, [[DEF2]](tied-def 0), 2, 0, 2, 4278124286, 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_64, implicit-def $rsp, implicit-def $ssp430  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp431  ; CHECK-NEXT: {{  $}}432  ; CHECK-NEXT: bb.23.bb52 (landing-pad):433  ; CHECK-NEXT:   successors:434  ; CHECK-NEXT:   liveins: $rax, $rdx435  ; CHECK-NEXT: {{  $}}436  ; CHECK-NEXT:   EH_LABEL <mcsymbol .Ltmp5>437  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp438  ; CHECK-NEXT:   $edi = MOV32ri 3439  ; CHECK-NEXT:   dead [[DEF2:%[0-9]+]]:gr64_with_sub_8bit = STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 43, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 10, 2, 2, 2, 19, 2, 0, 2, 3, 2, 1, 2, 0, [[DEF2]], 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 0, 2, 9, 2, 51, 2, 0, 2, 3, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 1, [[DEF2]](tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp440  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp441  ; CHECK-NEXT: {{  $}}442  ; CHECK-NEXT: bb.24.bb56:443  ; CHECK-NEXT:   ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp444  ; CHECK-NEXT:   $edi = MOV32ri 10445  ; CHECK-NEXT:   dead [[DEF2:%[0-9]+]]:gr64_with_sub_8bit = STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 33, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 9, 2, 2, 2, 26, 2, 1, 2, 3, 2, 1, 2, 0, 2, 0, 2, 0, [[DEF2]], 2, 0, [[DEF2]], 2, 7, 2, 0, 2, 0, [[DEF2]], 2, 2, [[DEF2]](tied-def 0), 2, 0, 2, 0, 2, 2, 0, 0, 1, 1, csr_64, implicit-def $rsp, implicit-def $ssp446  ; CHECK-NEXT:   ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp447  bb.0.bb:448    successors: %bb.1(0x80000000), %bb.12(0x00000000)449    liveins: $rdi450 451    %14:gr64 = COPY $rdi452    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp453    $rdi = COPY %14454    dead %14:gr64 = STATEPOINT 2, 5, 2, undef %15:gr64, $rdi, undef $rsi, 2, 0, 2, 0, 2, 27, 2, 0, 2, 10, 2, 0, 2, 6, 2, 0, 2, 4, 2, 1, 2, 0, %14, 2, 7, 2, 0, 2, 0, %14, 2, 7, 2, 0, 2, 0, %14, 2, 2, 2, 1, 2, 5, 2, 0, 2, 2, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 1, %14(tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp455    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp456    %77:gr32 = MOV32r0 implicit-def dead $eflags457    TEST8rr %77.sub_8bit, %77.sub_8bit, implicit-def $eflags458    JCC_1 %bb.12, 5, implicit $eflags459    JMP_1 %bb.1460 461  bb.1.bb6:462    successors: %bb.2(0x80000000)463 464    %0:gr64 = MOV64rm undef %17:gr64, 1, $noreg, 0, $noreg :: (load unordered (s64) from `ptr addrspace(1) undef`, addrspace 1)465    %0:gr64 = NOT64r %0466    undef %48.sub_32bit:gr64_with_sub_8bit = MOV32r0 implicit-def dead $eflags467    %1:gr64 = IMPLICIT_DEF468    %2:gr64 = IMPLICIT_DEF469    %3:gr64_with_sub_8bit = IMPLICIT_DEF470    %77:gr32 = MOV32r0 implicit-def dead $eflags471 472  bb.2.bb7:473    successors: %bb.22(0x00000000), %bb.3(0x80000000)474 475    TEST8rr %48.sub_8bit, %48.sub_8bit, implicit-def $eflags476    JCC_1 %bb.3, 4, implicit $eflags477 478  bb.22:479    successors: %bb.13(0x80000000)480 481    JMP_1 %bb.13482 483  bb.3.bb7:484    successors: %bb.23(0x00000000), %bb.4(0x80000000)485 486    TEST8rr %48.sub_8bit, %48.sub_8bit, implicit-def $eflags487    JCC_1 %bb.4, 4, implicit $eflags488 489  bb.23:490    successors: %bb.13(0x80000000)491 492    JMP_1 %bb.13493 494  bb.4.bb7:495    successors: %bb.13(0x00000000), %bb.5(0x80000000)496 497    %5:gr32 = MOV32rm undef %24:gr64, 1, $noreg, 0, $noreg :: (load unordered (s32) from `ptr addrspace(1) undef`, align 8, addrspace 1)498    %5:gr32 = ADD32rr %5, %77, implicit-def dead $eflags499    CMP32rr %77, %5, implicit-def $eflags500    JCC_1 %bb.13, 15, implicit $eflags501    JMP_1 %bb.5502 503  bb.5.bb20:504    successors: %bb.21(0x40000000), %bb.6(0x40000000)505 506    TEST8rr %48.sub_8bit, %48.sub_8bit, implicit-def $eflags507    JCC_1 %bb.6, 4, implicit $eflags508 509  bb.21:510    successors: %bb.8(0x80000000)511 512    JMP_1 %bb.8513 514  bb.6.bb23:515    successors: %bb.7(0x7ffff800), %bb.9(0x00000800)516 517    MOV32mr %stack.0, 1, $noreg, 0, $noreg, %5 :: (store (s32) into %stack.0)518    EH_LABEL <mcsymbol .Ltmp0>519    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp520    %32:gr64 = COPY %0521    dead $edx = MOV32r0 implicit-def dead $eflags, implicit-def $rdx522    $ecx = MOV32r0 implicit-def dead $eflags523    dead %32:gr64, dead %3:gr64_with_sub_8bit, dead %2:gr64, dead %1:gr64 = STATEPOINT 1, 16, 5, undef %41:gr64, undef $edi, undef $rsi, $rdx, $ecx, undef $r8d, 2, 0, 2, 0, 2, 89, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 10, 2, 2, 2, 12, 2, 0, 2, 3, 2, 1, 2, 0, %3, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 2, 2, 8, 2, 4, 2, 0, 2, 1, 2, 0, 2, 7, 2, 0, 2, 2, 2, 12, 2, 7, 2, 0, 2, 2, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 10, 2, 18, 2, 96, 2, 0, 2, 9, 2, 1, 2, 0, %2, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, %1, 2, 3, 1, 4, %stack.0, 0, 2, 3, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, %1, 2, 8, 2, 9, 2, 34, 2, 0, 2, 3, 2, 1, 2, 0, %2, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 5, %32(tied-def 0), %3(tied-def 1), %2(tied-def 2), 2, 4278124286, %1(tied-def 3), 2, 0, 2, 5, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, csr_64, implicit-def $rsp, implicit-def $ssp :: (volatile load store (s32) on %stack.0)524    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp525    EH_LABEL <mcsymbol .Ltmp1>526    JMP_1 %bb.7527 528  bb.7.bb25:529    successors: %bb.8(0x80000000)530 531    %1:gr64 = IMPLICIT_DEF532    %2:gr64 = IMPLICIT_DEF533    undef %3.sub_32bit:gr64_with_sub_8bit = MOV32r0 implicit-def dead $eflags534 535  bb.8.bb27:536    successors: %bb.2(0x80000000), %bb.14(0x00000000)537 538    TEST32rr %5, %5, implicit-def $eflags539    %77:gr32 = COPY %5540    JCC_1 %bb.2, 8, implicit $eflags541    JMP_1 %bb.14542 543  bb.9.bb35 (landing-pad):544    successors: %bb.11(0x40000000), %bb.10(0x40000000)545    liveins: $rax, $rdx546 547    EH_LABEL <mcsymbol .Ltmp2>548    %44:gr32 = MOV32r0 implicit-def dead $eflags549    TEST8rr %44.sub_8bit, %44.sub_8bit, implicit-def $eflags550    JCC_1 %bb.11, 5, implicit $eflags551    JMP_1 %bb.10552 553  bb.10.bb37:554    successors:555 556    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp557    $edi = MOV32ri 3558    STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 87, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 10, 2, 2, 2, 12, 2, 0, 2, 3, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 2, 2, 8, 2, 4, 2, 0, 2, 1, 2, 0, 2, 7, 2, 0, 2, 2, 2, 12, 2, 7, 2, 0, 2, 2, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 10, 2, 18, 2, 96, 2, 0, 2, 9, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 3, %5, 2, 3, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 0, 2, 9, 2, 51, 2, 0, 2, 3, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 1, 2, 4278124286, 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp559    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp560 561  bb.11.bb39:562    successors:563 564 565  bb.12.bb40:566    successors: %bb.13(0x80000000)567 568    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp569    CALL64pcrel32 target-flags(x86-plt) @wombat, csr_64, implicit $rsp, implicit $ssp, implicit-def $rsp, implicit-def $ssp570    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp571 572  bb.13.bb41:573    successors:574 575    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp576    $edi = MOV32ri -39577    STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 103, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 10, 2, 2, 2, 12, 2, 0, 2, 3, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 2, 2, 8, 2, 4, 2, 0, 2, 1, 2, 0, 2, 7, 2, 0, 2, 2, 2, 12, 2, 7, 2, 0, 2, 2, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 10, 2, 18, 2, 63, 2, 0, 2, 9, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 3, %77, 2, 3, 2, 0, 2, 3, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 2, 2, 33, 2, 6, 2, 0, 2, 5, 2, 0, 2, 0, 2, 4278124286, 2, 3, %77, 2, 3, 2, 4278124286, 2, 0, 2, 4278124286, 2, 3, 2, 4278124286, 2, 1, 2, 34, 2, 14, 2, 0, 2, 3, 2, 0, 2, 3, %77, 2, 3, 2, 4278124286, 2, 3, 2, 0, 2, 1, 2, 4278124286, 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp578    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp579 580  bb.14.bb44:581    successors: %bb.18(0x40000000), %bb.15(0x40000000)582 583    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp584    CALL64pcrel32 target-flags(x86-plt) @hoge.1, csr_64, implicit $rsp, implicit $ssp, implicit-def $rsp, implicit-def $ssp585    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp586    %50:gr32 = MOV32r0 implicit-def dead $eflags587    TEST8rr %50.sub_8bit, %50.sub_8bit, implicit-def $eflags588    JCC_1 %bb.18, 5, implicit $eflags589    JMP_1 %bb.15590 591  bb.15.bb45:592    successors: %bb.24(0x40000000), %bb.16(0x40000000)593 594    %52:gr32 = MOV32r0 implicit-def dead $eflags595    TEST8rr %52.sub_8bit, %52.sub_8bit, implicit-def $eflags596    JCC_1 %bb.16, 4, implicit $eflags597 598  bb.24:599    successors: %bb.20(0x80000000)600 601    JMP_1 %bb.20602 603  bb.16.bb46:604    successors: %bb.17(0x40000000), %bb.19(0x40000000)605 606    EH_LABEL <mcsymbol .Ltmp3>607    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp608    $ecx = MOV32r0 implicit-def dead $eflags609    %3:gr64_with_sub_8bit = STATEPOINT 1, 16, 5, undef %60:gr64, undef $edi, undef $rsi, undef $rdx, $ecx, undef $r8d, 2, 0, 2, 0, 2, 45, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 10, 2, 2, 2, 19, 2, 0, 2, 3, 2, 1, 2, 0, %3, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 8, 2, 9, 2, 34, 2, 0, 2, 3, 2, 1, 2, 0, 2, 4278124286, 2, 0, 2, 4278124286, 2, 7, 2, 0, 2, 0, 2, 4278124286, 2, 2, %3(tied-def 0), 2, 4278124286, 2, 0, 2, 2, 0, 0, 1, 1, csr_64, implicit-def $rsp, implicit-def $ssp610    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp611    EH_LABEL <mcsymbol .Ltmp4>612    JMP_1 %bb.17613 614  bb.17.bb48:615    successors: %bb.20(0x80000000)616 617    JMP_1 %bb.20618 619  bb.18.bb50:620    successors:621 622    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp623    $edi = MOV32ri 10624    dead %3:gr64_with_sub_8bit = STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 45, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 10, 2, 2, 2, 19, 2, 0, 2, 3, 2, 1, 2, 0, %3, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 1, 2, 9, 2, 6, 2, 1, 2, 3, 2, 0, 2, 0, 2, 0, 2, 0, 2, 4278124286, 2, 0, 2, 0, 2, 7, 2, 0, 2, 3, %3(tied-def 0), 2, 0, 2, 4278124286, 2, 0, 2, 3, 0, 0, 1, 1, 2, 2, csr_64, implicit-def $rsp, implicit-def $ssp625    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp626 627  bb.19.bb52 (landing-pad):628    successors:629    liveins: $rax, $rdx630 631    EH_LABEL <mcsymbol .Ltmp5>632    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp633    $edi = MOV32ri 3634    dead %3:gr64_with_sub_8bit = STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 43, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 10, 2, 2, 2, 19, 2, 0, 2, 3, 2, 1, 2, 0, %3, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 0, 2, 9, 2, 51, 2, 0, 2, 3, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 7, 2, 0, 2, 1, %3(tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp635    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp636 637  bb.20.bb56:638    ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp639    $edi = MOV32ri 10640    dead %3:gr64_with_sub_8bit = STATEPOINT 2882400000, 0, 1, target-flags(x86-plt) @ham, $edi, 2, 0, 2, 2, 2, 33, 2, 0, 2, 10, 2, 0, 2, 10, 2, 0, 2, 4, 2, 1, 2, 7, 2, 0, 2, 7, 2, 0, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 9, 2, 2, 2, 26, 2, 1, 2, 3, 2, 1, 2, 0, 2, 0, 2, 0, %3, 2, 0, %3, 2, 7, 2, 0, 2, 0, %3, 2, 2, %3(tied-def 0), 2, 0, 2, 0, 2, 2, 0, 0, 1, 1, csr_64, implicit-def $rsp, implicit-def $ssp641    ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp642 643...644