brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · 8ff2120 Raw
57 lines · plain
1## Checks that llvm-bolt is able to read data generated by perf2bolt and update2## the CFG edges accordingly with absolute number of branches and mispredictions.3## Also checks that llvm-bolt disassembler and CFG builder is working properly.4 5RUN: yaml2obj %p/Inputs/blarge.yaml &> %t.exe6RUN: llvm-bolt %t.exe -o %t.null --data %p/Inputs/blarge.fdata --print-cfg | FileCheck %s7 8CHECK:    Binary Function "usqrt"9CHECK:      State       : CFG constructed10CHECK:      Address     : 0x40117011CHECK:      Size        : 0x4312CHECK:      MaxSize     : 0x4313CHECK:      Offset      : 0xcb014CHECK:      Section     : .text15CHECK:      IsSimple    : 116CHECK:      BB Count    : 517CHECK:      Exec Count  : 19918CHECK:      Sample Count: 768919CHECK:    }20CHECK:    .LBB{{.*}}21CHECK:      Exec Count : 19922CHECK:        {{.*}}:   movl    $0x20, %r8d23CHECK:        {{.*}}:   xorl    %eax, %eax24CHECK:        {{.*}}:   xorl    %edx, %edx25CHECK:      Successors: .Ltmp{{.*}} (mispreds: 0, count: 0)26CHECK:    .Ltmp{{.*}}27CHECK:      Exec Count : 471128CHECK:      Predecessors: .Ltmp{{.*}}, .LBB{{.*}}29CHECK:        {{.*}}:   movq    %rdi, %rcx30CHECK:        {{.*}}:   addq    %rax, %rax31CHECK:        {{.*}}:   shlq    $0x2, %rdi32CHECK:        {{.*}}:   andl    $0xc0000000, %ecx33CHECK:        {{.*}}:   shrq    $0x1e, %rcx34CHECK:        {{.*}}:   leaq    (%rcx,%rdx,4), %rdx35CHECK:        {{.*}}:   leaq    0x1(%rax,%rax), %rcx36CHECK:        {{.*}}:   cmpq    %rcx, %rdx37CHECK:        {{.*}}:   jb      .Ltmp{{.*}}38CHECK:      Successors: .Ltmp{{.*}} (mispreds: 171, count: 2886), .LFT{{.*}} (mispreds: 0, count: 0)39CHECK:    .LFT{{.*}}40CHECK:      Exec Count : 041CHECK:      Predecessors: .Ltmp{{.*}}42CHECK:        {{.*}}:   subq    %rcx, %rdx43CHECK:        {{.*}}:   addq    $0x1, %rax44CHECK:      Successors: .Ltmp{{.*}} (mispreds: 0, count: 0)45CHECK:    .Ltmp{{.*}}46CHECK:      Exec Count : 471147CHECK:      Predecessors: .Ltmp{{.*}}, .LFT{{.*}}48CHECK:        {{.*}}:   subl    $0x1, %r8d49CHECK:        {{.*}}:   jne     .Ltmp{{.*}}50CHECK:      Successors: .Ltmp{{.*}} (mispreds: 33, count: 4711), .LFT{{.*}} (mispreds: 0, count: 0)51CHECK:    .LFT{{.*}}52CHECK:      Exec Count : 053CHECK:      Predecessors: .Ltmp{{.*}}54CHECK:        {{.*}}:   movq    %rax, (%rsi)55CHECK:        {{.*}}:   retq56CHECK:    End of Function "usqrt"57