]> granicus.if.org Git - llvm/commitdiff
GVN-hoist: do not dereference null pointers
authorSebastian Pop <sebpop@gmail.com>
Thu, 22 Sep 2016 17:22:58 +0000 (17:22 +0000)
committerSebastian Pop <sebpop@gmail.com>
Thu, 22 Sep 2016 17:22:58 +0000 (17:22 +0000)
there may be basic blocks without memory accesses, in which case the
list of accesses is a null pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282175 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GVNHoist.cpp

index 3c2ac6fcd5f7bc7a47cd3b95890112e019b8bf5b..03fd4872a0a1b3741f04b16fe588e4c4c208ff9e 100644 (file)
@@ -338,6 +338,9 @@ private:
     bool ReachedNewPt = false;
     MemoryLocation DefLoc = MemoryLocation::get(OldPt);
     const MemorySSA::AccessList *Acc = MSSA->getBlockAccesses(BB);
+    if (!Acc)
+      return false;
+
     for (const MemoryAccess &MA : *Acc) {
       auto *MU = dyn_cast<MemoryUse>(&MA);
       if (!MU)