[all-commits] [llvm/llvm-project] 6a3e5f: [ctxprof] Only prune the profile in modules contai...

Mircea Trofin via All-commits all-commits at lists.llvm.org
Mon Apr 7 19:52:25 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6a3e5f89bb89548fb39ca241c8ed7c2005a190f1
      https://github.com/llvm/llvm-project/commit/6a3e5f89bb89548fb39ca241c8ed7c2005a190f1
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-04-07 (Mon, 07 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
    M llvm/test/Analysis/CtxProfAnalysis/load.ll
    A llvm/test/Analysis/CtxProfAnalysis/pruning.ll
    M llvm/test/Transforms/EliminateAvailableExternally/transform-to-local.ll

  Log Message:
  -----------
  [ctxprof] Only prune the profile in modules containing only context trees (#134340)

We will subsequently treat the whole profile as "flat" in the frontend, (i.e flatten and combine with the flat profile section), so we can have a profile for ThinLTO for parts of the application that don't come under the contextual profile. After ThinLTO, we will treat the module(s) containing contextual trees differently: they'll have only the contextual profile pertinent to them. The rest of the modules (non-contextual) will proceed "as usual", off the flattened profile.

This patch implements pruning of the contextual profile to enable the above.



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