[all-commits] [llvm/llvm-project] 7a94d1: [LazyCallGraph] Update libcall list when replacing...

aeubanks via All-commits all-commits at lists.llvm.org
Sat Aug 27 11:09:00 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7a94d189ad1a49aace4e4008e10c8ab774198e67
      https://github.com/llvm/llvm-project/commit/7a94d189ad1a49aace4e4008e10c8ab774198e67
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-08-27 (Sat, 27 Aug 2022)

  Changed paths:
    M llvm/lib/Analysis/LazyCallGraph.cpp
    A llvm/test/Analysis/LazyCallGraph/replace-libcall.ll

  Log Message:
  -----------
  [LazyCallGraph] Update libcall list when replacing a libcall node's function

Otherwise when we visit all libcalls in
updateCGAndAnalysisManagerForPass(), the old libcall is dead and doesn't
have a node.

We treat libcalls conservatively in LazyCallGraph because any function
may introduce calls to them out of thin air.

It is weird to change the signature of a libcall since introducing calls
to the libcall with a different signature may break, but other passes
like deadargelim already do it, so let's preserve this behavior for now.

Fixes an issue found in D128830.

Reviewed By: psamolysov

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




More information about the All-commits mailing list