; 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:    testq $-3, %rdx
; 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@GOTPCREL(%rip), %rcx
; CHECK-NEXT:    leaq 8(%rcx,%rax), %rdx
; CHECK-NEXT:    movl $1, %r15d
; CHECK-NEXT:    movq _syCTRO@GOTPCREL(%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 LJTI0_0(%rip), %rdx
; CHECK-NEXT:    leaq LJTI0_1(%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@GOTPCREL(%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 LJTI0_0(%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@GOTPCREL(%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}
