[all-commits] [llvm/llvm-project] 519b53: [CodeGen][NewPM] Port RegAllocEvictionAdvisor anal...

Akshat Oke via All-commits all-commits at lists.llvm.org
Tue Feb 18 03:55:29 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 519b53e65ef6ad5385d80d0726e48bbc3b08992f
      https://github.com/llvm/llvm-project/commit/519b53e65ef6ad5385d80d0726e48bbc3b08992f
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-02-18 (Tue, 18 Feb 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
    R llvm/lib/CodeGen/RegAllocEvictionAdvisor.h
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Port RegAllocEvictionAdvisor analysis to NPM (#117309)

Legacy pass used to provide the advisor, so this extracts that logic
into a provider class used by both analysis passes.

All three (Default, Release, Development) legacy passes
`*AdvisorAnalysis` are basically renamed to `*AdvisorProvider`, so the
actual legacy wrapper passes are `*AdvisorAnalysisLegacy`.

There is only one NPM analysis `RegAllocEvictionAnalysis` that switches
between the three providers in the `::run` method, to be cached by the
NPM.

Also adds `RequireAnalysis<RegAllocEvictionAnalysis>` to the optimized
target reg alloc codegen builder.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list