[all-commits] [llvm/llvm-project] a73548: [mlgo] Hook up the interactive runner to the mlgo-...

Mircea Trofin via All-commits all-commits at lists.llvm.org
Fri Feb 3 16:23:13 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a7354899d1a235a796b3a2ccb45f6596983c8672
      https://github.com/llvm/llvm-project/commit/a7354899d1a235a796b3a2ccb45f6596983c8672
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2023-02-03 (Fri, 03 Feb 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
    M llvm/include/llvm/Analysis/InteractiveModelRunner.h
    M llvm/include/llvm/Analysis/MLModelRunner.h
    M llvm/include/llvm/Analysis/ReleaseModeModelRunner.h
    M llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
    M llvm/lib/Analysis/InlineAdvisor.cpp
    M llvm/lib/Analysis/MLInlineAdvisor.cpp
    A llvm/lib/Analysis/models/interactive_host.py
    M llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp
    M llvm/lib/CodeGen/MLRegallocPriorityAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
    A llvm/test/CodeGen/MLRegalloc/Inputs/interactive_main.py
    A llvm/test/CodeGen/MLRegalloc/interactive-mode.ll
    A llvm/test/Transforms/Inline/ML/Inputs/interactive_main.py
    A llvm/test/Transforms/Inline/ML/interactive-mode.ll

  Log Message:
  -----------
  [mlgo] Hook up the interactive runner to the mlgo-ed passes

This hooks up the interactive model runner to the passes that support
ml-based decisions. Because the interface to this runner is the exact
same as the one used during inference, we just reuse the exact same
setup we have for "release mode". This makes "release mode" a misnomer -
and that's something we needed to resolve sooner or later (e.g.
supporting more than one embedded model for the same problem was another
reason to drop that nomenclature). That will happen in a subsequent
change.

To use this evaluator, just enable the pass in (currently) "release"
mode, but also pass the base name for the 2 channel files via the
pass-specific flag.

The 2 files are the responsibilty of the hosting process. The added
tests use a minimal, toy such host, illustrating setup and
communication.

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




More information about the All-commits mailing list