Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-profgen / noinline-pseudoprobe.test
blobf1707a66e1c339b1ee0a818fae4af0954f44e19a
1 ; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noinline-cs-pseudoprobe.perfscript --binary=%S/Inputs/noinline-cs-pseudoprobe.perfbin --output=%t1 --ignore-stack-samples
2 ; RUN: FileCheck %s --input-file %t1
3 ; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noinline-cs-pseudoprobe.aggperfscript --binary=%S/Inputs/noinline-cs-pseudoprobe.perfbin --output=%t2 --ignore-stack-samples
4 ; RUN: FileCheck %s --input-file %t2
7 ; CHECK:     foo:75:0
8 ; CHECK-NEXT:  1: 0
9 ; CHECK-NEXT:  2: 15
10 ; CHECK-NEXT:  3: 15
11 ; CHECK-NEXT:  4: 15
12 ; CHECK-NEXT:  5: 0
13 ; CHECK-NEXT:  6: 15
14 ; CHECK-NEXT:  7: 0
15 ; CHECK-NEXT:  8: 15 bar:15
16 ; CHECK-NEXT:  9: 0
17 ; CHECK-NEXT:  !CFGChecksum: 563088904013236
18 ; CHECK-NEXT: bar:30:15
19 ; CHECK-NEXT:  1: 15
20 ; CHECK-NEXT:  4: 15
21 ; CHECK-NEXT:  !CFGChecksum: 72617220756
25 ; clang -O3 -fuse-ld=lld -fpseudo-probe-for-profiling
26 ; -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Xclang -mdisable-tail-calls
27 ; -fno-inline-functions -g test.c  -o a.out
29 #include <stdio.h>
31 int bar(int x, int y) {
32   if (x % 3) {
33     return x - y;
34   }
35   return x + y;
38 void foo() {
39   int s, i = 0;
40   while (i++ < 4000 * 4000)
41     if (i % 91) s = bar(i, s); else s += 30;
42   printf("sum is %d\n", s);
45 int main() {
46   foo();
47   return 0;