Summary: This is the InlineAdvisor used in 'development' mode. It enables two scenarios: - loading models via a command-line parameter, thus allowing for rapid training iteration, where models can be used for the next exploration phase without requiring recompiling the compiler. This trades off some compilation speed for the added flexibility. - collecting training logs, in the form of tensorflow.SequenceExample protobufs. We generate these as textual protobufs, which simplifies generation and testing. The protobufs may then be readily consumed by a tensorflow-based training algorithm. To speed up training, training logs may also be collected from the 'default' training policy. In that case, this InlineAdvisor does not use a model. RFC: http://lists.llvm.org/pipermail/llvm-dev/2020-April/140763.html Reviewers: jdoerfert, davidxl Subscribers: mgorny, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83733
11 lines
754 B
LLVM
11 lines
754 B
LLVM
; The default inliner doesn't elide @adder, it believes it's too costly to inline
|
|
; adder into switcher. The ML inliner carries out that inlining, resulting in
|
|
; a smaller result (part of it is that adder gets elided).
|
|
;
|
|
; This test uses Inputs/test-module.ll, as it shares it with a similar test
|
|
; for the 'release' mode.
|
|
;
|
|
; REQUIRES: have_tf_api
|
|
; RUN: opt -passes=scc-oz-module-inliner -enable-ml-inliner=default -S < %S/Inputs/test-module.ll 2>&1 | FileCheck %S/Inputs/test-module.ll --check-prefix=DEFAULT
|
|
; RUN: opt -passes=scc-oz-module-inliner -enable-ml-inliner=development -ml-inliner-model-under-training=%S/../../../../lib/Analysis/models/inliner -S < %S/Inputs/test-module.ll 2>&1 | FileCheck %S/Inputs/test-module.ll --check-prefix=CHECK
|