80 lines · plain
1; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe.perfscript --binary=%S/Inputs/noprobe.perfbin --output=%t --skip-symbolization2; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE3; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe.mmap.perfscript --binary=%S/Inputs/noprobe.perfbin --output=%t --skip-symbolization4; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE5; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe.aggperfscript --binary=%S/Inputs/noprobe.perfbin --output=%t --skip-symbolization6; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE-AGG7; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe.perfscript --binary=%S/Inputs/noprobe.perfbin --output=%t8; RUN: FileCheck %s --input-file %t --check-prefix=CHECK9 10;CHECK: foo:1241:011;CHECK: 0: 012;CHECK: 1: 013;CHECK: 2: 1914;CHECK: 3: 21 bar:2115;CHECK: 4: 016;CHECK: 5: 017;CHECK: bar:926:2118;CHECK: 0: 2019;CHECK: 1: 2020;CHECK: 2: 1321;CHECK: 4: 622;CHECK: 5: 1823 24CHECK-RAW-PROFILE: 725CHECK-RAW-PROFILE-NEXT: 5b0-5c8:726CHECK-RAW-PROFILE-NEXT: 5b0-5d7:1327CHECK-RAW-PROFILE-NEXT: 5dc-5e9:628CHECK-RAW-PROFILE-NEXT: 5e5-5e9:1229CHECK-RAW-PROFILE-NEXT: 5ff-62f:1930CHECK-RAW-PROFILE-NEXT: 634-637:1831CHECK-RAW-PROFILE-NEXT: 645-645:1832CHECK-RAW-PROFILE-NEXT: 633CHECK-RAW-PROFILE-NEXT: 5c8->5dc:734CHECK-RAW-PROFILE-NEXT: 5d7->5e5:1335CHECK-RAW-PROFILE-NEXT: 5e9->634:1836CHECK-RAW-PROFILE-NEXT: 62f->5b0:2137CHECK-RAW-PROFILE-NEXT: 637->645:1838CHECK-RAW-PROFILE-NEXT: 645->5ff:1939 40 41CHECK-RAW-PROFILE-AGG: 742CHECK-RAW-PROFILE-AGG-NEXT: 5b0-5c8:1343CHECK-RAW-PROFILE-AGG-NEXT: 5b0-5d7:2144CHECK-RAW-PROFILE-AGG-NEXT: 5dc-5e9:1045CHECK-RAW-PROFILE-AGG-NEXT: 5e5-5e9:2046CHECK-RAW-PROFILE-AGG-NEXT: 5ff-62f:3147CHECK-RAW-PROFILE-AGG-NEXT: 634-637:3048CHECK-RAW-PROFILE-AGG-NEXT: 645-645:3049CHECK-RAW-PROFILE-AGG-NEXT: 650CHECK-RAW-PROFILE-AGG-NEXT: 5c8->5dc:1351CHECK-RAW-PROFILE-AGG-NEXT: 5d7->5e5:2152CHECK-RAW-PROFILE-AGG-NEXT: 5e9->634:3053CHECK-RAW-PROFILE-AGG-NEXT: 62f->5b0:3554CHECK-RAW-PROFILE-AGG-NEXT: 637->645:3055CHECK-RAW-PROFILE-AGG-NEXT: 645->5ff:3156 57 58; original code:59; clang -O3 -g -fdebug-info-for-profiling test.c -fno-inline -o a.out60#include <stdio.h>61 62int bar(int x, int y) {63 if (x % 3) {64 return x - y;65 }66 return x + y;67}68 69void 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);74}75 76int main() {77 foo();78 return 0;79}80