[all-commits] [llvm/llvm-project] 92b075: [MemProf] Support cloning through recursive cycles...
Teresa Johnson via All-commits
all-commits at lists.llvm.org
Wed Feb 19 12:44:56 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 92b07520bcba1134f60d368c3f0d9216ebbe76e5
https://github.com/llvm/llvm-project/commit/92b07520bcba1134f60d368c3f0d9216ebbe76e5
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
Log Message:
-----------
[MemProf] Support cloning through recursive cycles (#127429)
In order to facilitate cloning of recursive cycles, we first identify
backedges using a standard DFS search from the root callers, then
initially defer recursively invoking the cloning function via those
edges. This is because the cloning opportunity along the backedge may
not be exposed until the current node is cloned for other non-backedge
callers that are cold after the earlier recursive cloning, resulting
in a cold predecessor of the backedge. So we recursively invoke the
cloning function for the backedges during the cloning of the current
node for its caller edges (which were sorted to enable handling cold
callers first).
There was no significant time or memory overhead measured for several
large applications.
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