[llvm-branch-commits] [llvm] [DSE] Make DSE eliminate stores to objects with a sized dead_on_return (PR #173694)
Aiden Grossman via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jan 14 09:22:42 PST 2026
================
@@ -1206,11 +1214,21 @@ struct DSEState {
return OW_None;
}
- bool isInvisibleToCallerAfterRet(const Value *V) {
+ bool isInvisibleToCallerAfterRet(const Value *V, const Value *Ptr,
+ const LocationSize StoreSize) {
if (isa<AllocaInst>(V))
return true;
auto I = InvisibleToCallerAfterRet.insert({V, false});
+ if (I.second && InvisibleToCallerAfterRetBounded.contains(V)) {
+ int64_t ValueOffset;
+ const Value *BaseValue =
+ GetPointerBaseWithConstantOffset(Ptr, ValueOffset, DL);
----------------
boomanaiden154 wrote:
Ah, yep. Can't believe I missed that one. Updated the code and also added a regression test.
https://github.com/llvm/llvm-project/pull/173694
More information about the llvm-branch-commits
mailing list