; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-apple-macosx -regalloc=greedy | FileCheck %s

; This testing case is reduced from 254.gap SyFgets function.
; We make sure a spill is hoisted to a cold BB inside the hotter outer loop.

%struct.TMP.1 = type { %struct.TMP.2*, %struct.TMP.2*, [1024 x i8] }
%struct.TMP.2 = type { i8*, i32, i32, i16, i16, %struct.TMP.3, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.TMP.3, %struct.TMP.4*, i32, [3 x i8], [1 x i8], %struct.TMP.3, i32, i64 }
%struct.TMP.4 = type opaque
%struct.TMP.3 = type { i8*, i32 }

@syBuf = external global [16 x %struct.TMP.1], align 16
@syHistory = external global [8192 x i8], align 16
@SyFgets.yank = external global [512 x i8], align 16
@syCTRO = external global i32, align 4

define i8* @SyFgets(i8* %line, i64 %length, i64 %fid) {
; CHECK-LABEL: SyFgets:
; CHECK:       ## %bb.0: ## %entry
; CHECK-NEXT:    pushq %rbp
; CHECK-NEXT:    .cfi_def_cfa_offset 16
; CHECK-NEXT:    pushq %r15
; CHECK-NEXT:    .cfi_def_cfa_offset 24
; CHECK-NEXT:    pushq %r14
; CHECK-NEXT:    .cfi_def_cfa_offset 32
; CHECK-NEXT:    pushq %r13
; CHECK-NEXT:    .cfi_def_cfa_offset 40
; CHECK-NEXT:    pushq %r12
; CHECK-NEXT:    .cfi_def_cfa_offset 48
; CHECK-NEXT:    pushq %rbx
; CHECK-NEXT:    .cfi_def_cfa_offset 56
; CHECK-NEXT:    subq $552, %rsp ## imm = 0x228
; CHECK-NEXT:    .cfi_def_cfa_offset 608
; CHECK-NEXT:    .cfi_offset %rbx, -56
; CHECK-NEXT:    .cfi_offset %r12, -48
; CHECK-NEXT:    .cfi_offset %r13, -40
; CHECK-NEXT:    .cfi_offset %r14, -32
; CHECK-NEXT:    .cfi_offset %r15, -24
; CHECK-NEXT:    .cfi_offset %rbp, -16
; CHECK-NEXT:    movq %rdx, %rax
; CHECK-NEXT:    orq $2, %rax
; CHECK-NEXT:    cmpq $2, %rax
; CHECK-NEXT:    jne LBB0_4
; CHECK-NEXT:  ## %bb.1: ## %if.end
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    testb %al, %al
; CHECK-NEXT:    jne LBB0_5
; CHECK-NEXT:  ## %bb.2: ## %if.then4
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    testb %al, %al
; CHECK-NEXT:    je LBB0_55
; CHECK-NEXT:  ## %bb.3: ## %SyTime.exit
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    testb %al, %al
; CHECK-NEXT:    je LBB0_55
; CHECK-NEXT:  LBB0_4: ## %cleanup
; CHECK-NEXT:    addq $552, %rsp ## imm = 0x228
; CHECK-NEXT:    popq %rbx
; CHECK-NEXT:    popq %r12
; CHECK-NEXT:    popq %r13
; CHECK-NEXT:    popq %r14
; CHECK-NEXT:    popq %r15
; CHECK-NEXT:    popq %rbp
; CHECK-NEXT:    retq
; CHECK-NEXT:  LBB0_5: ## %if.end25
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    testb %al, %al
; CHECK-NEXT:    je LBB0_55
; CHECK-NEXT:  ## %bb.6: ## %SyTime.exit2720
; CHECK-NEXT:    movq %rdx, %rbx
; CHECK-NEXT:    movq %rdi, %rbp
; CHECK-NEXT:    leaq {{[0-9]+}}(%rsp), %rax
; CHECK-NEXT:    leaq {{[0-9]+}}(%rsp), %rcx
; CHECK-NEXT:    cmpq %rax, %rcx
; CHECK-NEXT:    jae LBB0_8
; CHECK-NEXT:  ## %bb.7: ## %for.body.lr.ph
; CHECK-NEXT:    movl $512, %edx ## imm = 0x200
; CHECK-NEXT:    movl $32, %esi
; CHECK-NEXT:    callq _memset
; CHECK-NEXT:  LBB0_8: ## %while.body.preheader
; CHECK-NEXT:    imulq $1040, %rbx, %rax ## imm = 0x410
; CHECK-NEXT:    movq _syBuf@{{.*}}(%rip), %rcx
; CHECK-NEXT:    leaq 8(%rcx,%rax), %rdx
; CHECK-NEXT:    movl $1, %r15d
; CHECK-NEXT:    movq _syCTRO@{{.*}}(%rip), %rax
; CHECK-NEXT:    movb $1, %cl
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_9: ## %do.body
; CHECK-NEXT:    ## =>This Inner Loop Header: Depth=1
; CHECK-NEXT:    movl $0, (%rax)
; CHECK-NEXT:    testb %cl, %cl
; CHECK-NEXT:    jne LBB0_9
; CHECK-NEXT:  ## %bb.10: ## %do.end
; CHECK-NEXT:    movq %rdx, {{[-0-9]+}}(%r{{[sb]}}p) ## 8-byte Spill
; CHECK-NEXT:    movq %rbp, {{[-0-9]+}}(%r{{[sb]}}p) ## 8-byte Spill
; CHECK-NEXT:    xorl %r13d, %r13d
; CHECK-NEXT:    testb %r13b, %r13b
; CHECK-NEXT:    jne LBB0_11
; CHECK-NEXT:  ## %bb.12: ## %while.body200.preheader
; CHECK-NEXT:    xorl %r12d, %r12d
; CHECK-NEXT:    leaq {{.*}}(%rip), %rdx
; CHECK-NEXT:    leaq {{.*}}(%rip), %rbx
; CHECK-NEXT:    movl $0, {{[-0-9]+}}(%r{{[sb]}}p) ## 4-byte Folded Spill
; CHECK-NEXT:    xorl %r14d, %r14d
; CHECK-NEXT:    jmp LBB0_13
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_20: ## %sw.bb256
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    movl %r13d, %r14d
; CHECK-NEXT:  LBB0_21: ## %while.cond197.backedge
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    decl %r15d
; CHECK-NEXT:    testl %r15d, %r15d
; CHECK-NEXT:    movl %r14d, %r13d
; CHECK-NEXT:    jle LBB0_22
; CHECK-NEXT:  LBB0_13: ## %while.body200
; CHECK-NEXT:    ## =>This Loop Header: Depth=1
; CHECK-NEXT:    ## Child Loop BB0_29 Depth 2
; CHECK-NEXT:    ## Child Loop BB0_38 Depth 2
; CHECK-NEXT:    leal -268(%r13), %eax
; CHECK-NEXT:    cmpl $105, %eax
; CHECK-NEXT:    ja LBB0_14
; CHECK-NEXT:  ## %bb.56: ## %while.body200
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    movslq (%rbx,%rax,4), %rax
; CHECK-NEXT:    addq %rbx, %rax
; CHECK-NEXT:    jmpq *%rax
; CHECK-NEXT:  LBB0_44: ## %while.cond1037.preheader
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    testb %r12b, %r12b
; CHECK-NEXT:    movl %r13d, %r14d
; CHECK-NEXT:    jne LBB0_21
; CHECK-NEXT:    jmp LBB0_55
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_14: ## %while.body200
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    leal 1(%r13), %eax
; CHECK-NEXT:    cmpl $21, %eax
; CHECK-NEXT:    ja LBB0_20
; CHECK-NEXT:  ## %bb.15: ## %while.body200
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    movl $-1, %r14d
; CHECK-NEXT:    movslq (%rdx,%rax,4), %rax
; CHECK-NEXT:    addq %rdx, %rax
; CHECK-NEXT:    jmpq *%rax
; CHECK-NEXT:  LBB0_18: ## %while.cond201.preheader
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    movl $1, %r14d
; CHECK-NEXT:    jmp LBB0_21
; CHECK-NEXT:  LBB0_26: ## %sw.bb474
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    testb %r12b, %r12b
; CHECK-NEXT:    ## implicit-def: $rbp
; CHECK-NEXT:    jne LBB0_34
; CHECK-NEXT:  ## %bb.27: ## %do.body479.preheader
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    testb %r12b, %r12b
; CHECK-NEXT:    ## implicit-def: $rbp
; CHECK-NEXT:    jne LBB0_34
; CHECK-NEXT:  ## %bb.28: ## %land.rhs485.preheader
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    ## implicit-def: $rax
; CHECK-NEXT:    jmp LBB0_29
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_32: ## %do.body479.backedge
; CHECK-NEXT:    ## in Loop: Header=BB0_29 Depth=2
; CHECK-NEXT:    leaq 1(%rbp), %rax
; CHECK-NEXT:    testb %r12b, %r12b
; CHECK-NEXT:    je LBB0_33
; CHECK-NEXT:  LBB0_29: ## %land.rhs485
; CHECK-NEXT:    ## Parent Loop BB0_13 Depth=1
; CHECK-NEXT:    ## => This Inner Loop Header: Depth=2
; CHECK-NEXT:    testb %al, %al
; CHECK-NEXT:    js LBB0_55
; CHECK-NEXT:  ## %bb.30: ## %cond.true.i.i2780
; CHECK-NEXT:    ## in Loop: Header=BB0_29 Depth=2
; CHECK-NEXT:    movq %rax, %rbp
; CHECK-NEXT:    testb %r12b, %r12b
; CHECK-NEXT:    jne LBB0_32
; CHECK-NEXT:  ## %bb.31: ## %lor.rhs500
; CHECK-NEXT:    ## in Loop: Header=BB0_29 Depth=2
; CHECK-NEXT:    movl $256, %esi ## imm = 0x100
; CHECK-NEXT:    callq ___maskrune
; CHECK-NEXT:    testb %r12b, %r12b
; CHECK-NEXT:    jne LBB0_32
; CHECK-NEXT:    jmp LBB0_34
; CHECK-NEXT:  LBB0_45: ## %sw.bb1134
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    leaq {{[0-9]+}}(%rsp), %rax
; CHECK-NEXT:    leaq {{[0-9]+}}(%rsp), %rcx
; CHECK-NEXT:    cmpq %rax, %rcx
; CHECK-NEXT:    jb LBB0_55
; CHECK-NEXT:  ## %bb.46: ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    movl $0, {{[-0-9]+}}(%r{{[sb]}}p) ## 4-byte Folded Spill
; CHECK-NEXT:    movl $268, %r14d ## imm = 0x10C
; CHECK-NEXT:    jmp LBB0_21
; CHECK-NEXT:  LBB0_40: ## %sw.bb566
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    movl $20, %r14d
; CHECK-NEXT:    jmp LBB0_21
; CHECK-NEXT:  LBB0_19: ## %sw.bb243
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    movl $2, %r14d
; CHECK-NEXT:    jmp LBB0_21
; CHECK-NEXT:  LBB0_33: ## %if.end517.loopexitsplit
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    incq %rbp
; CHECK-NEXT:  LBB0_34: ## %if.end517
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    leal -324(%r14), %eax
; CHECK-NEXT:    cmpl $59, %eax
; CHECK-NEXT:    ja LBB0_35
; CHECK-NEXT:  ## %bb.57: ## %if.end517
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    movabsq $576460756598390785, %rcx ## imm = 0x800000100000001
; CHECK-NEXT:    btq %rax, %rcx
; CHECK-NEXT:    jb LBB0_38
; CHECK-NEXT:  LBB0_35: ## %if.end517
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    cmpl $11, %r14d
; CHECK-NEXT:    je LBB0_38
; CHECK-NEXT:  ## %bb.36: ## %if.end517
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    cmpl $24, %r14d
; CHECK-NEXT:    je LBB0_38
; CHECK-NEXT:  ## %bb.37: ## %if.then532
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    movq _SyFgets.yank@{{.*}}(%rip), %rax
; CHECK-NEXT:    movb $0, (%rax)
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_38: ## %for.cond534
; CHECK-NEXT:    ## Parent Loop BB0_13 Depth=1
; CHECK-NEXT:    ## => This Inner Loop Header: Depth=2
; CHECK-NEXT:    testb %r12b, %r12b
; CHECK-NEXT:    jne LBB0_38
; CHECK-NEXT:  ## %bb.39: ## %for.cond542.preheader
; CHECK-NEXT:    ## in Loop: Header=BB0_13 Depth=1
; CHECK-NEXT:    testb %r12b, %r12b
; CHECK-NEXT:    movb $0, (%rbp)
; CHECK-NEXT:    movl %r13d, %r14d
; CHECK-NEXT:    leaq {{.*}}(%rip), %rdx
; CHECK-NEXT:    jmp LBB0_21
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_42: ## %while.cond864
; CHECK-NEXT:    ## =>This Inner Loop Header: Depth=1
; CHECK-NEXT:    jmp LBB0_42
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_43: ## %while.cond962
; CHECK-NEXT:    ## =>This Inner Loop Header: Depth=1
; CHECK-NEXT:    jmp LBB0_43
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_25: ## %for.cond357
; CHECK-NEXT:    ## =>This Inner Loop Header: Depth=1
; CHECK-NEXT:    jmp LBB0_25
; CHECK-NEXT:  LBB0_11:
; CHECK-NEXT:    movl $0, {{[-0-9]+}}(%r{{[sb]}}p) ## 4-byte Folded Spill
; CHECK-NEXT:    xorl %r14d, %r14d
; CHECK-NEXT:  LBB0_22: ## %while.end1465
; CHECK-NEXT:    incl %r14d
; CHECK-NEXT:    cmpl $16, %r14d
; CHECK-NEXT:    ja LBB0_50
; CHECK-NEXT:  ## %bb.23: ## %while.end1465
; CHECK-NEXT:    movl $83969, %eax ## imm = 0x14801
; CHECK-NEXT:    btl %r14d, %eax
; CHECK-NEXT:    jae LBB0_50
; CHECK-NEXT:  ## %bb.24:
; CHECK-NEXT:    xorl %ebp, %ebp
; CHECK-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx ## 8-byte Reload
; CHECK-NEXT:  LBB0_48: ## %if.then1477
; CHECK-NEXT:    movl $1, %edx
; CHECK-NEXT:    callq _write
; CHECK-NEXT:    subq %rbp, %rbx
; CHECK-NEXT:    movq _syHistory@{{.*}}(%rip), %rax
; CHECK-NEXT:    leaq 8189(%rbx,%rax), %rax
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_49: ## %for.body1723
; CHECK-NEXT:    ## =>This Inner Loop Header: Depth=1
; CHECK-NEXT:    decq %rax
; CHECK-NEXT:    jmp LBB0_49
; CHECK-NEXT:  LBB0_47: ## %if.then1477.loopexit
; CHECK-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx ## 8-byte Reload
; CHECK-NEXT:    movq %rbx, %rbp
; CHECK-NEXT:    jmp LBB0_48
; CHECK-NEXT:  LBB0_16: ## %while.cond635.preheader
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    testb %al, %al
; CHECK-NEXT:    je LBB0_41
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_17: ## %for.body643.us
; CHECK-NEXT:    ## =>This Inner Loop Header: Depth=1
; CHECK-NEXT:    jmp LBB0_17
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_41: ## %while.cond661
; CHECK-NEXT:    ## =>This Inner Loop Header: Depth=1
; CHECK-NEXT:    jmp LBB0_41
; CHECK-NEXT:  LBB0_50: ## %for.cond1480.preheader
; CHECK-NEXT:    movl $512, %eax ## imm = 0x200
; CHECK-NEXT:    cmpq %rax, %rax
; CHECK-NEXT:    jae LBB0_55
; CHECK-NEXT:  ## %bb.51: ## %for.body1664.lr.ph
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    testb %al, %al
; CHECK-NEXT:    movq {{[-0-9]+}}(%r{{[sb]}}p), %rbx ## 8-byte Reload
; CHECK-NEXT:    movl {{[-0-9]+}}(%r{{[sb]}}p), %ebp ## 4-byte Reload
; CHECK-NEXT:    jne LBB0_54
; CHECK-NEXT:  ## %bb.52: ## %while.body1679.preheader
; CHECK-NEXT:    incl %ebp
; CHECK-NEXT:    .p2align 4, 0x90
; CHECK-NEXT:  LBB0_53: ## %while.body1679
; CHECK-NEXT:    ## =>This Inner Loop Header: Depth=1
; CHECK-NEXT:    movq (%rbx), %rdi
; CHECK-NEXT:    callq _fileno
; CHECK-NEXT:    movslq %ebp, %rax
; CHECK-NEXT:    leal 1(%rax), %ebp
; CHECK-NEXT:    cmpq %rax, %rax
; CHECK-NEXT:    jl LBB0_53
; CHECK-NEXT:  LBB0_54: ## %while.cond1683.preheader
; CHECK-NEXT:    xorl %eax, %eax
; CHECK-NEXT:    testb %al, %al
; CHECK-NEXT:  LBB0_55: ## %if.then.i
; CHECK-NEXT:    ud2
entry:
  %sub.ptr.rhs.cast646 = ptrtoint i8* %line to i64
  %old = alloca [512 x i8], align 16
  %0 = getelementptr inbounds [512 x i8], [512 x i8]* %old, i64 0, i64 0
  switch i64 %fid, label %if.then [
    i64 2, label %if.end
    i64 0, label %if.end
  ]

if.then:
  br label %cleanup

if.end:
  switch i64 undef, label %if.end25 [
    i64 0, label %if.then4
    i64 1, label %if.end25
  ]

if.then4:
  br i1 undef, label %SyTime.exit, label %if.then.i

if.then.i:
  unreachable

SyTime.exit:
  br i1 undef, label %SyTime.exit2681, label %if.then.i2673

if.then.i2673:
  unreachable

SyTime.exit2681:
  br label %cleanup

land.lhs.true14:
  unreachable

if.end25:
  br i1 undef, label %SyTime.exit2720, label %if.then.i2712

if.then.i2712:
  unreachable

SyTime.exit2720:
  %add.ptr = getelementptr [512 x i8], [512 x i8]* %old, i64 0, i64 512
  %cmp293427 = icmp ult i8* %0, %add.ptr
  br i1 %cmp293427, label %for.body.lr.ph, label %while.body.preheader

for.body.lr.ph:
  call void @llvm.memset.p0i8.i64(i8* align 16 undef, i8 32, i64 512, i1 false)
  br label %while.body.preheader

while.body.preheader:
  %add.ptr1603 = getelementptr [512 x i8], [512 x i8]* null, i64 0, i64 512
  %echo.i3101 = getelementptr [16 x %struct.TMP.1], [16 x %struct.TMP.1]* @syBuf, i64 0, i64 %fid, i32 1
  %1 = xor i64 %sub.ptr.rhs.cast646, -1
  br label %do.body

do.body:
  %ch2.0 = phi i32 [ 0, %while.body.preheader ], [ %ch.12.ch2.12, %do.body ]
  %rep.0 = phi i32 [ 1, %while.body.preheader ], [ %rep.6, %do.body ]
  store i32 0, i32* @syCTRO, align 4, !tbaa !1
  %ch.0.ch2.0 = select i1 undef, i32 14, i32 %ch2.0
  %ch2.2 = select i1 undef, i32 0, i32 %ch.0.ch2.0
  %ch.2.ch2.2 = select i1 undef, i32 0, i32 %ch2.2
  %ch2.4 = select i1 undef, i32 278, i32 %ch.2.ch2.2
  %ch2.5 = select i1 undef, i32 0, i32 %ch2.4
  %rep.2 = select i1 undef, i32 undef, i32 %rep.0
  %ch.5.ch2.5 = select i1 undef, i32 undef, i32 %ch2.5
  %ch2.7 = select i1 undef, i32 0, i32 %ch.5.ch2.5
  %rep.3 = select i1 undef, i32 undef, i32 %rep.2
  %ch.7.ch2.7 = select i1 false, i32 0, i32 %ch2.7
  %mul98.rep.3 = select i1 false, i32 0, i32 %rep.3
  %ch2.9 = select i1 undef, i32 undef, i32 %ch.7.ch2.7
  %rep.5 = select i1 undef, i32 undef, i32 %mul98.rep.3
  %ch2.10 = select i1 false, i32 undef, i32 %ch2.9
  %rep.6 = select i1 false, i32 undef, i32 %rep.5
  %isdigittmp = add i32 %ch2.10, -48
  %isdigit = icmp ult i32 %isdigittmp, 10
  %cmp119 = icmp eq i32 undef, 22
  %or.cond1875 = and i1 %isdigit, %cmp119
  %ch.10.ch2.10 = select i1 %or.cond1875, i32 undef, i32 %ch2.10
  %.ch.10 = select i1 %or.cond1875, i32 0, i32 undef
  %ch2.12 = select i1 undef, i32 %.ch.10, i32 %ch.10.ch2.10
  %ch.12 = select i1 undef, i32 0, i32 %.ch.10
  %ch.12.ch2.12 = select i1 false, i32 %ch.12, i32 %ch2.12
  %.ch.12 = select i1 false, i32 0, i32 %ch.12
  %cmp147 = icmp eq i32 %.ch.12, 0
  br i1 %cmp147, label %do.body, label %do.end

do.end:
  %cmp164 = icmp eq i32 %ch.12.ch2.12, 21
  %mul167 = shl i32 %rep.6, 2
  %rep.8 = select i1 %cmp164, i32 %mul167, i32 %rep.6
  %..ch.19 = select i1 false, i32 2, i32 0
  br i1 undef, label %while.body200, label %while.end1465

while.body200:
  %dec3386.in = phi i32 [ %dec3386, %while.cond197.backedge ], [ %rep.8, %do.end ]
  %oldc.13384 = phi i32 [ %oldc.1.be, %while.cond197.backedge ], [ 0, %do.end ]
  %ch.213379 = phi i32 [ %last.1.be, %while.cond197.backedge ], [ %..ch.19, %do.end ]
  %last.13371 = phi i32 [ %last.1.be, %while.cond197.backedge ], [ 0, %do.end ]
  %dec3386 = add i32 %dec3386.in, -1
  switch i32 %ch.213379, label %sw.default [
    i32 1, label %while.cond201.preheader
    i32 322, label %sw.bb206
    i32 354, label %sw.bb206
    i32 2, label %sw.bb243
    i32 364, label %sw.bb1077
    i32 326, label %sw.bb256
    i32 358, label %sw.bb256
    i32 341, label %sw.bb979
    i32 323, label %while.cond1037.preheader
    i32 373, label %sw.bb979
    i32 4, label %if.then1477
    i32 332, label %sw.bb1077
    i32 11, label %for.cond357
    i32 355, label %while.cond1037.preheader
    i32 324, label %sw.bb474
    i32 356, label %sw.bb474
    i32 20, label %sw.bb566
    i32 -1, label %while.cond197.backedge
    i32 268, label %sw.bb1134
    i32 16, label %while.cond635.preheader
    i32 18, label %sw.bb956
    i32 316, label %while.cond864
  ]

while.cond1037.preheader:
  %cmp10393273 = icmp eq i8 undef, 0
  br i1 %cmp10393273, label %if.end1070, label %land.rhs1041

while.cond635.preheader:
  br i1 undef, label %for.body643.us, label %while.cond661

for.body643.us:
  br label %for.body643.us

while.cond201.preheader:
  %umax = select i1 false, i64 undef, i64 %1
  %2 = xor i64 %umax, -1
  %3 = inttoptr i64 %2 to i8*
  br label %while.cond197.backedge

sw.bb206:
  br label %while.cond197.backedge

sw.bb243:
  br label %while.cond197.backedge

sw.bb256:
  br label %while.cond197.backedge

while.cond197.backedge:
  %last.1.be = phi i32 [ %ch.213379, %sw.default ], [ -1, %while.body200 ], [ %ch.213379, %sw.bb1077 ], [ %ch.213379, %sw.bb979 ], [ 18, %sw.bb956 ], [ 20, %sw.bb566 ], [ %ch.213379, %for.end552 ], [ %ch.213379, %sw.bb256 ], [ 2, %sw.bb243 ], [ 1, %while.cond201.preheader ], [ 268, %for.cond1145.preheader ], [ %ch.213379, %sw.bb206 ]
  %oldc.1.be = phi i32 [ %oldc.13384, %sw.default ], [ %oldc.13384, %while.body200 ], [ %oldc.13384, %sw.bb1077 ], [ %oldc.13384, %sw.bb979 ], [ %oldc.13384, %sw.bb956 ], [ %oldc.13384, %sw.bb566 ], [ %oldc.13384, %for.end552 ], [ %oldc.13384, %sw.bb256 ], [ %oldc.13384, %sw.bb243 ], [ %oldc.13384, %while.cond201.preheader ], [ 0, %for.cond1145.preheader ], [ %oldc.13384, %sw.bb206 ]
  %cmp198 = icmp sgt i32 %dec3386, 0
  br i1 %cmp198, label %while.body200, label %while.end1465

for.cond357:
  br label %for.cond357

sw.bb474:
  ; spill is hoisted here. Although loop depth1 is even hotter than loop depth2, sw.bb474 is still cold.
  %cmp476 = icmp eq i8 undef, 0
  br i1 %cmp476, label %if.end517, label %do.body479.preheader

do.body479.preheader:
  %cmp4833314 = icmp eq i8 undef, 0
  br i1 %cmp4833314, label %if.end517, label %land.rhs485

land.rhs485:
  %incdec.ptr4803316 = phi i8* [ %incdec.ptr480, %do.body479.backedge.land.rhs485_crit_edge ], [ undef, %do.body479.preheader ]
  %isascii.i.i27763151 = icmp sgt i8 undef, -1
  br i1 %isascii.i.i27763151, label %cond.true.i.i2780, label %cond.false.i.i2782

cond.true.i.i2780:
  br i1 undef, label %land.lhs.true490, label %lor.rhs500

cond.false.i.i2782:
  unreachable

land.lhs.true490:
  br i1 false, label %lor.rhs500, label %do.body479.backedge

lor.rhs500:
  ; Make sure spill is hoisted to a cold preheader in outside loop.
  %call3.i.i2792 = call i32 @__maskrune(i32 undef, i64 256)
  br i1 undef, label %land.lhs.true504, label %do.body479.backedge

land.lhs.true504:
  br i1 undef, label %do.body479.backedge, label %if.end517

do.body479.backedge:
  %incdec.ptr480 = getelementptr i8, i8* %incdec.ptr4803316, i64 1
  %cmp483 = icmp eq i8 undef, 0
  br i1 %cmp483, label %if.end517, label %do.body479.backedge.land.rhs485_crit_edge

do.body479.backedge.land.rhs485_crit_edge:
  br label %land.rhs485

if.end517:
  %q.4 = phi i8* [ undef, %sw.bb474 ], [ undef, %do.body479.preheader ], [ %incdec.ptr480, %do.body479.backedge ], [ %incdec.ptr4803316, %land.lhs.true504 ]
  switch i32 %last.13371, label %if.then532 [
    i32 383, label %for.cond534
    i32 356, label %for.cond534
    i32 324, label %for.cond534
    i32 24, label %for.cond534
    i32 11, label %for.cond534
  ]

if.then532:
  store i8 0, i8* getelementptr inbounds ([512 x i8], [512 x i8]* @SyFgets.yank, i64 0, i64 0), align 16, !tbaa !5
  br label %for.cond534

for.cond534:
  %cmp536 = icmp eq i8 undef, 0
  br i1 %cmp536, label %for.cond542.preheader, label %for.cond534

for.cond542.preheader:
  br i1 undef, label %for.body545, label %for.end552

for.body545:
  br i1 undef, label %for.end552, label %for.body545

for.end552:
  %s.2.lcssa = phi i8* [ undef, %for.cond542.preheader ], [ %q.4, %for.body545 ]
  %sub.ptr.lhs.cast553 = ptrtoint i8* %s.2.lcssa to i64
  %sub.ptr.sub555 = sub i64 %sub.ptr.lhs.cast553, 0
  %arrayidx556 = getelementptr i8, i8* null, i64 %sub.ptr.sub555
  store i8 0, i8* %arrayidx556, align 1, !tbaa !5
  br label %while.cond197.backedge

sw.bb566:
  br label %while.cond197.backedge

while.cond661:
  br label %while.cond661

while.cond864:
  br label %while.cond864

sw.bb956:
  br i1 undef, label %if.then959, label %while.cond197.backedge

if.then959:
  br label %while.cond962

while.cond962:
  br label %while.cond962

sw.bb979:
  br label %while.cond197.backedge

land.rhs1041:
  unreachable

if.end1070:
  br label %sw.bb1077

sw.bb1077:
  br label %while.cond197.backedge

sw.bb1134:
  br i1 false, label %for.body1139, label %for.cond1145.preheader

for.cond1145.preheader:
  br i1 %cmp293427, label %for.body1150.lr.ph, label %while.cond197.backedge

for.body1150.lr.ph:
  unreachable

for.body1139:
  unreachable

sw.default:
  br label %while.cond197.backedge

while.end1465:
  %oldc.1.lcssa = phi i32 [ 0, %do.end ], [ %oldc.1.be, %while.cond197.backedge ]
  %ch.21.lcssa = phi i32 [ %..ch.19, %do.end ], [ %last.1.be, %while.cond197.backedge ]
  switch i32 %ch.21.lcssa, label %for.cond1480.preheader [
    i32 -1, label %if.then1477
    i32 15, label %if.then1477
    i32 13, label %if.then1477
    i32 10, label %if.then1477
  ]

for.cond1480.preheader:
  br i1 undef, label %for.body1606.lr.ph, label %for.end1609

if.then1477:
  %p.1.lcssa3539 = phi i8* [ null, %while.end1465 ], [ null, %while.end1465 ], [ null, %while.end1465 ], [ null, %while.end1465 ], [ %line, %while.body200 ]
  %call1.i3057 = call i64 @"\01_write"(i32 undef, i8* undef, i64 1)
  %sub.ptr.lhs.cast1717 = ptrtoint i8* %p.1.lcssa3539 to i64
  %sub.ptr.sub1719 = sub i64 %sub.ptr.lhs.cast1717, %sub.ptr.rhs.cast646
  %idx.neg1727 = sub i64 0, %sub.ptr.sub1719
  br label %for.body1723

for.body1606.lr.ph:
  br label %for.end1609

for.end1609:
  br i1 undef, label %for.cond1659.preheader, label %land.lhs.true1614

land.lhs.true1614:
  br label %for.cond1659.preheader

for.cond1659.preheader:
  %cmp16623414 = icmp ult i8* undef, %add.ptr1603
  br i1 %cmp16623414, label %for.body1664.lr.ph, label %while.body1703.lr.ph

for.body1664.lr.ph:
  %cmp16773405 = icmp slt i64 undef, undef
  br i1 %cmp16773405, label %while.body1679, label %while.cond1683.preheader

while.body1703.lr.ph:
  unreachable

while.cond1683.preheader:
  br i1 undef, label %while.body1691, label %while.end1693

while.body1679:
  %oldc.43406 = phi i32 [ %inc, %syEchoch.exit3070 ], [ %oldc.1.lcssa, %for.body1664.lr.ph ]
  %4 = load %struct.TMP.2*, %struct.TMP.2** %echo.i3101, align 8, !tbaa !6
  %call.i3062 = call i32 @fileno(%struct.TMP.2* %4)
  br i1 undef, label %if.then.i3069, label %syEchoch.exit3070

if.then.i3069:
  br label %syEchoch.exit3070

syEchoch.exit3070:
  %inc = add i32 %oldc.43406, 1
  %conv1672 = sext i32 %inc to i64
  %cmp1677 = icmp slt i64 %conv1672, undef
  br i1 %cmp1677, label %while.body1679, label %while.cond1683.preheader

while.body1691:
  unreachable

while.end1693:
  unreachable

for.body1723:
  %q.303203 = phi i8* [ getelementptr inbounds ([8192 x i8], [8192 x i8]* @syHistory, i64 0, i64 8189), %if.then1477 ], [ %incdec.ptr1730, %for.body1723 ]
  %add.ptr1728 = getelementptr i8, i8* %q.303203, i64 %idx.neg1727
  %5 = load i8, i8* %add.ptr1728, align 1, !tbaa !5
  %incdec.ptr1730 = getelementptr i8, i8* %q.303203, i64 -1
  br label %for.body1723

cleanup:
  ret i8* undef
}

declare i32 @fileno(%struct.TMP.2* nocapture)
declare i64 @"\01_write"(i32, i8*, i64)
declare i32 @__maskrune(i32, i64)
declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1)

!llvm.ident = !{!0}

!0 = !{!"clang version 3.5.0 (trunk 204257)"}
!1 = !{!2, !2, i64 0}
!2 = !{!"int", !3, i64 0}
!3 = !{!"omnipotent char", !4, i64 0}
!4 = !{!"Simple C/C++ TBAA"}
!5 = !{!3, !3, i64 0}
!6 = !{!7, !8, i64 8}
!7 = !{!"", !8, i64 0, !8, i64 8, !3, i64 16}
!8 = !{!"any pointer", !3, i64 0}
