[all-commits] [llvm/llvm-project] bf6ff4: [MemProf] Context disambiguation cloning pass [pat...

Teresa Johnson via All-commits all-commits at lists.llvm.org
Wed May 3 13:43:34 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bf6ff4fd4b735afffc65f92a4a79f6610e7174c3
      https://github.com/llvm/llvm-project/commit/bf6ff4fd4b735afffc65f92a4a79f6610e7174c3
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2023-05-03 (Wed, 03 May 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/ThinLTO/X86/memprof-basic.ll
    M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
    A llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
    M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
    M llvm/test/ThinLTO/X86/memprof-inlined.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/duplicate-context-ids.ll
    A llvm/test/Transforms/MemProfContextDisambiguation/funcassigncloning.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/indirectcall.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/inlined.ll

  Log Message:
  -----------
  [MemProf] Context disambiguation cloning pass [patch 3/4]

Applies cloning decisions to the IR, cloning functions and updating
calls. For Regular LTO, the IR is updated directly during function
assignment, whereas for ThinLTO it is recorded in the summary index
(a subsequent patch will apply to the IR via the index during the
ThinLTO backend.

The function assignment and cloning proceeds greedily, and we create new
clones as needed when we find an incompatible assignment of function
clones to callsite clones (i.e. when different callers need to invoke
different combinations of callsite clones).

Depends on D140949.

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




More information about the All-commits mailing list