[all-commits] [llvm/llvm-project] 0a67e7: CallGraph: Fix IgnoreAssumeLikeCalls option to Fun...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Dec 5 18:42:12 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0a67e771f6d21b1232c40f226c4eee48c3527210
      https://github.com/llvm/llvm-project/commit/0a67e771f6d21b1232c40f226c4eee48c3527210
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-12-05 (Mon, 05 Dec 2022)

  Changed paths:
    M llvm/lib/IR/Function.cpp
    M llvm/test/Analysis/CallGraph/ignore-assumelike-calls.ll
    M llvm/test/Transforms/OpenMP/parallel_deletion_cg_update.ll

  Log Message:
  -----------
  CallGraph: Fix IgnoreAssumeLikeCalls option to Function::hasAddressTaken

This was added in 29e2d9461a91b and likely never worked in a useful
way.

The test added for it fails when converted to opaque pointers, since
the lifetime intrinsic now directly uses the address. The code was
only trying to handle a user indirectly through a bitcast
instruction. That would never have been useful; a bitcast of a global
value would be folded to a ConstantExpr cast.

I also don't understand why it was special casing use_empty on the
cast. Relax the check to be either BitCastOperator or
AddrSpaceCastOperator. In practice, BitCastOperator won't appear
today.

I believe the change in parallel_deletion_cg_update is a correct
improvement but I didn't fully follow it. .omp_outlined..0 is used in
a constant expression cast to a call which ends up getting deleted.




More information about the All-commits mailing list