[all-commits] [llvm/llvm-project] b7d870: [AssumptionCache] Avoid dangling llvm.assume calls...
Johannes Doerfert via All-commits
all-commits at lists.llvm.org
Sat Feb 6 10:18:58 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b7d870eae7fdadcf10d0f177faa7409c2e37d776
https://github.com/llvm/llvm-project/commit/b7d870eae7fdadcf10d0f177faa7409c2e37d776
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2021-02-06 (Sat, 06 Feb 2021)
Changed paths:
M llvm/include/llvm/Analysis/AssumptionCache.h
M llvm/lib/Analysis/AssumptionCache.cpp
M llvm/lib/Analysis/CodeMetrics.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/test/Analysis/AssumptionCache/basic.ll
Log Message:
-----------
[AssumptionCache] Avoid dangling llvm.assume calls in the cache
PR49043 exposed a problem when it comes to RAUW llvm.assumes. While
D96106 would fix it for GVNSink, it seems a more general concern. To
avoid future problems this patch moves away from the vector of weak
reference model used in the assumption cache. Instead, we track the
llvm.assume calls with a callback handle which will remove itself from
the cache if the call is deleted.
Fixes PR49043.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D96168
More information about the All-commits
mailing list