# RUN: llc -run-pass=block-placement %s -o - | FileCheck %s

--- |
  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
  target triple = "x86_64-unknown-linux-gnu"
  
  define void @_Z3fn1v() !dbg !6 {
  entry:
    %d = alloca i8, align 1
    br i1 1, label %for.cond.cleanup, label %for.body
  
  for.cond.cleanup:
    ret void
  
  for.body:
    br i1 1, label %for.cond.cleanup, label %for.body.1
  
  for.body.1:
    br i1 1, label %for.cond.cleanup, label %for.body.2
  
  for.body.2:
    br i1 1, label %for.cond.cleanup, label %for.body.3
  
  for.body.3:
    br i1 1, label %for.cond.cleanup, label %for.body.4
  
  for.body.4:
    br i1 1, label %for.cond.cleanup, label %for.body.5
  
  for.body.5:
    br i1 1, label %for.cond.cleanup, label %for.body.6
  
  for.body.6:
    br i1 1, label %for.cond.cleanup, label %for.body.7
  
  for.body.7:
    br i1 1, label %for.cond.cleanup, label %for.body.8
  
  for.body.8:
    br i1 1, label %for.cond.cleanup, label %for.body.9
  
  for.body.9:
    br i1 1, label %for.cond.cleanup, label %for.body.10
  
  for.body.10:
    br i1 1, label %for.cond.cleanup, label %for.body.11
  
  for.body.11:
    %d.0.d.0..12 = load volatile i8, i8* %d, align 1
    call void @llvm.dbg.value(metadata i8 %d.0.d.0..12, metadata !16, metadata !DIExpression()), !dbg !19
    br label %for.cond.cleanup
  }
  
  declare void @llvm.dbg.value(metadata, metadata, metadata)
  
  !llvm.dbg.cu = !{!0}
  !llvm.module.flags = !{!3, !4, !5}
  
  !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 7.0.0 (trunk 326606)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, globals: !2)
  !1 = !DIFile(filename: "repro.cpp", directory: "/home/mdavis/bugs/bz-189869")
  !2 = !{}
  !3 = !{i32 2, !"Dwarf Version", i32 4}
  !4 = !{i32 2, !"Debug Info Version", i32 3}
  !5 = !{i32 1, !"wchar_size", i32 4}
  !6 = distinct !DISubprogram(name: "fn1", linkageName: "_Z3fn1v", scope: !7, file: !7, line: 4, type: !8, isLocal: false, isDefinition: true, scopeLine: 4, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !15)
  !7 = !DIFile(filename: "./repro.cpp", directory: "/home/mdavis/bugs/bz-189869")
  !8 = !DISubroutineType(types: !9)
  !9 = !{}
  !15 = !{!16}
  !16 = !DILocalVariable(name: "d", scope: !6, file: !7, line: 6, type: !17)
  !17 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !18)
  !18 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
  !19 = !DILocation(line: 6, column: 17, scope: !6)

...
---
# CHECK: name: _Z3fn1v
# CHECK: bb.10.for.body.9
# CHECK: renamable $al
# CHECK-NEXT: TEST8rr killed renamable $al
# CHECK-NEXT: JCC_1
# CHECK-NOT: $al = IMPLICIT_DEF
# CHECK: bb.12.for.body.10

