summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/MemorySSA.cpp
diff options
context:
space:
mode:
authorGeorge Burgess IV <george.burgess.iv@gmail.com>2019-03-21 03:11:34 +0000
committerGeorge Burgess IV <george.burgess.iv@gmail.com>2019-03-21 03:11:34 +0000
commitae84e9ab49087a460e74831029d98cb519271a9a (patch)
tree370fca2fd3bf5b290c18e9b2d1f018416df4687b /llvm/lib/Analysis/MemorySSA.cpp
parentc9f4cbf7a62ae720accc962942dbdb58747d92e5 (diff)
downloadbcm5719-llvm-ae84e9ab49087a460e74831029d98cb519271a9a.tar.gz
bcm5719-llvm-ae84e9ab49087a460e74831029d98cb519271a9a.zip
[MSSA] Delete move ctor; remove dynamic never-moved verification
Code archaeology in D59315 revealed that MSSA should never be moved. Rather than trying to check dynamically that this hasn't happened in the verify() functions of Walkers, it's likely best to just delete its move constructor. Since all these verify() functions did is check that MSSA hasn't moved, this allows us to remove these verify functions. I can readd the verification checks if someone's super concerned about us trying to `memcpy` MemorySSA or something somewhere, but I imagine we have other problems if we're trying anything like that... llvm-svn: 356641
Diffstat (limited to 'llvm/lib/Analysis/MemorySSA.cpp')
-rw-r--r--llvm/lib/Analysis/MemorySSA.cpp14
1 files changed, 0 insertions, 14 deletions
diff --git a/llvm/lib/Analysis/MemorySSA.cpp b/llvm/lib/Analysis/MemorySSA.cpp
index 3ad9da9f49e..a1c573a1a79 100644
--- a/llvm/lib/Analysis/MemorySSA.cpp
+++ b/llvm/lib/Analysis/MemorySSA.cpp
@@ -922,8 +922,6 @@ public:
#endif
return Result;
}
-
- void verify(const MemorySSA *MSSA) { assert(MSSA == &this->MSSA); }
};
struct RenamePassData {
@@ -963,7 +961,6 @@ public:
// additional query becomes heavily used we may decide to cache the result.
// Walker instantiations will decide how to set the SkipSelf bool.
MemoryAccess *getClobberingMemoryAccessBase(MemoryAccess *, bool);
- void verify(const MemorySSA *MSSA) { Walker.verify(MSSA); }
};
/// A MemorySSAWalker that does AA walks to disambiguate accesses. It no
@@ -987,11 +984,6 @@ public:
if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
MUD->resetOptimized();
}
-
- void verify(const MemorySSA *MSSA) override {
- MemorySSAWalker::verify(MSSA);
- Walker->verify(MSSA);
- }
};
class MemorySSA::SkipSelfWalker final : public MemorySSAWalker {
@@ -1012,11 +1004,6 @@ public:
if (auto *MUD = dyn_cast<MemoryUseOrDef>(MA))
MUD->resetOptimized();
}
-
- void verify(const MemorySSA *MSSA) override {
- MemorySSAWalker::verify(MSSA);
- Walker->verify(MSSA);
- }
};
} // end namespace llvm
@@ -1775,7 +1762,6 @@ void MemorySSA::verifyMemorySSA() const {
verifyDomination(F);
verifyOrdering(F);
verifyDominationNumbers(F);
- Walker->verify(this);
// Previously, the verification used to also verify that the clobberingAccess
// cached by MemorySSA is the same as the clobberingAccess found at a later
// query to AA. This does not hold true in general due to the current fragility
OpenPOWER on IntegriCloud