; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s

; This test hung in the BranchFolding pass during asm-goto bring up

@e = dso_local global i32 0
@j = dso_local global i32 0

define dso_local void @n(i32* %o, i32 %p, i32 %u) nounwind {
; CHECK-LABEL: n:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    pushq %rbp
; CHECK-NEXT:    pushq %r15
; CHECK-NEXT:    pushq %r14
; CHECK-NEXT:    pushq %r13
; CHECK-NEXT:    pushq %r12
; CHECK-NEXT:    pushq %rbx
; CHECK-NEXT:    pushq %rax
; CHECK-NEXT:    movl %edx, %ebx
; CHECK-NEXT:    movl %esi, %r12d
; CHECK-NEXT:    movq %rdi, %r15
; CHECK-NEXT:    callq c
; CHECK-NEXT:    movl %eax, %r13d
; CHECK-NEXT:    movq %r15, %rdi
; CHECK-NEXT:    callq l
; CHECK-NEXT:    testl %eax, %eax
; CHECK-NEXT:    jne .LBB0_10
; CHECK-NEXT:  # %bb.1: # %if.end
; CHECK-NEXT:    movl %ebx, {{[-0-9]+}}(%r{{[sb]}}p) # 4-byte Spill
; CHECK-NEXT:    cmpl $0, {{.*}}(%rip)
; CHECK-NEXT:    # implicit-def: $ebx
; CHECK-NEXT:    # implicit-def: $r14d
; CHECK-NEXT:    je .LBB0_4
; CHECK-NEXT:  # %bb.2: # %if.then4
; CHECK-NEXT:    movslq %r12d, %rdi
; CHECK-NEXT:    callq m
; CHECK-NEXT:    # implicit-def: $ebx
; CHECK-NEXT:    # implicit-def: $ebp
; CHECK-NEXT:  .LBB0_3: # %r
; CHECK-NEXT:    callq c
; CHECK-NEXT:    movl %ebp, %r14d
; CHECK-NEXT:  .LBB0_4: # %if.end8
; CHECK-NEXT:    movl %ebx, %edi
; CHECK-NEXT:    callq i
; CHECK-NEXT:    movl %eax, %ebp
; CHECK-NEXT:    orl %r14d, %ebp
; CHECK-NEXT:    testl %r13d, %r13d
; CHECK-NEXT:    je .LBB0_6
; CHECK-NEXT:  # %bb.5:
; CHECK-NEXT:    andl $4, %ebx
; CHECK-NEXT:    jmp .LBB0_3
; CHECK-NEXT:  .LBB0_6: # %if.end12
; CHECK-NEXT:    testl %ebp, %ebp
; CHECK-NEXT:    je .LBB0_9
; CHECK-NEXT:  # %bb.7: # %if.then14
; CHECK-NEXT:    movl {{[-0-9]+}}(%r{{[sb]}}p), %eax # 4-byte Reload
; CHECK-NEXT:    #APP
; CHECK-NEXT:    #NO_APP
; CHECK-NEXT:    jmp .LBB0_10
; CHECK-NEXT:  .Ltmp0: # Block address taken
; CHECK-NEXT:  # %bb.8: # %if.then20.critedge
; CHECK-NEXT:    movl {{.*}}(%rip), %edi
; CHECK-NEXT:    movslq %eax, %rcx
; CHECK-NEXT:    movl $1, %esi
; CHECK-NEXT:    movq %r15, %rdx
; CHECK-NEXT:    addq $8, %rsp
; 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:    jmp k # TAILCALL
; CHECK-NEXT:  .LBB0_9: # %if.else
; CHECK-NEXT:    incq 0
; CHECK-NEXT:  .LBB0_10: # %cleanup
; CHECK-NEXT:    addq $8, %rsp
; 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
entry:
  %call = tail call i32 @c()
  %call1 = tail call i32 @l(i32* %o)
  %tobool = icmp eq i32 %call1, 0
  br i1 %tobool, label %if.end, label %cleanup

if.end:                                           ; preds = %entry
  %0 = load i32, i32* @e
  %tobool3 = icmp eq i32 %0, 0
  br i1 %tobool3, label %if.end8, label %if.then4, !prof !0

if.then4:                                         ; preds = %if.end
  %conv5 = sext i32 %p to i64
  %call6 = tail call i32 @m(i64 %conv5)
  br label %r

r:                                                ; preds = %if.end8, %if.then4
  %flags.0 = phi i32 [ undef, %if.then4 ], [ %and, %if.end8 ]
  %major.0 = phi i32 [ undef, %if.then4 ], [ %or, %if.end8 ]
  %call7 = tail call i32 @c()
  br label %if.end8

if.end8:                                          ; preds = %r, %if.end
  %flags.1 = phi i32 [ %flags.0, %r ], [ undef, %if.end ]
  %major.1 = phi i32 [ %major.0, %r ], [ undef, %if.end ]
  %call9 = tail call i32 @i(i32 %flags.1)
  %or = or i32 %call9, %major.1
  %and = and i32 %flags.1, 4
  %tobool10 = icmp eq i32 %call, 0
  br i1 %tobool10, label %if.end12, label %r

if.end12:                                         ; preds = %if.end8
  %tobool13 = icmp eq i32 %or, 0
  br i1 %tobool13, label %if.else, label %if.then14

if.then14:                                        ; preds = %if.end12
  callbr void asm sideeffect "", "X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@n, %if.then20.critedge))
          to label %cleanup [label %if.then20.critedge]

if.then20.critedge:                               ; preds = %if.then14
  %1 = load i32, i32* @j
  %conv21 = sext i32 %u to i64
  %call22 = tail call i32 @k(i32 %1, i64 1, i32* %o, i64 %conv21)
  br label %cleanup

if.else:                                          ; preds = %if.end12
  %2 = load i64, i64* null
  %inc = add i64 %2, 1
  store i64 %inc, i64* null
  br label %cleanup

cleanup:                                          ; preds = %if.else, %if.then20.critedge, %if.then14, %entry
  ret void
}

declare dso_local i32 @c()

declare dso_local i32 @l(i32*)

declare dso_local i32 @m(i64)

declare dso_local i32 @i(i32)

declare dso_local i32 @k(i32, i64, i32*, i64)

!0 = !{!"branch_weights", i32 2000, i32 1}
