[MemorySSA] Additional handling of unreachable blocks.
authorAlina Sbirlea <asbirlea@google.com>
Thu, 10 Oct 2019 20:43:06 +0000 (20:43 +0000)
committerAlina Sbirlea <asbirlea@google.com>
Thu, 10 Oct 2019 20:43:06 +0000 (20:43 +0000)
commit67f0c5c085782aa6cf36b2253b83b04351215343
tree86c1304af800e464d022c9d1c45da4206396c9d6
parent7c562f12869f8eb11f08d1617e199e0909ce9761
[MemorySSA] Additional handling of unreachable blocks.

Summary:
Whenever we get the previous definition, the assumption is that the
recursion starts ina  reachable block.
If the recursion starts in an unreachable block, we may recurse
indefinitely. Handle this case by returning LoE if the block is
unreachable.

Resolves PR43426.

Reviewers: george.burgess.iv

Subscribers: Prazek, sanjoy.google, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68809

llvm-svn: 374447
llvm/lib/Analysis/MemorySSAUpdater.cpp
llvm/test/Analysis/MemorySSA/pr43426.ll [new file with mode: 0644]