brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 3efbcf2 Raw
73 lines · c
1#include <string.h>2 3void (*f0)();4void (*f1)();5void (*f2)();6 7char dst[200];8char src[200];9volatile int n;10 11__attribute__((noinline)) void foo() {}12 13__attribute__((noinline)) void bar() {14  f0 = foo;15  f1 = foo;16  f2 = foo;17  n = 4;18}19int main(int argc, char *argv[]) {20  int i;21  bar();22  if (argc == 1) {23    f0();24    for (i = 0; i < 9; i++)25      f1();26    for (i = 0; i < 99; i++)27      f2();28  } else {29    memcpy((void *)dst, (void *)src, n);30    for (i = 0; i < 6; i++)31      memcpy((void *)(dst + 2), (void *)src, n + 1);32    for (i = 0; i < 66; i++)33      memcpy((void *)(dst + 9), (void *)src, n + 2);34  }35}36 37// CHECK:      Counters:38// CHECK-NEXT:   main:39// CHECK-NEXT:     Hash: 0x0a9bd81e87ab6e8740// CHECK-NEXT:     Counters: 641// CHECK-NEXT:     Indirect Call Site Count: 342// CHECK-NEXT:     Number of Memory Intrinsics Calls: 343// CHECK-NEXT:     Block counts: [27, 297, 12, 132, 3, 2]44// CHECK-NEXT:     Indirect Target Results:45// CHECK-NEXT:         [ 0, foo, 3 ]46// CHECK-NEXT:         [ 1, foo, 27 ]47// CHECK-NEXT:         [ 2, foo, 297 ]48// CHECK-NEXT:     Memory Intrinsic Size Results:49// CHECK-NEXT:         [ 0, 4, 2 ]50// CHECK-NEXT:         [ 1, 5, 12 ]51// CHECK-NEXT:         [ 2, 6, 132 ]52// CHECK-NEXT: Instrumentation level: IR  entry_first = 053// CHECK-NEXT: Functions shown: 154// CHECK-NEXT: Total functions: 355// CHECK-NEXT: Maximum function count: 32756// CHECK-NEXT: Maximum internal block count: 29757// CHECK-NEXT: Total number of blocks: 858// CHECK-NEXT: Total count: 80559// CHECK-NEXT: Statistics for indirect call sites profile:60// CHECK-NEXT:   Total number of sites: 361// CHECK-NEXT:   Total number of sites with values: 362// CHECK-NEXT:   Total number of profiled values: 363// CHECK-NEXT:   Value sites histogram:64// CHECK-NEXT:         NumTargets, SiteCount65// CHECK-NEXT:         1, 366// CHECK-NEXT: Statistics for memory intrinsic calls sizes profile:67// CHECK-NEXT:   Total number of sites: 368// CHECK-NEXT:   Total number of sites with values: 369// CHECK-NEXT:   Total number of profiled values: 370// CHECK-NEXT:   Value sites histogram:71// CHECK-NEXT:         NumTargets, SiteCount72// CHECK-NEXT:         1, 373