[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