brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.9 KiB · 19e1da1 Raw
128 lines · plain
1; Used the data from recursion-compression.test, refer it for the unmerged output2; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/recursion-compression-pseudoprobe.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t1 --compress-recursion=-1 --profile-summary-hot-count=8 --csspgo-preinliner=0 --gen-cs-nested-profile=03; RUN: FileCheck %s --input-file %t14 5; Test --trim-cold-profile=06; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/recursion-compression-pseudoprobe.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t2 --compress-recursion=-1 --profile-summary-hot-count=100 --trim-cold-profile=0 --csspgo-preinliner=0 --gen-cs-nested-profile=07; RUN: FileCheck %s --input-file %t2 --check-prefix=CHECK-KEEP-COLD8 9; Test --csprof-merge-cold-context=010; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/recursion-compression-pseudoprobe.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t3 --compress-recursion=-1 --profile-summary-hot-count=10 --csprof-merge-cold-context=0 --csspgo-preinliner=0 --gen-cs-nested-profile=011; RUN: FileCheck %s --input-file %t3 --check-prefix=CHECK-UNMERGED12 13; Test --csprof-frame-depth-for-cold-context14; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/recursion-compression-pseudoprobe.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t2 --compress-recursion=-1 --profile-summary-hot-count=100 --trim-cold-profile=0 --csprof-max-cold-context-depth=2 --csspgo-preinliner=0 --gen-cs-nested-profile=015; RUN: FileCheck %s --input-file %t2 --check-prefix=CHECK-COLD-CONTEXT-LENGTH16 17; CHECK:     [fa]:14:418; CHECK-NEXT: 1: 419; CHECK-NEXT: 3: 420; CHECK-NEXT: 4: 221; CHECK-NEXT: 5: 122; CHECK-NEXT: 6: 023; CHECK-NEXT: 7: 2 fb:224; CHECK-NEXT: 8: 1 fa:125; CHECK-NEXT: !CFGChecksum: 56307046935222126; CHECK-NEXT:[main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb]:13:427; CHECK-NEXT: 1: 428; CHECK-NEXT: 2: 329; CHECK-NEXT: 3: 130; CHECK-NEXT: 4: 031; CHECK-NEXT: 5: 4 fb:432; CHECK-NEXT: 6: 1 fa:133; CHECK-NEXT: !CFGChecksum: 56302257064206834 35; CHECK-KEEP-COLD:     [fb]:19:636; CHECK-KEEP-COLD-NEXT: 1: 637; CHECK-KEEP-COLD-NEXT: 2: 338; CHECK-KEEP-COLD-NEXT: 3: 339; CHECK-KEEP-COLD-NEXT: 4: 040; CHECK-KEEP-COLD-NEXT: 5: 4 fb:441; CHECK-KEEP-COLD-NEXT: 6: 3 fa:342; CHECK-KEEP-COLD-NEXT: !CFGChecksum: 56302257064206843; CHECK-KEEP-COLD-NEXT:[fa]:14:444; CHECK-KEEP-COLD-NEXT: 1: 445; CHECK-KEEP-COLD-NEXT: 3: 446; CHECK-KEEP-COLD-NEXT: 4: 247; CHECK-KEEP-COLD-NEXT: 5: 148; CHECK-KEEP-COLD-NEXT: 6: 049; CHECK-KEEP-COLD-NEXT: 7: 2 fb:250; CHECK-KEEP-COLD-NEXT: 8: 1 fa:151; CHECK-KEEP-COLD-NEXT: !CFGChecksum: 56307046935222152 53; CHECK-UNMERGED:     [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb]:13:454; CHECK-UNMERGED-NEXT: 1: 455; CHECK-UNMERGED-NEXT: 2: 356; CHECK-UNMERGED-NEXT: 3: 157; CHECK-UNMERGED-NEXT: 4: 058; CHECK-UNMERGED-NEXT: 5: 4 fb:459; CHECK-UNMERGED-NEXT: 6: 1 fa:160; CHECK-UNMERGED-NEXT: !CFGChecksum: 56302257064206861; CHECK-UNMERGED-NOT: [fa]62; CHECK-UNMERGED-NOT: [fb]63 64; CHECK-COLD-CONTEXT-LENGTH:     [fb:5 @ fb]:13:465; CHECK-COLD-CONTEXT-LENGTH-NEXT: 1: 466; CHECK-COLD-CONTEXT-LENGTH-NEXT: 2: 367; CHECK-COLD-CONTEXT-LENGTH-NEXT: 3: 168; CHECK-COLD-CONTEXT-LENGTH-NEXT: 4: 069; CHECK-COLD-CONTEXT-LENGTH-NEXT: 5: 4 fb:470; CHECK-COLD-CONTEXT-LENGTH-NEXT: 6: 1 fa:171; CHECK-COLD-CONTEXT-LENGTH-NEXT: !CFGChecksum: 56302257064206872; CHECK-COLD-CONTEXT-LENGTH-NEXT:[fb:6 @ fa]:10:373; CHECK-COLD-CONTEXT-LENGTH-NEXT: 1: 374; CHECK-COLD-CONTEXT-LENGTH-NEXT: 3: 375; CHECK-COLD-CONTEXT-LENGTH-NEXT: 4: 176; CHECK-COLD-CONTEXT-LENGTH-NEXT: 5: 177; CHECK-COLD-CONTEXT-LENGTH-NEXT: 6: 078; CHECK-COLD-CONTEXT-LENGTH-NEXT: 7: 1 fb:179; CHECK-COLD-CONTEXT-LENGTH-NEXT: 8: 1 fa:180; CHECK-COLD-CONTEXT-LENGTH-NEXT: !CFGChecksum: 56307046935222181; CHECK-COLD-CONTEXT-LENGTH-NEXT:[fa:7 @ fb]:6:282; CHECK-COLD-CONTEXT-LENGTH-NEXT: 1: 283; CHECK-COLD-CONTEXT-LENGTH-NEXT: 2: 084; CHECK-COLD-CONTEXT-LENGTH-NEXT: 3: 285; CHECK-COLD-CONTEXT-LENGTH-NEXT: 4: 086; CHECK-COLD-CONTEXT-LENGTH-NEXT: 5: 087; CHECK-COLD-CONTEXT-LENGTH-NEXT: 6: 2 fa:288; CHECK-COLD-CONTEXT-LENGTH-NEXT: !CFGChecksum: 56302257064206889; CHECK-COLD-CONTEXT-LENGTH-NEXT:[fa:8 @ fa]:4:190; CHECK-COLD-CONTEXT-LENGTH-NEXT: 1: 191; CHECK-COLD-CONTEXT-LENGTH-NEXT: 3: 192; CHECK-COLD-CONTEXT-LENGTH-NEXT: 4: 193; CHECK-COLD-CONTEXT-LENGTH-NEXT: 5: 094; CHECK-COLD-CONTEXT-LENGTH-NEXT: 6: 095; CHECK-COLD-CONTEXT-LENGTH-NEXT: 7: 1 fb:196; CHECK-COLD-CONTEXT-LENGTH-NEXT: 8: 097; CHECK-COLD-CONTEXT-LENGTH-NEXT: !CFGChecksum: 56307046935222198 99; clang -O3 -fuse-ld=lld -fpseudo-probe-for-profiling100; -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Xclang -mdisable-tail-calls101; -g test.c  -o a.out102 103; Copied from recursion-compression.test104#include <stdio.h>105 106int fb(int n) {107  if(n > 10) return fb(n / 2);108  return fa(n - 1);109}110 111int fa(int n) {112  if(n < 2) return n;113  if(n % 2) return fb(n - 1);114  return fa(n - 1);115}116 117void foo() {118  int s, i = 0;119  while (i++ < 10000)120    s += fa(i);121  printf("sum is %d\n", s);122}123 124int main() {125  foo();126  return 0;127}128