[all-commits] [llvm/llvm-project] aef60a: [CallGraph] Ignore callback uses

Giorgis Georgakoudis via All-commits all-commits at lists.llvm.org
Tue Jul 14 13:14:02 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: aef60af34ec3fd2a03b69d69b031e1d34070f6d5
      https://github.com/llvm/llvm-project/commit/aef60af34ec3fd2a03b69d69b031e1d34070f6d5
  Author: Giorgis Georgakoudis <georgakoudis1 at llnl.gov>
  Date:   2020-07-14 (Tue, 14 Jul 2020)

  Changed paths:
    M llvm/include/llvm/IR/Function.h
    M llvm/lib/Analysis/CallGraph.cpp
    M llvm/lib/IR/Function.cpp
    A llvm/test/Analysis/CallGraph/ignore-callback-uses.ll

  Log Message:
  -----------
  [CallGraph] Ignore callback uses

Summary:
Ignore callback uses when adding a callback function
in the CallGraph. Callback functions are typically
created when outlining, e.g. for OpenMP, so they have
internal scope and linkage. They should not be added
to the ExternalCallingNode since they are only callable
by the specified caller function at creation time.

A CGSCC pass, such as OpenMPOpt, may need to update
the CallGraph by adding a new outlined callback function.
Without ignoring callback uses, adding breaks CGSCC
pass restrictions and results to a broken CallGraph.

Reviewers: jdoerfert

Subscribers: hiraditya, sstefan1, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list