[PATCH] D93523: [DSE] Use correct memory location for read clobber check
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 18 09:29:17 PST 2020
fhahn added inline comments.
================
Comment at: llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:1944
// Find the next clobbering Mod access for DefLoc, starting at StartAccess.
+ Optional<MemoryLocation> CurrentLoc;
do {
----------------
nikic wrote:
> fhahn wrote:
> > Can this just be `MemoryLocation CurrentLoc`? We should skip the case when it would be `None` and it should always be `!= None` before after the loop.
> This uses Optional<MemoryLocation> because getLocForWriteEx() returns it that way. Should I copy it into a separate non-Optional variable after the check that it is not None?
I'd put the result of `getLocForWriteEx` into a new temprary and move the content to `CurrentLoc` after the check. Or have something like
```
if (auto Loc = getLocForWriteEx(....)) {
CurrentLoc = *Loc;
} else {
StepAgain = true;
....
continue;
}
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93523/new/
https://reviews.llvm.org/D93523
More information about the llvm-commits
mailing list