1; REQUIRES: x86_64-linux 2 3; RUN: mkdir -p %t 4; RUN: llvm-ctxprof-util fromYAML --input %S/Inputs/empty.yaml -output %t/empty.bitstream 5; RUN: llvm-bcanalyzer --dump %t/empty.bitstream | FileCheck %s --check-prefix=EMPTY 6 7; RUN: llvm-ctxprof-util fromYAML -input %S/Inputs/valid.yaml -output %t/valid.bitstream 8; RUN: llvm-ctxprof-util toYAML -input %t/valid.bitstream -output %t/valid2.yaml 9; RUN: diff %t/valid2.yaml %S/Inputs/valid.yaml 10 11; For the valid case, check against a reference output. 12; Note that uint64_t are printed as signed values by llvm-bcanalyzer: 13; * 18446744073709551613 in yaml is -3 in the output 14; * 18446744073709551612 in yaml is -4 in the output 15; Also we have no callee/context at index 0, 2 callsites for index 1, and one for 16; index 2. 17; RUN: llvm-bcanalyzer --dump %t/valid.bitstream | FileCheck %s --check-prefix=VALID 18 19; EMPTY: <BLOCKINFO_BLOCK/> 20; EMPTY-NEXT: <Metadata NumWords=1 BlockCodeSize=2> 21; EMPTY-NEXT: <Version op0=1/> 22; EMPTY-NEXT: </Metadata> 23 24; VALID: <BLOCKINFO_BLOCK/> 25; VALID-NEXT: <Metadata NumWords=30 BlockCodeSize=2> 26; VALID-NEXT: <Version op0=1/> 27; VALID-NEXT: <Context NumWords=20 BlockCodeSize=2> 28; VALID-NEXT: <GUID op0=1000/> 29; VALID-NEXT: <Counters op0=1 op1=2 op2=3/> 30; VALID-NEXT: <Context NumWords=5 BlockCodeSize=2> 31; VALID-NEXT: <GUID op0=-3/> 32; VALID-NEXT: <CalleeIndex op0=1/> 33; VALID-NEXT: <Counters op0=6 op1=7 op2=8/> 34; VALID-NEXT: </Context> 35; VALID-NEXT: <Context NumWords=3 BlockCodeSize=2> 36; VALID-NEXT: <GUID op0=2000/> 37; VALID-NEXT: <CalleeIndex op0=1/> 38; VALID-NEXT: <Counters op0=4 op1=5/> 39; VALID-NEXT: </Context> 40; VALID-NEXT: <Context NumWords=3 BlockCodeSize=2> 41; VALID-NEXT: <GUID op0=3000/> 42; VALID-NEXT: <CalleeIndex op0=2/> 43; VALID-NEXT: <Counters op0=40 op1=50/> 44; VALID-NEXT: </Context> 45; VALID-NEXT: </Context> 46; VALID-NEXT: <Context NumWords=4 BlockCodeSize=2> 47; VALID-NEXT: <GUID op0=-4/> 48; VALID-NEXT: <Counters op0=5 op1=9 op2=10/> 49; VALID-NEXT: </Context> 50; VALID-NEXT: </Metadata> 51