diff options
-rw-r--r-- | llvm/lib/Transforms/Scalar/GVNHoist.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVNHoist.cpp b/llvm/lib/Transforms/Scalar/GVNHoist.cpp index 3c2ac6fcd5f..03fd4872a0a 100644 --- a/llvm/lib/Transforms/Scalar/GVNHoist.cpp +++ b/llvm/lib/Transforms/Scalar/GVNHoist.cpp @@ -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) |