aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2025-07-29 15:46:06 +0200
committerNikita Popov <npopov@redhat.com>2025-07-29 15:46:49 +0200
commit74001beded5395f3653aac60c84a10dae277b8b7 (patch)
treec4117fda78fa6835ccad002c3c9db75dd1d17705
parent910f6ad15abd0c812ba5df73232215bc7533f7d1 (diff)
downloadllvm-74001beded5395f3653aac60c84a10dae277b8b7.zip
llvm-74001beded5395f3653aac60c84a10dae277b8b7.tar.gz
llvm-74001beded5395f3653aac60c84a10dae277b8b7.tar.bz2
[DSE] Use MemoryLocation API to get lifetime.end size (NFC)
-rw-r--r--llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
index 0f63ed0..9b87180 100644
--- a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+++ b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
@@ -1360,13 +1360,10 @@ struct DSEState {
/// indicating whether \p I is a free-like call.
std::optional<std::pair<MemoryLocation, bool>>
getLocForTerminator(Instruction *I) const {
- uint64_t Len;
- Value *Ptr;
- if (match(I, m_Intrinsic<Intrinsic::lifetime_end>(m_ConstantInt(Len),
- m_Value(Ptr))))
- return {std::make_pair(MemoryLocation(Ptr, Len), false)};
-
if (auto *CB = dyn_cast<CallBase>(I)) {
+ if (CB->getIntrinsicID() == Intrinsic::lifetime_end)
+ return {
+ std::make_pair(MemoryLocation::getForArgument(CB, 1, &TLI), false)};
if (Value *FreedOp = getFreedOperand(CB, &TLI))
return {std::make_pair(MemoryLocation::getAfter(FreedOp), true)};
}