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

Giorgis Georgakoudis via All-commits all-commits at lists.llvm.org
Thu Jul 9 13:19:08 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 205dc0922d5f7305226f7457fcbcb4224c92530c
      https://github.com/llvm/llvm-project/commit/205dc0922d5f7305226f7457fcbcb4224c92530c
  Author: Giorgis Georgakoudis <georgakoudis1 at llnl.gov>
  Date:   2020-07-09 (Thu, 09 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