[PATCH] D26086: [MemorySSA] Const correctness. NFC.
bryant via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 28 10:20:20 PDT 2016
bryant created this revision.
bryant added reviewers: george.burgess.iv, dberlin.
bryant added a subscriber: llvm-commits.
bryant set the repository for this revision to rL LLVM.
>From what I understand so far, `getClobberingMemoryAccess` isn't supposed to modify its `MemoryLocation` argument. Making this argument const permits callers to pass xvalues, such as:
MemoryAccess *Start;
MemCpyInst *M;
...
MSSA->getWalker()->getClobberingMemoryAccess(Start, MemoryLocation::getForSource(M));
Repository:
rL LLVM
https://reviews.llvm.org/D26086
Files:
include/llvm/Transforms/Utils/MemorySSA.h
lib/Transforms/Utils/MemorySSA.cpp
Index: lib/Transforms/Utils/MemorySSA.cpp
===================================================================
--- lib/Transforms/Utils/MemorySSA.cpp
+++ lib/Transforms/Utils/MemorySSA.cpp
@@ -1097,7 +1097,7 @@
using MemorySSAWalker::getClobberingMemoryAccess;
MemoryAccess *getClobberingMemoryAccess(MemoryAccess *) override;
MemoryAccess *getClobberingMemoryAccess(MemoryAccess *,
- const MemoryLocation &) override;
+ MemoryLocation &) override;
void invalidateInfo(MemoryAccess *) override;
/// Whether we call resetClobberWalker() after each time we *actually* walk to
@@ -2163,7 +2163,7 @@
}
MemoryAccess *MemorySSA::CachingWalker::getClobberingMemoryAccess(
- MemoryAccess *StartingAccess, const MemoryLocation &Loc) {
+ MemoryAccess *StartingAccess, MemoryLocation &Loc) {
if (isa<MemoryPhi>(StartingAccess))
return StartingAccess;
@@ -2266,7 +2266,7 @@
}
MemoryAccess *DoNothingMemorySSAWalker::getClobberingMemoryAccess(
- MemoryAccess *StartingAccess, const MemoryLocation &) {
+ MemoryAccess *StartingAccess, MemoryLocation &) {
if (auto *Use = dyn_cast<MemoryUseOrDef>(StartingAccess))
return Use->getDefiningAccess();
return StartingAccess;
Index: include/llvm/Transforms/Utils/MemorySSA.h
===================================================================
--- include/llvm/Transforms/Utils/MemorySSA.h
+++ include/llvm/Transforms/Utils/MemorySSA.h
@@ -783,7 +783,7 @@
/// will return that MemoryDef, whereas the above would return the clobber
/// starting from the use side of the memory def.
virtual MemoryAccess *getClobberingMemoryAccess(MemoryAccess *,
- const MemoryLocation &) = 0;
+ MemoryLocation &) = 0;
/// \brief Given a memory access, invalidate anything this walker knows about
/// that access.
@@ -809,7 +809,7 @@
using MemorySSAWalker::getClobberingMemoryAccess;
MemoryAccess *getClobberingMemoryAccess(MemoryAccess *) override;
MemoryAccess *getClobberingMemoryAccess(MemoryAccess *,
- const MemoryLocation &) override;
+ MemoryLocation &) override;
};
using MemoryAccessPair = std::pair<MemoryAccess *, MemoryLocation>;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26086.76214.patch
Type: text/x-patch
Size: 2403 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161028/a584a481/attachment.bin>
More information about the llvm-commits
mailing list