[all-commits] [llvm/llvm-project] 628414: [llvm] Added support for stand-alone cmake object ...

Mircea Trofin via All-commits all-commits at lists.llvm.org
Wed Jun 24 08:20:10 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 62841415e685fe8857f75edd1fa92b7d1d08b875
      https://github.com/llvm/llvm-project/commit/62841415e685fe8857f75edd1fa92b7d1d08b875
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2020-06-24 (Wed, 24 Jun 2020)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  [llvm] Added support for stand-alone cmake object libraries.

Summary:
Currently, add_llvm_library would create an OBJECT library alongside
of a STATIC / SHARED library, but losing the link interface (its
elements would become dependencies instead). To support scenarios
where linking an object library also brings in its usage
requirements, this patch adds support for 'stand-alone' OBJECT
libraries - i.e. without an accompanying SHARED/STATIC library, and
maintaining the link interface defined by the user.

This is useful for cases where, for example, we want to build a part
of a component separately. Using a STATIC target would incur the risk
that symbols not referenced in the consumer would be dropped (which may
be undesirable).

The current application is the ML part of Analysis. It should be part
of the Analysis component, so it may reference other analyses; and (in
upcoming changes) it has dependencies on optional libraries.

Reviewers: karies, davidxl, beanz, phosek, smeenai

Subscribers: mgorny, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81447


  Commit: bdceefe95ba6a3057947705ae7a48bfcbaed2f64
      https://github.com/llvm/llvm-project/commit/bdceefe95ba6a3057947705ae7a48bfcbaed2f64
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2020-06-24 (Wed, 24 Jun 2020)

  Changed paths:
    M llvm/CMakeLists.txt
    A llvm/cmake/modules/TensorFlowCompile.cmake
    M llvm/include/llvm/Analysis/InlineAdvisor.h
    A llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
    A llvm/include/llvm/Analysis/MLInlineAdvisor.h
    A llvm/include/llvm/Analysis/MLModelRunner.h
    M llvm/lib/Analysis/CMakeLists.txt
    M llvm/lib/Analysis/InlineAdvisor.cpp
    A llvm/lib/Analysis/MLInlineAdvisor.cpp
    A llvm/lib/Analysis/ReleaseModeModelRunner.cpp
    A llvm/lib/Analysis/models/inliner/saved_model.pb
    A llvm/lib/Analysis/models/inliner/variables/variables.data-00000-of-00002
    A llvm/lib/Analysis/models/inliner/variables/variables.data-00001-of-00002
    A llvm/lib/Analysis/models/inliner/variables/variables.index
    M llvm/test/Bindings/Go/lit.local.cfg
    A llvm/test/Transforms/Inline/ML/Inputs/test-module.ll
    A llvm/test/Transforms/Inline/ML/bounds-checks.ll
    A llvm/test/Transforms/Inline/ML/ml-test-release-mode.ll
    M llvm/test/Transforms/Inline/inlining-advisor-default.ll
    M llvm/test/lit.cfg.py
    M llvm/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [llvm] Release-mode ML InlineAdvisor

Summary:
This implementation uses a pre-trained model which is statically
compiled into a native function.

RFC: http://lists.llvm.org/pipermail/llvm-dev/2020-April/140763.html

Reviewers: davidxl, jdoerfert, dblaikie

Subscribers: mgorny, eraman, hiraditya, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81515


Compare: https://github.com/llvm/llvm-project/compare/a0f967418f9e...bdceefe95ba6


More information about the All-commits mailing list