xref: /llvm-project/llvm/test/CodeGen/MLRegAlloc/dev-mode-logging.ll (revision 0af95c32625c8d487b713270d9ca2db7870ca873)
1; REQUIRES: have_tflite
2; REQUIRES: x86_64-linux
3;
4; Check that we log correctly, both with a learned policy, and the default policy
5;
6; RUN: llc -o /dev/null -mtriple=x86_64-linux-unknown -regalloc=greedy \
7; RUN:   -regalloc-enable-advisor=development -regalloc-training-log=%t1 < %S/Inputs/input.ll
8; RUN: %python %S/../../../lib/Analysis/models/log_reader.py %t1 > %t1.readable
9; RUN: FileCheck --input-file %t1.readable %s --check-prefixes=CHECK,NOML
10; RUN: diff %t1.readable %S/Inputs/reference-log-noml.txt
11
12; RUN: rm -rf %t_savedmodel %t
13; RUN: %python %S/../../../lib/Analysis/models/gen-regalloc-eviction-test-model.py %t_savedmodel
14; RUN: %python %S/../../../lib/Analysis/models/saved-model-to-tflite.py %t_savedmodel %t
15; RUN: llc -o /dev/null -mtriple=x86_64-linux-unknown -regalloc=greedy \
16; RUN:   -regalloc-enable-advisor=development -regalloc-training-log=%t2 \
17; RUN:   -regalloc-model=%t < %S/Inputs/input.ll
18; RUN: %python %S/../../../lib/Analysis/models/log_reader.py %t2 > %t2.readable
19; RUN: FileCheck --input-file %t2.readable %s --check-prefixes=CHECK,ML
20
21; RUN: llc -o /dev/null -mtriple=x86_64-linux-unknown -regalloc=greedy \
22; RUN:   -regalloc-enable-advisor=development -regalloc-training-log=%t3.log < %S/Inputs/two-large-fcts.ll
23; RUN: %python %S/../../../lib/Analysis/models/log_reader.py %t3.log | FileCheck %s --check-prefixes=CHECK-TWO-FCTS
24
25; CHECK-NOT: nan
26; CHECK-LABEL: context: SyFgets
27; CHECK-NEXT: observation: 0
28; ML: index_to_evict: 9
29; NOML: index_to_evict: 11
30; CHECK-NEXT: reward: 0
31; CHECK-NEXT: observation: 1
32; CHECK-NEXT: mask:
33; NOML:      observation: 17
34; ML:      observation: 83
35; ML: reward: 38.42
36; NOML: reward: 37.06
37
38
39; CHECK-TWO-FCTS: context: SyFgets
40; CHECK-TWO-FCTS-NEXT: observation: 0
41; CHECK-TWO-FCTS-NEXT: mask: 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
42; CHECK-TWO-FCTS: index_to_evict: 11
43; CHECK-TWO-FCTS: observation: 17
44; CHECK-TWO-FCTS: reward: 37.06
45; CHECK-TWO-FCTS: context: SyFgetsCopy
46; CHECK-TWO-FCTS-NEXT: observation: 0
47; CHECK-TWO-FCTS-NEXT: mask: 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
48; CHECK-TWO-FCTS: index_to_evict: 11
49; CHECK-TWO-FCTS: observation: 17
50; CHECK-TWO-FCTS: reward: 37.06
51