; RUN: llc -o - %s | FileCheck %s %0 = type { %1, %3* } %1 = type { %2* } %2 = type { %2*, i8* } %3 = type { i32, i32 (i32, i32)* } declare i32 @Up(...) declare i32 @f(i32, i32) ; check loop block BB#10 is not merged with LBB0_12 ; check loop block LBB0_9 is not merged with BB#11, BB#13 define i32 @foo(%0* nocapture readonly, i32, i1 %c, i8* %p1, %2** %p2) { ; CHECK-LABEL: foo: ; CHECK: LBB0_9: ; CHECK-NEXT: movq (%r14), %rax ; CHECK-NEXT: testq %rax, %rax ; CHECK-NEXT: je ; CHECK-NEXT:# BB#10: ; CHECK-NEXT: cmpq $0, 8(%rax) ; CHECK-NEXT: jne ; CHECK-NEXT:# BB#11: ; CHECK-NEXT: movq (%r14), %rax ; CHECK-NEXT: testq %rax, %rax ; CHECK-NEXT: je ; CHECK-NEXT:LBB0_12: ; CHECK-NEXT: cmpq $0, 8(%rax) ; CHECK-NEXT: jne ; CHECK-NEXT:# BB#13: ; CHECK-NEXT: movq (%r14), %rax ; CHECK-NEXT: testq %rax, %rax ; CHECK-NEXT: jne br i1 %c, label %34, label %3 ;