This is an archive of the discontinued LLVM Phabricator instance.

[EarlyCSE] Optimize MemoryPhis and reduce memory clobber queries w/ MemorySSA
ClosedPublic

Authored by gberry on Oct 21 2016, 1:12 PM.

Details

Summary

When using MemorySSA, re-optimize MemoryPhis when removing a store since
this may create MemoryPhis with all identical arguments.

Also, when using MemorySSA to check if two MemoryUses are reading from
the same version of the heap, use the defining access instead of calling
getClobberingAccess, since the latter can currently result in many more
AA calls. Once the MemorySSA use optimization tracking changes are
done, we can remove this limitation, which should result in more loads
being CSE'd.

Diff Detail

Repository
rL LLVM

Event Timeline

gberry updated this revision to Diff 75472.Oct 21 2016, 1:12 PM
gberry retitled this revision from to [EarlyCSE] Optimize MemoryPhis and reduce memory clobber queries w/ MemorySSA.
gberry updated this object.
gberry added a reviewer: dberlin.
gberry added subscribers: llvm-commits, mcrosier.
gberry accepted this revision.Oct 24 2016, 9:02 AM
gberry added a reviewer: gberry.

Approved by @dberlin in email

This revision is now accepted and ready to land.Oct 24 2016, 9:02 AM
This revision was automatically updated to reflect the committed changes.