# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 2
# RUN: llc -run-pass=break-false-deps -verify-machineinstrs %s -o - | FileCheck %s
#
# Check that BreakFalseDeps pass does not crash in presense of dead blocks.
--- |
  ; ModuleID = 'repro.ll'
  target datalayout = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128"
  target triple = "i686-unknown-unknown"

  declare fastcc void @hoge() #0

  ; Function Attrs: nounwind
  define fastcc void @widget(i32 %arg) #1 {
  bb:
    br label %bb1

  bb1:                                              ; preds = %bb1, %bb
    %phi = phi i1 [ true, %bb ], [ false, %bb1 ]
    br i1 %phi, label %bb1, label %bb2

  bb2:                                              ; preds = %bb1
    br i1 %phi, label %bb4, label %bb3

  bb3:                                              ; preds = %bb2
    ret void

  bb4:                                              ; preds = %bb2
    br label %bb5

  bb5:                                              ; preds = %bb5, %bb4
    %phi6 = phi double [ 0.000000e+00, %bb4 ], [ %fmul, %bb5 ]
    %fptosi = fptosi double %phi6 to i32
    %icmp = icmp slt i32 %fptosi, %arg
    %select = select i1 %icmp, i32 %fptosi, i32 0
    %sitofp = sitofp i32 %select to double
    %fsub = fsub double 0.000000e+00, %sitofp
    %fmul = fmul double 0.000000e+00, %fsub
    br label %bb5
  }

  declare fastcc void @quux() #0

  declare fastcc void @hoge.1() #0

  declare fastcc void @barney() #0

  declare fastcc void @ham() #0

  declare fastcc void @wombat() #0

  attributes #0 = { "target-features"="+sse2" }
  attributes #1 = { nounwind "target-features"="+sse2" }

...
---
name:            widget
alignment:       16
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
hasWinCFI:       false
callsEHReturn:   false
callsUnwindInit: false
hasEHContTarget: false
hasEHScopes:     false
hasEHFunclets:   false
isOutlined:      false
debugInstrRef:   false
failsVerification: false
tracksDebugUserValues: true
registers:       []
liveins:
  - { reg: '$ecx', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    1
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  functionContext: ''
  maxCallFrameSize: 0
  cvBytesOfCalleeSavedRegisters: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  hasTailCall:     false
  localFrameSize:  0
  savePoint:       ''
  restorePoint:    ''
fixedStack:      []
stack:           []
callSites:       []
debugValueSubstitutions: []
constants:       []
machineFunctionInfo: {}
body:             |
  ; CHECK-LABEL: name: widget
  ; CHECK: bb.0.bb:
  ; CHECK-NEXT:   successors: %bb.1(0x80000000)
  ; CHECK-NEXT:   liveins: $ecx
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $al = MOV8ri 1, implicit-def $eax
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1.bb1 (align 16):
  ; CHECK-NEXT:   successors: %bb.1(0x7c000000), %bb.2(0x04000000)
  ; CHECK-NEXT:   liveins: $eax, $ecx
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   TEST8ri renamable $al, 1, implicit-def $eflags, implicit killed $eax
  ; CHECK-NEXT:   renamable $eax = MOV32ri 0
  ; CHECK-NEXT:   JCC_1 %bb.1, 5, implicit $eflags
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2.bb3:
  ; CHECK-NEXT:   RET32
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.3.bb5:
  ; CHECK-NEXT:   successors: %bb.3(0x80000000)
  ; CHECK-NEXT:   liveins: $eax, $ecx, $xmm0, $xmm1
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $edx = nofpexcept CVTTSD2SIrr killed renamable $xmm1, implicit $mxcsr
  ; CHECK-NEXT:   CMP32rr renamable $edx, renamable $ecx, implicit-def $eflags
  ; CHECK-NEXT:   renamable $edx = CMOV32rr killed renamable $edx, renamable $eax, 13, implicit killed $eflags
  ; CHECK-NEXT:   renamable $xmm2 = CVTSI2SDrr killed renamable $edx
  ; CHECK-NEXT:   renamable $xmm1 = XORPSrr undef $xmm1, undef $xmm1
  ; CHECK-NEXT:   renamable $xmm1 = nofpexcept SUBSDrr killed renamable $xmm1, killed renamable $xmm2, implicit $mxcsr
  ; CHECK-NEXT:   renamable $xmm1 = nofpexcept MULSDrr killed renamable $xmm1, renamable $xmm0, implicit $mxcsr
  ; CHECK-NEXT:   JMP_1 %bb.3
  bb.0.bb:
    successors: %bb.1(0x80000000)
    liveins: $ecx

    renamable $al = MOV8ri 1, implicit-def $eax

  bb.1.bb1 (align 16):
    successors: %bb.1(0x7c000000), %bb.2(0x04000000)
    liveins: $eax, $ecx

    TEST8ri renamable $al, 1, implicit-def $eflags, implicit killed $eax
    renamable $eax = MOV32ri 0
    JCC_1 %bb.1, 5, implicit $eflags

  bb.2.bb3:
    RET32

  bb.3.bb5:
    successors: %bb.3(0x80000000)
    liveins: $eax, $ecx, $xmm0, $xmm1

    renamable $edx = nofpexcept CVTTSD2SIrr killed renamable $xmm1, implicit $mxcsr
    CMP32rr renamable $edx, renamable $ecx, implicit-def $eflags
    renamable $edx = CMOV32rr killed renamable $edx, renamable $eax, 13, implicit killed $eflags
    renamable $xmm2 = CVTSI2SDrr killed renamable $edx
    renamable $xmm1 = XORPSrr undef $xmm1, undef $xmm1
    renamable $xmm1 = nofpexcept SUBSDrr killed renamable $xmm1, killed renamable $xmm2, implicit $mxcsr
    renamable $xmm1 = nofpexcept MULSDrr killed renamable $xmm1, renamable $xmm0, implicit $mxcsr
    JMP_1 %bb.3

...
