File: llvm-ctxprof-util.test

package info (click to toggle)
llvm-toolchain-20 1%3A20.1.8-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,111,696 kB
  • sloc: cpp: 7,438,781; ansic: 1,393,871; asm: 1,012,926; python: 241,771; f90: 86,635; objc: 75,411; lisp: 42,144; pascal: 17,286; sh: 8,596; ml: 5,082; perl: 4,730; makefile: 3,591; awk: 3,523; javascript: 2,251; xml: 892; fortran: 672
file content (50 lines) | stat: -rw-r--r-- 2,088 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
; REQUIRES: x86_64-linux

; RUN: mkdir -p %t
; RUN: llvm-ctxprof-util fromYAML --input %S/Inputs/empty.yaml -output %t/empty.bitstream
; RUN: llvm-bcanalyzer --dump %t/empty.bitstream | FileCheck %s --check-prefix=EMPTY

; RUN: llvm-ctxprof-util fromYAML -input %S/Inputs/valid.yaml -output %t/valid.bitstream
; RUN: llvm-ctxprof-util toYAML -input %t/valid.bitstream -output %t/valid2.yaml
; RUN: diff %t/valid2.yaml %S/Inputs/valid.yaml

; For the valid case, check against a reference output.
; Note that uint64_t are printed as signed values by llvm-bcanalyzer:
;  * 18446744073709551613 in yaml is -3 in the output
;  * 18446744073709551612 in yaml is -4 in the output
; Also we have no callee/context at index 0, 2 callsites for index 1, and one for
; index 2.
; RUN: llvm-bcanalyzer --dump %t/valid.bitstream | FileCheck %s --check-prefix=VALID

; EMPTY: <BLOCKINFO_BLOCK/>
; EMPTY-NEXT: <Metadata NumWords=1 BlockCodeSize=2>
; EMPTY-NEXT:   <Version op0=1/>
; EMPTY-NEXT: </Metadata>

; VALID:      <BLOCKINFO_BLOCK/>
; VALID-NEXT: <Metadata NumWords=30 BlockCodeSize=2>
; VALID-NEXT:   <Version op0=1/>
; VALID-NEXT:   <Context NumWords=20 BlockCodeSize=2>
; VALID-NEXT:     <GUID op0=1000/>
; VALID-NEXT:     <Counters op0=1 op1=2 op2=3/>
; VALID-NEXT:     <Context NumWords=5 BlockCodeSize=2>
; VALID-NEXT:       <GUID op0=-3/>
; VALID-NEXT:       <CalleeIndex op0=1/>
; VALID-NEXT:       <Counters op0=6 op1=7 op2=8/>
; VALID-NEXT:     </Context>
; VALID-NEXT:     <Context NumWords=3 BlockCodeSize=2>
; VALID-NEXT:       <GUID op0=2000/>
; VALID-NEXT:       <CalleeIndex op0=1/>
; VALID-NEXT:       <Counters op0=4 op1=5/>
; VALID-NEXT:     </Context>
; VALID-NEXT:     <Context NumWords=3 BlockCodeSize=2>
; VALID-NEXT:       <GUID op0=3000/>
; VALID-NEXT:       <CalleeIndex op0=2/>
; VALID-NEXT:       <Counters op0=40 op1=50/>
; VALID-NEXT:     </Context>
; VALID-NEXT:   </Context>
; VALID-NEXT:   <Context NumWords=4 BlockCodeSize=2>
; VALID-NEXT:     <GUID op0=-4/>
; VALID-NEXT:     <Counters op0=5 op1=9 op2=10/>
; VALID-NEXT:   </Context>
; VALID-NEXT: </Metadata>