brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.4 KiB · b8e3e24 Raw
178 lines · plain
1; Firstly test uncompression(--compress-recursion=0)2; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/recursion-compression-pseudoprobe.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t --compress-recursion=0 --profile-summary-hot-count=0 --csspgo-preinliner=0 --gen-cs-nested-profile=03; RUN: FileCheck %s --input-file %t -check-prefix=CHECK-UNCOMPRESS4; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/recursion-compression-pseudoprobe.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t --skip-symbolization --profile-summary-hot-count=05; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-UNWINDER6; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/recursion-compression-pseudoprobe.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t --profile-summary-hot-count=0 --csspgo-preinliner=0 --gen-cs-nested-profile=07; RUN: FileCheck %s --input-file %t8; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/recursion-compression-pseudoprobe-nommap.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t --skip-symbolization --profile-summary-hot-count=09; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-UNWINDER10; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/recursion-compression-pseudoprobe-nommap.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t --profile-summary-hot-count=0 --csspgo-preinliner=0 --gen-cs-nested-profile=011; RUN: FileCheck %s --input-file %t12 13; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:6 @ fa]:4:114; CHECK-UNCOMPRESS:  1: 115; CHECK-UNCOMPRESS:  3: 116; CHECK-UNCOMPRESS:  5: 117; CHECK-UNCOMPRESS:  8: 1 fa:118; CHECK-UNCOMPRESS:  !CFGChecksum: 56307046935222119; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:6 @ fa:8 @ fa]:4:120; CHECK-UNCOMPRESS:  1: 121; CHECK-UNCOMPRESS:  3: 122; CHECK-UNCOMPRESS:  4: 123; CHECK-UNCOMPRESS:  7: 1 fb:124; CHECK-UNCOMPRESS:  !CFGChecksum: 56307046935222125; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6 @ fa]:4:126; CHECK-UNCOMPRESS:  1: 127; CHECK-UNCOMPRESS:  3: 128; CHECK-UNCOMPRESS:  4: 129; CHECK-UNCOMPRESS:  7: 1 fb:130; CHECK-UNCOMPRESS:  !CFGChecksum: 56307046935222131; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb]:3:132; CHECK-UNCOMPRESS:  1: 133; CHECK-UNCOMPRESS:  2: 134; CHECK-UNCOMPRESS:  5: 1 fb:135; CHECK-UNCOMPRESS:  !CFGChecksum: 56302257064206836; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb]:3:137; CHECK-UNCOMPRESS:  1: 138; CHECK-UNCOMPRESS:  2: 139; CHECK-UNCOMPRESS:  5: 1 fb:140; CHECK-UNCOMPRESS:  !CFGChecksum: 56302257064206841; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb]:3:142; CHECK-UNCOMPRESS:  1: 143; CHECK-UNCOMPRESS:  2: 144; CHECK-UNCOMPRESS:  5: 1 fb:145; CHECK-UNCOMPRESS:  !CFGChecksum: 56302257064206846; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb]:3:147; CHECK-UNCOMPRESS:  1: 148; CHECK-UNCOMPRESS:  3: 149; CHECK-UNCOMPRESS:  6: 1 fa:150; CHECK-UNCOMPRESS:  !CFGChecksum: 56302257064206851; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb]:3:152; CHECK-UNCOMPRESS:  1: 153; CHECK-UNCOMPRESS:  3: 154; CHECK-UNCOMPRESS:  6: 1 fa:155; CHECK-UNCOMPRESS:  !CFGChecksum: 56302257064206856; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6 @ fa:7 @ fb]:3:157; CHECK-UNCOMPRESS:  1: 158; CHECK-UNCOMPRESS:  3: 159; CHECK-UNCOMPRESS:  6: 1 fa:160; CHECK-UNCOMPRESS:  !CFGChecksum: 56302257064206861; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6 @ fa:7 @ fb:6 @ fa]:2:162; CHECK-UNCOMPRESS:  1: 163; CHECK-UNCOMPRESS:  3: 164; CHECK-UNCOMPRESS:  !CFGChecksum: 56307046935222165; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb]:1:066; CHECK-UNCOMPRESS:  5: 1 fb:167; CHECK-UNCOMPRESS:  !CFGChecksum: 56302257064206868 69 70; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb]:13:471; CHECK:  1: 472; CHECK:  2: 373; CHECK:  3: 174; CHECK:  5: 4 fb:475; CHECK:  6: 1 fa:176; CHECK !CFGChecksum: 56302257064206877; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6 @ fa]:6:278; CHECK:  1: 279; CHECK:  3: 280; CHECK:  4: 181; CHECK:  7: 1 fb:182; CHECK:  !CFGChecksum: 56307046935222183 CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa]:4:184; CHECK:  1: 185; CHECK:  3: 186; CHECK:  5: 187; CHECK:  8: 1 fa:188; CHECK:  !CFGChecksum: 56307046935222189; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa]:4:190; CHECK:  1: 191; CHECK:  3: 192; CHECK:  4: 193; CHECK:  7: 1 fb:194; CHECK:  !CFGChecksum: 56307046935222195; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb]:3:196; CHECK:  1: 197; CHECK:  3: 198; CHECK:  6: 1 fa:199; CHECK:  !CFGChecksum: 563022570642068100; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6 @ fa:7 @ fb]:3:1101; CHECK:  1: 1102; CHECK:  3: 1103; CHECK:  6: 1 fa:1104; CHECK:  !CFGChecksum: 563022570642068105 106; CHECK-UNWINDER:      [0x842 @ 0x7d4 @ 0x7e0 @ 0x7ab]107; CHECK-UNWINDER-NEXT:   3108; CHECK-UNWINDER-NEXT:   7a0-7a7:1109; CHECK-UNWINDER-NEXT:   7a0-7ab:3110; CHECK-UNWINDER-NEXT:   7b2-7b5:1111; CHECK-UNWINDER-NEXT:   3112; CHECK-UNWINDER-NEXT:   7a7->7b2:1113; CHECK-UNWINDER-NEXT:   7ab->7a0:4114; CHECK-UNWINDER-NEXT:   7b5->7c0:1115; CHECK-UNWINDER-NEXT: [0x842 @ 0x7d4 @ 0x7e0 @ 0x7ab @ 0x7b5]116; CHECK-UNWINDER-NEXT:   1117; CHECK-UNWINDER-NEXT:   7c0-7d4:1118; CHECK-UNWINDER-NEXT:   1119; CHECK-UNWINDER-NEXT:   7d4->7c0:1120; CHECK-UNWINDER-NEXT: [0x842 @ 0x7d4 @ 0x7e0 @ 0x7ab @ 0x7b5 @ 0x7d4]121; CHECK-UNWINDER-NEXT:   2122; CHECK-UNWINDER-NEXT:   7c0-7cd:1123; CHECK-UNWINDER-NEXT:   7db-7e0:1124; CHECK-UNWINDER-NEXT:   2125; CHECK-UNWINDER-NEXT:   7cd->7db:1126; CHECK-UNWINDER-NEXT:   7e0->7a0:1127; CHECK-UNWINDER-NEXT: [0x842 @ 0x7d4 @ 0x7e0 @ 0x7ab @ 0x7b5 @ 0x7d4 @ 0x7e0]128; CHECK-UNWINDER-NEXT:   2129; CHECK-UNWINDER-NEXT:   7a0-7a7:1130; CHECK-UNWINDER-NEXT:   7b2-7b5:1131; CHECK-UNWINDER-NEXT:   2132; CHECK-UNWINDER-NEXT:   7a7->7b2:1133; CHECK-UNWINDER-NEXT:   7b5->7c0:1134; CHECK-UNWINDER-NEXT: [0x842 @ 0x7d4 @ 0x7e0 @ 0x7ab @ 0x7b5 @ 0x7d4 @ 0x7e0 @ 0x7b5]135; CHECK-UNWINDER-NEXT:   2136; CHECK-UNWINDER-NEXT:   7c0-7cd:2137; CHECK-UNWINDER-NEXT:   7db-7e0:1138; CHECK-UNWINDER-NEXT:   2139; CHECK-UNWINDER-NEXT:   7cd->7db:2140; CHECK-UNWINDER-NEXT:   7e0->7a0:1141; CHECK-UNWINDER-NEXT: [0x842 @ 0x7d4 @ 0x7e0 @ 0x7ab @ 0x7b5 @ 0x7d4 @ 0x7e0 @ 0x7b5 @ 0x7e0]142; CHECK-UNWINDER-NEXT:   2143; CHECK-UNWINDER-NEXT:   7a0-7a7:1144; CHECK-UNWINDER-NEXT:   7b2-7b5:1145; CHECK-UNWINDER-NEXT:   2146; CHECK-UNWINDER-NEXT:   7a7->7b2:1147; CHECK-UNWINDER-NEXT:   7b5->7c0:1148 149 150; clang -O3 -fuse-ld=lld -fpseudo-probe-for-profiling151; -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Xclang -mdisable-tail-calls152; -g test.c  -o a.out153 154#include <stdio.h>155 156int fb(int n) {157  if(n > 10) return fb(n / 2);158  return fa(n - 1);159}160 161int fa(int n) {162  if(n < 2) return n;163  if(n % 2) return fb(n - 1);164  return fa(n - 1);165}166 167void foo() {168  int s, i = 0;169  while (i++ < 10000)170    s += fa(i);171  printf("sum is %d\n", s);172}173 174int main() {175  foo();176  return 0;177}178