; Firstly test uncompression(--compress-recursion=0)
; RUN: llvm-profgen --perfscript=%S/Inputs/recursion-compression-pseudoprobe.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t --compress-recursion=0 --csprof-cold-thres=0
; RUN: FileCheck %s --input-file %t -check-prefix=CHECK-UNCOMPRESS
; RUN: llvm-profgen --perfscript=%S/Inputs/recursion-compression-pseudoprobe.perfscript --binary=%S/Inputs/recursion-compression-pseudoprobe.perfbin --output=%t --show-unwinder-output --csprof-cold-thres=0 | FileCheck %s --check-prefix=CHECK-UNWINDER
; RUN: FileCheck %s --input-file %t

; 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:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  3: 1
; CHECK-UNCOMPRESS:  5: 1
; CHECK-UNCOMPRESS:  8: 1 fa:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 120515930909
; 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:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  3: 1
; CHECK-UNCOMPRESS:  4: 1
; CHECK-UNCOMPRESS:  7: 1 fb:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 120515930909
; 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:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  3: 1
; CHECK-UNCOMPRESS:  4: 1
; CHECK-UNCOMPRESS:  7: 1 fb:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 120515930909
; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb]:3:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  2: 1
; CHECK-UNCOMPRESS:  5: 1 fb:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 72617220756
; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb]:3:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  2: 1
; CHECK-UNCOMPRESS:  5: 1 fb:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 72617220756
; 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:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  2: 1
; CHECK-UNCOMPRESS:  5: 1 fb:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 72617220756
; 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:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  3: 1
; CHECK-UNCOMPRESS:  6: 1 fa:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 72617220756
; 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:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  3: 1
; CHECK-UNCOMPRESS:  6: 1 fa:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 72617220756
; 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:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  3: 1
; CHECK-UNCOMPRESS:  6: 1 fa:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 72617220756
; 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:1
; CHECK-UNCOMPRESS:  1: 1
; CHECK-UNCOMPRESS:  3: 1
; CHECK-UNCOMPRESS:  !CFGChecksum: 120515930909
; CHECK-UNCOMPRESS: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:5 @ fb:5 @ fb:5 @ fb]:1:0
; CHECK-UNCOMPRESS:  5: 1 fb:1
; CHECK-UNCOMPRESS:  !CFGChecksum: 72617220756


; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb]:13:4
; CHECK:  1: 4
; CHECK:  2: 3
; CHECK:  3: 1
; CEHCK:  5: 4 fb:4
; CHECK:  6: 1 fa:1
; CHECK !CFGChecksum: 72617220756
; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6 @ fa]:6:2
; CHECK:  1: 2
; CHECK:  3: 2
; CHECK:  4: 1
; CHECK:  7: 1 fb:1
; CHECK:  !CFGChecksum: 120515930909
; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa]:4:1
; CHECK:  1: 1
; CHECK:  3: 1
; CHECK:  5: 1
; CHECK:  8: 1 fa:1
; CHECK:  !CFGChecksum: 120515930909
; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa]:4:1
; CHECK:  1: 1
; CHECK:  3: 1
; CHECK:  4: 1
; CHECK:  7: 1 fb:1
; CHECK:  !CFGChecksum: 120515930909
; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb]:3:1
; CHECK:  1: 1
; CHECK:  3: 1
; CHECK:  6: 1 fa:1
; CHECK:  !CFGChecksum: 72617220756
; CHECK: [main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6 @ fa:7 @ fb]:3:1
; CHECK:  1: 1
; CHECK:  3: 1
; CHECK:  6: 1 fa:1
; CHECK:  !CFGChecksum: 72617220756



; CHECK-UNWINDER: Binary(recursion-compression-pseudoprobe.perfbin)'s Range Counter:
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5
; CHECK-UNWINDER:   (7a0, 7a7): 1
; CHECK-UNWINDER:   (7a0, 7ab): 3
; CHECK-UNWINDER:   (7b2, 7b5): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6
; CHECK-UNWINDER:   (7c0, 7d4): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8
; CHECK-UNWINDER:   (7c0, 7cd): 1
; CHECK-UNWINDER:   (7db, 7e0): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7
; CHECK-UNWINDER:   (7a0, 7a7): 1
; CHECK-UNWINDER:   (7b2, 7b5): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6
; CHECK-UNWINDER:   (7c0, 7cd): 2
; CHECK-UNWINDER:   (7db, 7e0): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6 @ fa:7
; CHECK-UNWINDER:   (7a0, 7a7): 1
; CHECK-UNWINDER:   (7b2, 7b5): 1

; CHECK-UNWINDER: Binary(recursion-compression-pseudoprobe.perfbin)'s Branch Counter:
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5
; CHECK-UNWINDER:   (7a7, 7b2): 1
; CHECK-UNWINDER:   (7ab, 7a0): 4
; CHECK-UNWINDER:   (7b5, 7c0): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6
; CHECK-UNWINDER:   (7d4, 7c0): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8
; CHECK-UNWINDER:   (7cd, 7db): 1
; CHECK-UNWINDER:   (7e0, 7a0): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7
; CHECK-UNWINDER:   (7a7, 7b2): 1
; CHECK-UNWINDER:   (7b5, 7c0): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6
; CHECK-UNWINDER:   (7cd, 7db): 2
; CHECK-UNWINDER:   (7e0, 7a0): 1
; CHECK-UNWINDER: main:2 @ foo:5 @ fa:8 @ fa:7 @ fb:5 @ fb:6 @ fa:8 @ fa:7 @ fb:6 @ fa:7
; CHECK-UNWINDER:   (7a7, 7b2): 1
; CHECK-UNWINDER:   (7b5, 7c0): 1


; clang -O3 -fexperimental-new-pass-manager -fuse-ld=lld -fpseudo-probe-for-profiling
; -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Xclang -mdisable-tail-calls
; -g test.c  -o a.out

#include <stdio.h>

int fb(int n) {
  if(n > 10) return fb(n / 2);
  return fa(n - 1);
}

int fa(int n) {
  if(n < 2) return n;
  if(n % 2) return fb(n - 1);
  return fa(n - 1);
}

void foo() {
  int s, i = 0;
  while (i++ < 10000)
    s += fa(i);
  printf("sum is %d\n", s);
}

int main() {
  foo();
  return 0;
}
