[PATCH] D83733: [llvm] Development-mode InlineAdvisor

Mircea Trofin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 13 17:37:08 PDT 2020


mtrofin created this revision.
mtrofin added reviewers: jdoerfert, davidxl.
Herald added subscribers: llvm-commits, hiraditya, mgorny.
Herald added a project: LLVM.

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D83733

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83733.277626.patch
Type: text/x-patch
Size: 25948 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200714/2e685324/attachment.bin>


More information about the llvm-commits mailing list