[MemorySSA] Fix existing phis when inserting defs.
authorAlina Sbirlea <asbirlea@google.com>
Tue, 20 Aug 2019 22:29:06 +0000 (22:29 +0000)
committerAlina Sbirlea <asbirlea@google.com>
Tue, 20 Aug 2019 22:29:06 +0000 (22:29 +0000)
commit1c528e8f1b29b48bcb37a3a6e5e4c97572300102
tree30a3697530e59759a01859b99992348108ddd25f
parent4f41779cca7d9a14fdf273d0dd3e056bbb0d1320
[MemorySSA] Fix existing phis when inserting defs.

Summary:
When inserting a new Def, and inserting Phis in the IDF when needed,
also mark the already existing Phis in the IDF as non-optimized, since
these may need fixing as well.
In the test attached, there is a Phi in the IDF that happens to be
trivial, and is wrongfully removed by the call to getLastDef that
follows. This is a valid situation and the existing IDF Phis need to
marked as "may need fixing" as well.
Resolves PR43044.

Reviewers: george.burgess.iv

Subscribers: Prazek, sanjoy.google, llvm-commits

Tags: #llvm

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

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