brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 526467f Raw
49 lines · plain
1## Tests whether llvm-bolt is able to reorder blocks and fix branches2## according to the new function layout.3 4RUN: yaml2obj %p/Inputs/blarge.yaml &> %t.exe5RUN: llvm-bolt %t.exe -o %t.null --data %p/Inputs/blarge.fdata \6RUN:   --reorder-blocks=normal --print-finalized  2>&1 | FileCheck %s \7RUN:   --check-prefix=CHECK8 9CHECK:    Binary Function "usqrt"10CHECK:    BB Layout :         .LBB{{.*}}, .Ltmp{{.*}}, .Ltmp{{.*}}, .LFT{{.*}}, .LFT{{.*}}11CHECK:    .LBB{{.*}}12CHECK:      Exec Count : 19913CHECK:        {{.*}}:   movl    $0x20, %r8d14CHECK:        {{.*}}:   xorl    %eax, %eax15CHECK:        {{.*}}:   xorl    %edx, %edx16CHECK:        {{.*}}:   jmp     .Ltmp{{.*}}17CHECK:      Successors: .Ltmp{{.*}} (mispreds: 0, count: 0)18CHECK:    .Ltmp{{.*}}19CHECK:      Exec Count : 471120CHECK:      Predecessors: .Ltmp{{.*}}, .LFT{{.*}}21CHECK:        {{.*}}:   subl    $0x1, %r8d22CHECK:        {{.*}}:   je      .LFT{{.*}}23CHECK:      Successors: .LFT{{.*}} (mispreds: 0, count: 0), .Ltmp{{.*}} (mispreds: 33, count: 4711)24CHECK:    .Ltmp{{.*}}25CHECK:      Exec Count : 471126CHECK:      Predecessors: .Ltmp{{.*}}, .LBB{{.*}}27CHECK:        {{.*}}:   movq    %rdi, %rcx28CHECK:        {{.*}}:   addq    %rax, %rax29CHECK:        {{.*}}:   shlq    $0x2, %rdi30CHECK:        {{.*}}:   andl    $0xc0000000, %ecx31CHECK:        {{.*}}:   shrq    $0x1e, %rcx32CHECK:        {{.*}}:   leaq    (%rcx,%rdx,4), %rdx33CHECK:        {{.*}}:   leaq    0x1(%rax,%rax), %rcx34CHECK:        {{.*}}:   cmpq    %rcx, %rdx35CHECK:        {{.*}}:   jb      .Ltmp{{.*}}36CHECK:      Successors: .Ltmp{{.*}} (mispreds: 171, count: 2886), .LFT{{.*}} (mispreds: 0, count: 0)37CHECK:    .LFT{{.*}}38CHECK:      Exec Count : 039CHECK:      Predecessors: .Ltmp{{.*}}40CHECK:        {{.*}}:   subq    %rcx, %rdx41CHECK:        {{.*}}:   addq    $0x1, %rax42CHECK:        {{.*}}:   jmp     .Ltmp{{.*}}43CHECK:      Successors: .Ltmp{{.*}} (mispreds: 0, count: 0)44CHECK:    .LFT{{.*}}45CHECK:      Exec Count : 046CHECK:      Predecessors: .Ltmp{{.*}}47CHECK:        {{.*}}:   movq    %rax, (%rsi)48CHECK:        {{.*}}:   retq49