[all-commits] [llvm/llvm-project] 70f8d0: [llvm] Development-mode InlineAdvisor

Mircea Trofin via All-commits all-commits at lists.llvm.org
Mon Jul 20 11:02:24 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 70f8d0ac8a34d7a611db14d0662737ba1c3a3273
      https://github.com/llvm/llvm-project/commit/70f8d0ac8a34d7a611db14d0662737ba1c3a3273
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2020-07-20 (Mon, 20 Jul 2020)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineAdvisor.h
    M llvm/lib/Analysis/CMakeLists.txt
    A llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
    M llvm/lib/Analysis/InlineAdvisor.cpp
    M llvm/test/Bindings/Go/lit.local.cfg
    A llvm/test/Transforms/Inline/ML/bounds-checks-rewards.ll
    A llvm/test/Transforms/Inline/ML/development-training-log.ll
    A llvm/test/Transforms/Inline/ML/ml-test-development-mode.ll
    M llvm/test/Transforms/Inline/inlining-advisor-default.ll

  Log Message:
  -----------
  [llvm] Development-mode InlineAdvisor

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




More information about the All-commits mailing list