[PATCH] D116964: [NFC][MLGO] Use LazyCallGraph::Node to track functions.

Mircea Trofin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 10 11:21:46 PST 2022


mtrofin created this revision.
mtrofin added reviewers: aeubanks, nikic.
Herald added subscribers: ormris, hiraditya, eraman.
mtrofin requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This avoids the InlineAdvisor carrying the responsibility of deleting
Function objects. We use LazyCallGraph::Node objects instead, which are
stable in memory for the duration of the Module-wide performance of CGSCC
passes started under the same ModuleToPostOrderCGSCCPassAdaptor (which
is the case here)

The MLInlineAdvisor still wants to track eagerly deleted Callees, and it
does so as its own internal implementation detail - we can hoist it out
to the parent if necessary later.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D116964

Files:
  llvm/include/llvm/Analysis/InlineAdvisor.h
  llvm/include/llvm/Analysis/MLInlineAdvisor.h
  llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
  llvm/lib/Analysis/InlineAdvisor.cpp
  llvm/lib/Analysis/MLInlineAdvisor.cpp
  llvm/lib/Transforms/IPO/Inliner.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116964.398706.patch
Type: text/x-patch
Size: 10552 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220110/c86376a0/attachment.bin>


More information about the llvm-commits mailing list