xref: /llvm-project/llvm/test/tools/llvm-profgen/inline-pseudoprobe.test (revision 61d418f97154805100dc19ff2ef1338e9de2f27d)
123391febSHongtao Yu; RUN: llvm-profgen --format=text --ignore-stack-samples --perfscript=%S/Inputs/inline-cs-pseudoprobe.perfscript --binary=%S/Inputs/inline-cs-pseudoprobe.perfbin --output=%t --profile-summary-cold-count=0
223391febSHongtao Yu; RUN: FileCheck %s --input-file %t
323391febSHongtao Yu
423391febSHongtao Yu; CHECK:     main:88:0
523391febSHongtao Yu; CHECK-NEXT: 1: 0
623391febSHongtao Yu; CHECK-NEXT: 2: foo:88
723391febSHongtao Yu; CHECK-NEXT:  1: 0
823391febSHongtao Yu; CHECK-NEXT:  2: 15
923391febSHongtao Yu; CHECK-NEXT:  3: 15
1023391febSHongtao Yu; CHECK-NEXT:  4: 14
1123391febSHongtao Yu; CHECK-NEXT:  5: 1
1223391febSHongtao Yu; CHECK-NEXT:  6: 15
1323391febSHongtao Yu; CHECK-NEXT:  7: 0
1423391febSHongtao Yu; CHECK-NEXT:  9: 0
1523391febSHongtao Yu; CHECK-NEXT:  8: bar:28
1623391febSHongtao Yu; CHECK-NEXT:   1: 14
1723391febSHongtao Yu; CHECK-NEXT:   4: 14
1823391febSHongtao Yu; CHECK-NEXT:   !CFGChecksum: 72617220756
1923391febSHongtao Yu; CHECK-NEXT:  !CFGChecksum: 563088904013236
2023391febSHongtao Yu; CHECK-NEXT: !CFGChecksum: 281479271677951
2123391febSHongtao Yu
2223391febSHongtao Yu
23*61d418f9SArthur Eubanks; clang -O3 -fuse-ld=lld -fpseudo-probe-for-profiling
2423391febSHongtao Yu; -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Xclang -mdisable-tail-calls
2523391febSHongtao Yu; -g test.c  -o a.out
2623391febSHongtao Yu
2723391febSHongtao Yu#include <stdio.h>
2823391febSHongtao Yu
2923391febSHongtao Yuint bar(int x, int y) {
3023391febSHongtao Yu  if (x % 3) {
3123391febSHongtao Yu    return x - y;
3223391febSHongtao Yu  }
3323391febSHongtao Yu  return x + y;
3423391febSHongtao Yu}
3523391febSHongtao Yu
3623391febSHongtao Yuvoid foo() {
3723391febSHongtao Yu  int s, i = 0;
3823391febSHongtao Yu  while (i++ < 4000 * 4000)
3923391febSHongtao Yu    if (i % 91) s = bar(i, s); else s += 30;
4023391febSHongtao Yu  printf("sum is %d\n", s);
4123391febSHongtao Yu}
4223391febSHongtao Yu
4323391febSHongtao Yuint main() {
4423391febSHongtao Yu  foo();
4523391febSHongtao Yu  return 0;
4623391febSHongtao Yu}
47