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