45 lines · plain
1; REQUIRES: x86_64-linux2; RUN: rm -rf %t.rundir3; RUN: rm -rf %t.channel-basename.*4; RUN: mkdir %t.rundir5; RUN: cp %S/../../../../lib/Analysis/models/log_reader.py %t.rundir6; RUN: cp %S/../../../../lib/Analysis/models/interactive_host.py %t.rundir7; RUN: cp %S/Inputs/interactive_main.py %t.rundir8; RUN: %python %t.rundir/interactive_main.py %t.channel-basename \9; RUN: opt -passes=scc-oz-module-inliner -interactive-model-runner-echo-reply \10; RUN: -enable-ml-inliner=release -inliner-interactive-channel-base=%t.channel-basename %S/Inputs/test-module.ll -S -o /dev/null | FileCheck %s11; RUN: %python %t.rundir/interactive_main.py %t.channel-basename \12; RUN: opt -passes=scc-oz-module-inliner -interactive-model-runner-echo-reply \13; RUN: -inliner-interactive-include-default -enable-ml-inliner=release \14; RUN: -inliner-interactive-channel-base=%t.channel-basename %S/Inputs/test-module.ll -S -o /dev/null | FileCheck %s -check-prefixes=CHECK,CHECK-DEFAULT15 16 17;; It'd be nice if we had stdout and stderr interleaved, but we don't, so18;; let's just check the features have non-zero values, and that we see as many19;; advices as observations, and that the advices flip-flop as intended.20; CHECK: context:21; CHECK-NEXT: observation: 022; CHECK-NEXT: sroa_savings: 023; CHECK: unsimplified_common_instructions: 524; CHECK: callee_users: 325; CHECK-DEFAULT: inlining_default: 126; CHECK: observation: 127; CHECK: callee_basic_block_count: 528; CHECK-DEFAULT: inlining_default: 029; CHECK: observation: 230; CHECK-DEFAULT: inlining_default: 131; CHECK: observation: 332; CHECK: callee_basic_block_count: 133; CHECK-DEFAULT: inlining_default: 034; CHECK: observation: 435; CHECK-DEFAULT: inlining_default: 136; CHECK: observation: 537; CHECK-DEFAULT: inlining_default: 138 39; CHECK: inlining_decision: 140; CHECK-NEXT: inlining_decision: 041; CHECK-NEXT: inlining_decision: 142; CHECK-NEXT: inlining_decision: 043; CHECK-NEXT: inlining_decision: 144; CHECK-NEXT: inlining_decision: 045