HomePhabricator

Add LazyCallGraph API to add function to RefSCC

Authored by modocache on Feb 3 2020, 7:50 PM.

Description

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

Details

Committed
modocacheFeb 17 2020, 9:56 AM
Reviewer
jdoerfert
Differential Revision
D72226: Add LazyCallGraph API to add function to RefSCC
Parents
rG489f62e8011f: [ARM,MVE] Add vector-scalar intrinsics
Branches
Unknown
Tags
Unknown