[all-commits] [llvm/llvm-project] e67430: [MLGO] ML Regalloc Eviction Advisor

Mircea Trofin via All-commits all-commits at lists.llvm.org
Wed Jan 19 11:00:48 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e67430cca40455d31b95b088a88fa3b16a37ea34
      https://github.com/llvm/llvm-project/commit/e67430cca40455d31b95b088a88fa3b16a37ea34
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2022-01-19 (Wed, 19 Jan 2022)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/InitializePasses.h
    A llvm/lib/Analysis/models/gen-regalloc-eviction-test-model.py
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    A llvm/test/CodeGen/MLRegalloc/Inputs/input.ll
    A llvm/test/CodeGen/MLRegalloc/dev-mode-log-2-fcts.ll
    A llvm/test/CodeGen/MLRegalloc/dev-mode-logging.ll
    A llvm/test/CodeGen/MLRegalloc/dev-rel-equivalence.ll
    A llvm/test/CodeGen/MLRegalloc/rel-codepath.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll

  Log Message:
  -----------
  [MLGO] ML Regalloc Eviction Advisor

The bulk of the implementation is common between 'release' mode (==AOT-ed
model) and 'development' mode (for training), the main difference is
that in development mode, we may also log features (for training logs),
inject scoring information (currently after the Virtual Register
Rewriter) and then produce the log file.

This patch also introduces the score injection pass, 'Register
Allocation Pass Scoring', which is trivially just logging the score in
development mode.

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




More information about the All-commits mailing list