brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.0 KiB · 421dfcd Raw
156 lines · plain
1; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/inline-noprobe.perfscript --binary=%S/Inputs/inline-noprobe.perfbin --output=%t --skip-symbolization2; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE3; RUN: llvm-profgen --format=text --use-dwarf-correlation --perfscript=%S/Inputs/inline-noprobe.perfscript --binary=%S/Inputs/inline-noprobe.perfbin --output=%t --skip-symbolization4; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE5; RUN: llvm-profgen --format=text --unsymbolized-profile=%t --binary=%S/Inputs/inline-noprobe.perfbin --output=%t16; RUN: FileCheck %s --input-file %t1 --check-prefix=CHECK7; RUN: llvm-profgen --format=text --unsymbolized-profile=%t --binary=%S/Inputs/inline-noprobe.perfbin --output=%t1 --update-total-samples8; RUN: FileCheck %s --input-file %t1 --check-prefix=CHECK-UPDATE-TOTAL-SAMPLE9; RUN: llvm-profgen --format=text --use-dwarf-correlation --perfscript=%S/Inputs/inline-noprobe.perfscript --binary=%S/Inputs/inline-noprobe.perfbin --output=%t10; RUN: FileCheck %s --input-file %t --check-prefix=CHECK11; RUN: llvm-profgen --format=text --use-dwarf-correlation --perfscript=%S/Inputs/inline-noprobe.perfscript --binary=%S/Inputs/inline-noprobe.perfbin --output=%t --mark-all-context-preinlined12; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-MARK-PREINLINED13 14; RUN: echo -e "0\n0" > %t15; RUN: llvm-profgen --format=text --unsymbolized-profile=%t --binary=%S/Inputs/inline-noprobe.perfbin --output=%t1 --fill-zero-for-all-funcs16; RUN: FileCheck %s --input-file %t1 --check-prefix=CHECK-ALL-ZERO17; RUN: llvm-profgen --format=text --unsymbolized-profile=%S/Inputs/out-of-bounds.raw.prof --binary=%S/Inputs/inline-noprobe.perfbin --output=%t118; RUN: FileCheck %s --input-file %t1 --check-prefix=CHECK-OB19 20CHECK:      main:2609:021CHECK-NEXT:  0: 022CHECK-NEXT:  2: 023CHECK-NEXT:  1: foo:260924CHECK-NEXT:   2.1: 4225CHECK-NEXT:   3: 6226CHECK-NEXT:   3.2: 2127CHECK-NEXT:   4: 028CHECK-NEXT:   65526: 6229CHECK-NEXT:   3.1: bar:54630CHECK-NEXT:    1: 4231CHECK-NEXT:    65533: 4232CHECK-NEXT:   3.2: bar:18933CHECK-NEXT:    1: 2134 35CHECK-MARK-PREINLINED:      main:2609:036CHECK-MARK-PREINLINED-NEXT:  0: 037CHECK-MARK-PREINLINED-NEXT:  2: 038CHECK-MARK-PREINLINED-NEXT:  1: foo:260939CHECK-MARK-PREINLINED-NEXT:   2.1: 4240CHECK-MARK-PREINLINED-NEXT:   3: 6241CHECK-MARK-PREINLINED-NEXT:   3.2: 2142CHECK-MARK-PREINLINED-NEXT:   4: 043CHECK-MARK-PREINLINED-NEXT:   65526: 6244CHECK-MARK-PREINLINED-NEXT:   3.1: bar:54645CHECK-MARK-PREINLINED-NEXT:    1: 4246CHECK-MARK-PREINLINED-NEXT:    65533: 4247CHECK-MARK-PREINLINED-NEXT:    !Attributes: 248CHECK-MARK-PREINLINED-NEXT:   3.2: bar:18949CHECK-MARK-PREINLINED-NEXT:    1: 2150CHECK-MARK-PREINLINED-NEXT:    !Attributes: 251CHECK-MARK-PREINLINED-NEXT:   !Attributes: 252CHECK-MARK-PREINLINED-NEXT:  !Attributes: 253 54CHECK-UPDATE-TOTAL-SAMPLE: main:292:055CHECK-UPDATE-TOTAL-SAMPLE:  0: 056CHECK-UPDATE-TOTAL-SAMPLE:  2: 057CHECK-UPDATE-TOTAL-SAMPLE:  1: foo:29258CHECK-UPDATE-TOTAL-SAMPLE:   2.1: 4259CHECK-UPDATE-TOTAL-SAMPLE:   3: 6260CHECK-UPDATE-TOTAL-SAMPLE:   3.2: 2161CHECK-UPDATE-TOTAL-SAMPLE:   4: 062CHECK-UPDATE-TOTAL-SAMPLE:   65526: 6263CHECK-UPDATE-TOTAL-SAMPLE:   3.1: bar:8464CHECK-UPDATE-TOTAL-SAMPLE:    1: 4265CHECK-UPDATE-TOTAL-SAMPLE:    65533: 4266CHECK-UPDATE-TOTAL-SAMPLE:   3.2: bar:2167CHECK-UPDATE-TOTAL-SAMPLE:    1: 2168 69CHECK-ALL-ZERO: bar:0:070CHECK-ALL-ZERO:  1: 071CHECK-ALL-ZERO:  5: 072CHECK-ALL-ZERO: foo:0:073CHECK-ALL-ZERO:  0: 074CHECK-ALL-ZERO:  2.1: 075CHECK-ALL-ZERO:  3: 076CHECK-ALL-ZERO:  3.2: 077CHECK-ALL-ZERO:  4: 078CHECK-ALL-ZERO:  3.1: bar:079CHECK-ALL-ZERO:   1: 080CHECK-ALL-ZERO:  3.2: bar:081CHECK-ALL-ZERO:   1: 082CHECK-ALL-ZERO:   7: 083CHECK-ALL-ZERO: main:0:084CHECK-ALL-ZERO:  0: 085CHECK-ALL-ZERO:  2: 086CHECK-ALL-ZERO:  1: foo:087CHECK-ALL-ZERO:   2.1: 088CHECK-ALL-ZERO:   3: 089CHECK-ALL-ZERO:   3.2: 090CHECK-ALL-ZERO:   4: 091CHECK-ALL-ZERO:   3.1: bar:092CHECK-ALL-ZERO:    1: 093CHECK-ALL-ZERO:   3.2: bar:094CHECK-ALL-ZERO:    1: 095 96CHECK-RAW-PROFILE:      397CHECK-RAW-PROFILE-NEXT: 650-691:2198CHECK-RAW-PROFILE-NEXT: 669-677:2099CHECK-RAW-PROFILE-NEXT: 669-691:21100CHECK-RAW-PROFILE-NEXT: 2101CHECK-RAW-PROFILE-NEXT: 677->650:21102CHECK-RAW-PROFILE-NEXT: 691->669:43103 104;CHECK-OB: foo:114:0105;CHECK-OB:  0: 1106;CHECK-OB:  2.1: 1107;CHECK-OB:  3: 1108;CHECK-OB:  3.2: 1109;CHECK-OB:  4: 1110;CHECK-OB:  3.1: bar:13111;CHECK-OB:   1: 1112;CHECK-OB:   65533: 1113;CHECK-OB:  3.2: bar:24114;CHECK-OB:   1: 1115;CHECK-OB:   7: 1116;CHECK-OB: main:100:0117;CHECK-OB:  0: 1118;CHECK-OB:  2: 1119;CHECK-OB:  1: foo:80120;CHECK-OB:   2.1: 1121;CHECK-OB:   3: 1122;CHECK-OB:   3.2: 1123;CHECK-OB:   4: 1124;CHECK-OB:   65526: 1125;CHECK-OB:   3.1: bar:13126;CHECK-OB:    1: 1127;CHECK-OB:    65533: 1128;CHECK-OB:   3.2: bar:9129;CHECK-OB:    1: 1130;CHECK-OB: bar:14:0131;CHECK-OB:  1: 1132;CHECK-OB:  5: 1133 134; original code:135; clang -O3 -g -fdebug-info-for-profiling test.c -o a.out136#include <stdio.h>137 138int bar(int x, int y) {139  if (x % 2) {140    return x - y;141  }142  return x + y;143}144 145void foo() {146  int s, i = 0;147  while (i++ < 4000 * 4000)148    if (i % 3) s = bar(i, s); else s += bar(s, i);149  printf("sum is %d\n", s);150}151 152int main() {153  foo();154  return 0;155}156