This is an archive of the discontinued LLVM Phabricator instance.

[MemorySSA] Ensure address stability of MemorySSA object.
ClosedPublic

Authored by gberry on Aug 4 2016, 11:23 AM.

Details

Summary

Ensure that the MemorySSA object never changes address when using the
new pass manager since the walkers contained by MemorySSA cache pointers
to it at construction time. This is achieved by wrapping the
MemorySSAAnalysis result in a unique_ptr. Also add some asserts that
check for this bug.

Diff Detail

Event Timeline

gberry updated this revision to Diff 66833.Aug 4 2016, 11:23 AM
gberry retitled this revision from to [MemorySSA] Ensure address stability of MemorySSA object..
gberry updated this object.
gberry added subscribers: llvm-commits, silvas, chandlerc, hfinkel.
george.burgess.iv edited edge metadata.

Woohoo! Thanks for the patch. LGTM.

This revision is now accepted and ready to land.Aug 5 2016, 10:24 AM
This revision was automatically updated to reflect the committed changes.