name:            _Z3fn1v
alignment:       16
tracksRegLiveness: true
constants:       
body:             |
  bb.0.entry:
    successors: %bb.1, %bb.4
    liveins: $rdi, $rbp, $r15, $r14, $r13, $r12, $rbx
  
    renamable $al = MOV8ri 1
    TEST8rr renamable $al, renamable $al, implicit-def $eflags
    JCC_1 %bb.4, 5, implicit killed $eflags
  
  bb.1.for.cond.cleanup:
    successors: %bb.3, %bb.2
    liveins: $ecx, $rdi
  
    renamable $eax = MOV32rm $rsp, 1, $noreg, -16, $noreg 
    CMP32rm killed renamable $eax, $rip, 1, $noreg, $noreg, $noreg, implicit-def $eflags 
    JCC_1 %bb.3, 6, implicit $eflags
  
  bb.2:
    successors: %bb.3
    liveins: $ebp, $ebx, $edx, $esi, $rdi, $r8d, $r9d, $r10d, $r11d, $r12d, $r13d, $r14d, $r15d
  
  bb.3.for.cond.cleanup:
    liveins: $rdi, $xmm3, $xmm4, $xmm5, $xmm6, $xmm7, $xmm9, $xmm13, $xmm14
    RET64
  
  bb.4.for.body:
    successors: %bb.1, %bb.5
    liveins: $al, $rdi
  
    renamable $ecx = XOR32rr undef $ecx, undef $ecx, implicit-def dead $eflags
    TEST8rr killed renamable $al, renamable $al, implicit-def $eflags
    JCC_1 %bb.1, 5, implicit $eflags
  
  bb.5.for.body.1:
    successors: %bb.1, %bb.6
    liveins: $ecx, $rdi
  
    renamable $al = MOV8ri 1
    TEST8rr killed renamable $al, renamable $al, implicit-def $eflags
    JCC_1 %bb.1, 5, implicit $eflags
  
  bb.6.for.body.2:
    successors: %bb.1, %bb.7
    liveins: $ecx, $eflags, $rdi
  
    JCC_1 %bb.1, 5, implicit $eflags
  
  bb.7.for.body.3:
    successors: %bb.1, %bb.8
    liveins: $ecx, $rdi
  
    renamable $al = MOV8ri 1
    TEST8rr killed renamable $al, renamable $al, implicit-def $eflags
    JCC_1 %bb.1, 5, implicit $eflags
  
  bb.8.for.body.4:
    successors: %bb.1, %bb.9
    liveins: $ecx, $eflags, $rdi
  
    JCC_1 %bb.1, 5, implicit $eflags
  
  bb.9.for.body.5:
    successors: %bb.1, %bb.10
    liveins: $ecx, $rdi
  
    renamable $al = MOV8ri 1
    TEST8rr killed renamable $al, renamable $al, implicit-def $eflags
    JCC_1 %bb.1, 5, implicit $eflags
  
  bb.10.for.body.6:
    successors: %bb.1, %bb.11
    liveins: $ecx, $eflags, $rdi
  
    JCC_1 %bb.1, 5, implicit $eflags
  
  bb.11.for.body.7:
    successors: %bb.1, %bb.12
    liveins: $ecx, $rdi
  
    renamable $al = MOV8ri 1
    TEST8rr killed renamable $al, renamable $al, implicit-def $eflags
    JCC_1 %bb.1, 5, implicit $eflags
  
  bb.12.for.body.8:
    successors: %bb.1, %bb.13
    liveins: $ecx, $eflags, $rdi
  
    JCC_1 %bb.1, 5, implicit $eflags
  
  bb.13.for.body.9:
    successors: %bb.14, %bb.15
    liveins: $rdi
  
    renamable $al = MOV8ri 1
    TEST8rr killed renamable $al, renamable $al, implicit-def $eflags
    JCC_1 %bb.15, 4, implicit $eflags
  
  bb.14:
    successors: %bb.1
    liveins: $rdi
  
    renamable $ecx = XOR32rr undef $ecx, undef $ecx, implicit-def dead $eflags
    JMP_1 %bb.1
  
  bb.15.for.body.10:
    successors: %bb.16, %bb.17
    liveins: $eflags, $rdi
  
    JCC_1 %bb.17, 4, implicit killed $eflags
  
  bb.16:
    successors: %bb.1
    liveins: $rdi
  
    JMP_1 %bb.1
  
  bb.17.for.body.11:
    successors: %bb.1
    liveins: $rdi
  
    dead renamable $al = MOV8rm $rsp, 1, $noreg, -121, $noreg 
    DBG_VALUE $al, $noreg, !16, !DIExpression(), debug-location !19
    renamable $ecx = XOR32rr undef $ecx, undef $ecx, implicit-def dead $eflags
    JMP_1 %bb.1
...
