diff options
author | Brian Gesiak <modocache@gmail.com> | 2020-02-03 22:50:39 -0500 |
---|---|---|
committer | Brian Gesiak <modocache@gmail.com> | 2020-02-17 12:56:38 -0500 |
commit | 449a13509190b1c57e5fcf5cd7e8f0f647f564b4 (patch) | |
tree | b1a371f799f1147d7b42c1e46642a4f688051c69 /clang/lib/Serialization/ModuleManager.cpp | |
parent | 489f62e8011f54fc94d9c3a4cc2d1d66d3b5bc49 (diff) | |
download | llvm-449a13509190b1c57e5fcf5cd7e8f0f647f564b4.zip llvm-449a13509190b1c57e5fcf5cd7e8f0f647f564b4.tar.gz llvm-449a13509190b1c57e5fcf5cd7e8f0f647f564b4.tar.bz2 |
Add LazyCallGraph API to add function to RefSCC
Summary:
Depends on https://reviews.llvm.org/D70927.
`LazyCallGraph::addNewFunctionIntoSCC` allows users to insert a new
function node into a call graph, into a specific, existing SCC.
Extend this interface such that functions can be added even when they do
not belong in any existing SCC, but instead in a new SCC within an
existing RefSCC.
The ability to insert new functions as part of a RefSCC is necessary for
outlined functions that do not form a strongly connected cycle with the
function they are outlined from. An example of such a function would be the
coroutine funclets 'f.resume', etc., which are outlined from a coroutine 'f'.
Coroutine 'f' only references the funclets' addresses, it does not call
them directly.
Reviewers: jdoerfert, chandlerc, wenlei, hfinkel
Reviewed By: jdoerfert
Subscribers: hfinkel, JonChesterfield, mehdi_amini, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72226
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
0 files changed, 0 insertions, 0 deletions