Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-profgen / noinline-noprobe.test
blob19a58780ca636b3f07924a436d44298acba344d5
1 ; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe.perfscript --binary=%S/Inputs/noprobe.perfbin --output=%t --skip-symbolization
2 ; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE
3 ; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe.mmap.perfscript --binary=%S/Inputs/noprobe.perfbin --output=%t --skip-symbolization
4 ; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE
5 ; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe.aggperfscript --binary=%S/Inputs/noprobe.perfbin --output=%t --skip-symbolization
6 ; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE-AGG
7 ; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe.perfscript --binary=%S/Inputs/noprobe.perfbin --output=%t
8 ; RUN: FileCheck %s --input-file %t --check-prefix=CHECK
10 ;CHECK: foo:1241:0
11 ;CHECK:  0: 0
12 ;CHECK:  1: 0
13 ;CHECK:  2: 19
14 ;CHECK:  3: 21 bar:21
15 ;CHECK:  4: 0
16 ;CHECK:  5: 0
17 ;CHECK: bar:926:21
18 ;CHECK:  0: 20
19 ;CHECK:  1: 20
20 ;CHECK:  2: 13
21 ;CHECK:  4: 6
22 ;CHECK:  5: 18
24 CHECK-RAW-PROFILE:      7
25 CHECK-RAW-PROFILE-NEXT: 5b0-5c8:7
26 CHECK-RAW-PROFILE-NEXT: 5b0-5d7:13
27 CHECK-RAW-PROFILE-NEXT: 5dc-5e9:6
28 CHECK-RAW-PROFILE-NEXT: 5e5-5e9:12
29 CHECK-RAW-PROFILE-NEXT: 5ff-62f:19
30 CHECK-RAW-PROFILE-NEXT: 634-637:18
31 CHECK-RAW-PROFILE-NEXT: 645-645:18
32 CHECK-RAW-PROFILE-NEXT: 6
33 CHECK-RAW-PROFILE-NEXT: 5c8->5dc:7
34 CHECK-RAW-PROFILE-NEXT: 5d7->5e5:13
35 CHECK-RAW-PROFILE-NEXT: 5e9->634:18
36 CHECK-RAW-PROFILE-NEXT: 62f->5b0:21
37 CHECK-RAW-PROFILE-NEXT: 637->645:18
38 CHECK-RAW-PROFILE-NEXT: 645->5ff:19
41 CHECK-RAW-PROFILE-AGG:      7
42 CHECK-RAW-PROFILE-AGG-NEXT: 5b0-5c8:13
43 CHECK-RAW-PROFILE-AGG-NEXT: 5b0-5d7:21
44 CHECK-RAW-PROFILE-AGG-NEXT: 5dc-5e9:10
45 CHECK-RAW-PROFILE-AGG-NEXT: 5e5-5e9:20
46 CHECK-RAW-PROFILE-AGG-NEXT: 5ff-62f:31
47 CHECK-RAW-PROFILE-AGG-NEXT: 634-637:30
48 CHECK-RAW-PROFILE-AGG-NEXT: 645-645:30
49 CHECK-RAW-PROFILE-AGG-NEXT: 6
50 CHECK-RAW-PROFILE-AGG-NEXT: 5c8->5dc:13
51 CHECK-RAW-PROFILE-AGG-NEXT: 5d7->5e5:21
52 CHECK-RAW-PROFILE-AGG-NEXT: 5e9->634:30
53 CHECK-RAW-PROFILE-AGG-NEXT: 62f->5b0:35
54 CHECK-RAW-PROFILE-AGG-NEXT: 637->645:30
55 CHECK-RAW-PROFILE-AGG-NEXT: 645->5ff:31
58 ; original code:
59 ; clang -O3 -g -fdebug-info-for-profiling test.c -fno-inline -o a.out
60 #include <stdio.h>
62 int bar(int x, int y) {
63   if (x % 3) {
64     return x - y;
65   }
66   return x + y;
69 void foo() {
70   int s, i = 0;
71   while (i++ < 4000 * 4000)
72     if (i % 91) s = bar(i, s); else s += 30;
73   printf("sum is %d\n", s);
76 int main() {
77   foo();
78   return 0;