Attempt to fix ASAN failure in a MemorySSA test.

llvm-svn: 262452
diff --git a/llvm/lib/Transforms/Utils/MemorySSA.cpp b/llvm/lib/Transforms/Utils/MemorySSA.cpp
index 858ebdc..8013b4a 100644
--- a/llvm/lib/Transforms/Utils/MemorySSA.cpp
+++ b/llvm/lib/Transforms/Utils/MemorySSA.cpp
@@ -463,11 +463,11 @@
   }
   ValueToMemoryAccess.erase(MemoryInst);
 
-  auto &Accesses = PerBlockAccesses.find(MA->getBlock())->second;
+  auto AccessIt = PerBlockAccesses.find(MA->getBlock());
+  std::unique_ptr<AccessListType> &Accesses = AccessIt->second;
   Accesses->erase(MA);
-  if (Accesses->empty()) {
-    PerBlockAccesses.erase(MA->getBlock());
-  }
+  if (Accesses->empty())
+    PerBlockAccesses.erase(AccessIt);
 }
 
 void MemorySSA::removeMemoryAccess(MemoryAccess *MA) {