xref: /llvm-project/llvm/test/Transforms/Inline/ML/interactive-mode.ll (revision ab2e7666c20d00a43b958e91c24991c973c81393)
1445ea1e7SMircea Trofin; REQUIRES: x86_64-linux
25fd51fcbSMircea Trofin; RUN: rm -rf %t.rundir
35fd51fcbSMircea Trofin; RUN: rm -rf %t.channel-basename.*
45fd51fcbSMircea Trofin; RUN: mkdir %t.rundir
55fd51fcbSMircea Trofin; RUN: cp %S/../../../../lib/Analysis/models/log_reader.py %t.rundir
65fd51fcbSMircea Trofin; RUN: cp %S/../../../../lib/Analysis/models/interactive_host.py %t.rundir
75fd51fcbSMircea Trofin; RUN: cp %S/Inputs/interactive_main.py %t.rundir
85fd51fcbSMircea Trofin; RUN: %python %t.rundir/interactive_main.py %t.channel-basename \
95fd51fcbSMircea Trofin; RUN:    opt -passes=scc-oz-module-inliner -interactive-model-runner-echo-reply \
10*ab2e7666SMircea Trofin; RUN:    -enable-ml-inliner=release -inliner-interactive-channel-base=%t.channel-basename %S/Inputs/test-module.ll -S -o /dev/null | FileCheck %s
11*ab2e7666SMircea Trofin; RUN: %python %t.rundir/interactive_main.py %t.channel-basename \
12*ab2e7666SMircea Trofin; RUN:    opt -passes=scc-oz-module-inliner -interactive-model-runner-echo-reply \
13*ab2e7666SMircea Trofin; RUN:    -inliner-interactive-include-default -enable-ml-inliner=release \
14*ab2e7666SMircea Trofin; RUN:    -inliner-interactive-channel-base=%t.channel-basename %S/Inputs/test-module.ll -S -o /dev/null | FileCheck %s -check-prefixes=CHECK,CHECK-DEFAULT
15*ab2e7666SMircea Trofin
165fd51fcbSMircea Trofin
175fd51fcbSMircea Trofin;; It'd be nice if we had stdout and stderr interleaved, but we don't, so
185fd51fcbSMircea Trofin;; let's just check the features have non-zero values, and that we see as many
195fd51fcbSMircea Trofin;; advices as observations, and that the advices flip-flop as intended.
205fd51fcbSMircea Trofin; CHECK: context:
215fd51fcbSMircea Trofin; CHECK-NEXT: observation: 0
225fd51fcbSMircea Trofin; CHECK-NEXT: sroa_savings: 0
235fd51fcbSMircea Trofin; CHECK:      unsimplified_common_instructions: 5
245fd51fcbSMircea Trofin; CHECK:      callee_users: 3
25*ab2e7666SMircea Trofin; CHECK-DEFAULT: inlining_default: 0
265fd51fcbSMircea Trofin; CHECK:      observation: 5
275fd51fcbSMircea Trofin; CHECK-NOT:  observation: 6
285fd51fcbSMircea Trofin
295fd51fcbSMircea Trofin; CHECK:      inlining_decision: 1
305fd51fcbSMircea Trofin; CHECK-NEXT: inlining_decision: 0
315fd51fcbSMircea Trofin; CHECK-NEXT: inlining_decision: 1
325fd51fcbSMircea Trofin; CHECK-NEXT: inlining_decision: 0
335fd51fcbSMircea Trofin; CHECK-NEXT: inlining_decision: 1
345fd51fcbSMircea Trofin; CHECK-NEXT: inlining_decision: 0
35