1*11791ae7SSayhaan Siddiqui## Tests whether llvm-bolt is able to reorder blocks and fix branches 2*11791ae7SSayhaan Siddiqui## according to the new function layout. 38331f75eSAmir Ayupov 48331f75eSAmir AyupovRUN: yaml2obj %p/Inputs/blarge.yaml &> %t.exe 5ab14eb23SAmir AyupovRUN: llvm-bolt %t.exe -o %t.null --data %p/Inputs/blarge.fdata \ 6d648aa1bSMaksim PanchenkoRUN: --reorder-blocks=normal --print-finalized 2>&1 | FileCheck %s \ 7d648aa1bSMaksim PanchenkoRUN: --check-prefix=CHECK 88331f75eSAmir Ayupov 98331f75eSAmir AyupovCHECK: Binary Function "usqrt" 108331f75eSAmir AyupovCHECK: BB Layout : .LBB{{.*}}, .Ltmp{{.*}}, .Ltmp{{.*}}, .LFT{{.*}}, .LFT{{.*}} 118331f75eSAmir AyupovCHECK: .LBB{{.*}} 128331f75eSAmir AyupovCHECK: Exec Count : 199 138331f75eSAmir AyupovCHECK: {{.*}}: movl $0x20, %r8d 148331f75eSAmir AyupovCHECK: {{.*}}: xorl %eax, %eax 158331f75eSAmir AyupovCHECK: {{.*}}: xorl %edx, %edx 168331f75eSAmir AyupovCHECK: {{.*}}: jmp .Ltmp{{.*}} 178331f75eSAmir AyupovCHECK: Successors: .Ltmp{{.*}} (mispreds: 0, count: 0) 188331f75eSAmir AyupovCHECK: .Ltmp{{.*}} 198331f75eSAmir AyupovCHECK: Exec Count : 4711 208331f75eSAmir AyupovCHECK: Predecessors: .Ltmp{{.*}}, .LFT{{.*}} 218331f75eSAmir AyupovCHECK: {{.*}}: subl $0x1, %r8d 228331f75eSAmir AyupovCHECK: {{.*}}: je .LFT{{.*}} 238331f75eSAmir AyupovCHECK: Successors: .LFT{{.*}} (mispreds: 0, count: 0), .Ltmp{{.*}} (mispreds: 33, count: 4711) 248331f75eSAmir AyupovCHECK: .Ltmp{{.*}} 258331f75eSAmir AyupovCHECK: Exec Count : 4711 268331f75eSAmir AyupovCHECK: Predecessors: .Ltmp{{.*}}, .LBB{{.*}} 278331f75eSAmir AyupovCHECK: {{.*}}: movq %rdi, %rcx 288331f75eSAmir AyupovCHECK: {{.*}}: addq %rax, %rax 298331f75eSAmir AyupovCHECK: {{.*}}: shlq $0x2, %rdi 308331f75eSAmir AyupovCHECK: {{.*}}: andl $0xc0000000, %ecx 318331f75eSAmir AyupovCHECK: {{.*}}: shrq $0x1e, %rcx 328331f75eSAmir AyupovCHECK: {{.*}}: leaq (%rcx,%rdx,4), %rdx 338331f75eSAmir AyupovCHECK: {{.*}}: leaq 0x1(%rax,%rax), %rcx 348331f75eSAmir AyupovCHECK: {{.*}}: cmpq %rcx, %rdx 358331f75eSAmir AyupovCHECK: {{.*}}: jb .Ltmp{{.*}} 368331f75eSAmir AyupovCHECK: Successors: .Ltmp{{.*}} (mispreds: 171, count: 2886), .LFT{{.*}} (mispreds: 0, count: 0) 378331f75eSAmir AyupovCHECK: .LFT{{.*}} 388331f75eSAmir AyupovCHECK: Exec Count : 0 398331f75eSAmir AyupovCHECK: Predecessors: .Ltmp{{.*}} 408331f75eSAmir AyupovCHECK: {{.*}}: subq %rcx, %rdx 418331f75eSAmir AyupovCHECK: {{.*}}: addq $0x1, %rax 428331f75eSAmir AyupovCHECK: {{.*}}: jmp .Ltmp{{.*}} 438331f75eSAmir AyupovCHECK: Successors: .Ltmp{{.*}} (mispreds: 0, count: 0) 448331f75eSAmir AyupovCHECK: .LFT{{.*}} 458331f75eSAmir AyupovCHECK: Exec Count : 0 468331f75eSAmir AyupovCHECK: Predecessors: .Ltmp{{.*}} 478331f75eSAmir AyupovCHECK: {{.*}}: movq %rax, (%rsi) 488331f75eSAmir AyupovCHECK: {{.*}}: retq 49