165b40f27SMatt Arsenault; REQUIRES: have_tflite 265b40f27SMatt Arsenault; REQUIRES: x86_64-linux 365b40f27SMatt Arsenault; 465b40f27SMatt Arsenault; Check that we log correctly, both with a learned policy, and the default policy 565b40f27SMatt Arsenault; 665b40f27SMatt Arsenault; RUN: llc -o /dev/null -mtriple=x86_64-linux-unknown -regalloc=greedy \ 765b40f27SMatt Arsenault; RUN: -regalloc-enable-advisor=development -regalloc-training-log=%t1 < %S/Inputs/input.ll 865b40f27SMatt Arsenault; RUN: %python %S/../../../lib/Analysis/models/log_reader.py %t1 > %t1.readable 965b40f27SMatt Arsenault; RUN: FileCheck --input-file %t1.readable %s --check-prefixes=CHECK,NOML 1065b40f27SMatt Arsenault; RUN: diff %t1.readable %S/Inputs/reference-log-noml.txt 1165b40f27SMatt Arsenault 1265b40f27SMatt Arsenault; RUN: rm -rf %t_savedmodel %t 1365b40f27SMatt Arsenault; RUN: %python %S/../../../lib/Analysis/models/gen-regalloc-eviction-test-model.py %t_savedmodel 1465b40f27SMatt Arsenault; RUN: %python %S/../../../lib/Analysis/models/saved-model-to-tflite.py %t_savedmodel %t 1565b40f27SMatt Arsenault; RUN: llc -o /dev/null -mtriple=x86_64-linux-unknown -regalloc=greedy \ 1665b40f27SMatt Arsenault; RUN: -regalloc-enable-advisor=development -regalloc-training-log=%t2 \ 1765b40f27SMatt Arsenault; RUN: -regalloc-model=%t < %S/Inputs/input.ll 1865b40f27SMatt Arsenault; RUN: %python %S/../../../lib/Analysis/models/log_reader.py %t2 > %t2.readable 1965b40f27SMatt Arsenault; RUN: FileCheck --input-file %t2.readable %s --check-prefixes=CHECK,ML 2065b40f27SMatt Arsenault 2165b40f27SMatt Arsenault; RUN: llc -o /dev/null -mtriple=x86_64-linux-unknown -regalloc=greedy \ 2265b40f27SMatt Arsenault; RUN: -regalloc-enable-advisor=development -regalloc-training-log=%t3.log < %S/Inputs/two-large-fcts.ll 2365b40f27SMatt Arsenault; RUN: %python %S/../../../lib/Analysis/models/log_reader.py %t3.log | FileCheck %s --check-prefixes=CHECK-TWO-FCTS 2465b40f27SMatt Arsenault 2565b40f27SMatt Arsenault; CHECK-NOT: nan 2665b40f27SMatt Arsenault; CHECK-LABEL: context: SyFgets 2765b40f27SMatt Arsenault; CHECK-NEXT: observation: 0 2865b40f27SMatt Arsenault; ML: index_to_evict: 9 29c1f8fdbbSMircea Trofin; NOML: index_to_evict: 11 3065b40f27SMatt Arsenault; CHECK-NEXT: reward: 0 3165b40f27SMatt Arsenault; CHECK-NEXT: observation: 1 3265b40f27SMatt Arsenault; CHECK-NEXT: mask: 33c1f8fdbbSMircea Trofin; NOML: observation: 17 3465b40f27SMatt Arsenault; ML: observation: 83 35*0af95c32SMircea Trofin; ML: reward: 38.42 36*0af95c32SMircea Trofin; NOML: reward: 37.06 3765b40f27SMatt Arsenault 3865b40f27SMatt Arsenault 3965b40f27SMatt Arsenault; CHECK-TWO-FCTS: context: SyFgets 4065b40f27SMatt Arsenault; CHECK-TWO-FCTS-NEXT: observation: 0 4165b40f27SMatt Arsenault; 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 42c1f8fdbbSMircea Trofin; CHECK-TWO-FCTS: index_to_evict: 11 43c1f8fdbbSMircea Trofin; CHECK-TWO-FCTS: observation: 17 44*0af95c32SMircea Trofin; CHECK-TWO-FCTS: reward: 37.06 4565b40f27SMatt Arsenault; CHECK-TWO-FCTS: context: SyFgetsCopy 4665b40f27SMatt Arsenault; CHECK-TWO-FCTS-NEXT: observation: 0 4765b40f27SMatt Arsenault; 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 48c1f8fdbbSMircea Trofin; CHECK-TWO-FCTS: index_to_evict: 11 49c1f8fdbbSMircea Trofin; CHECK-TWO-FCTS: observation: 17 50*0af95c32SMircea Trofin; CHECK-TWO-FCTS: reward: 37.06 51