[PATCH] D112312: [DSE] Add OR_None (not for commit)

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 19 03:08:07 PST 2021


fhahn added inline comments.


================
Comment at: llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:1012
+      if (AAR == AliasResult::NoAlias)
+        return OW_None;
       return OW_Unknown;
----------------
fhahn wrote:
> ebrevnov wrote:
> > fhahn wrote:
> > > ebrevnov wrote:
> > > > fhahn wrote:
> > > > > nikic wrote:
> > > > > > Maybe move this check to the start?
> > > > > I originally had the check just after getting `AAR`, but `isOverwrite` considers out-of-bounds writes killing other writes to the same underlying object, which would be missed by the early exit.
> > > > Could you clarify which particular piece of code handles "out-of-bounds" case?
> > > It is not handled explicitly and is a consequence of the code just below (lines 1017-1020). If the underlying object size matches the size of the out-of-bounds store, the out of bounds store is considered killing other stores to the same object. Note that this logic does not kick in, if the out-of-bounds store is smaller than the underlying object. I added such a test case in 9c00afe926e9
> > Got it, thanks. Will update D105098 and add related comment.
> That sounds great, thanks!
@ebrevnov do you already have an idea on when you'll be able to update  D105098? 

otherwise I could also fold the changes from  D105098 into this one and commit it on your behalf.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112312/new/

https://reviews.llvm.org/D112312



More information about the llvm-commits mailing list