This is an archive of the discontinued LLVM Phabricator instance.

MemorySSA: Remove MemorySSA walker caching.
ClosedPublic

Authored by dberlin on Apr 2 2017, 1:09 AM.

Details

Summary

Remove all the caching the clobber walker does, and that the
caching walker does. With the patch to enable storing clobbering
access results for stores, i can find no improvement with the cache
turned on (and a number of degradations, both time and memory, from
the cost of caching. For a large program i have, we do millions of
lookups and inserts with zero hits).

I haven't tried to rename or simplify the walker otherwise yet.

(Appreciate some perf testing on this past my own testing)

Diff Detail

Repository
rL LLVM

Event Timeline

dberlin created this revision.Apr 2 2017, 1:09 AM
davide edited edge metadata.Apr 2 2017, 10:22 AM

I'll do some perf testing myself in the next days. Unfortunately I can't take a look right away as all the interesting tests are on my desktop at $WORK, but I'll find some time during the week.

ᕕ( ᐛ )ᕗ

patch LGTM. thanks!

This revision is now accepted and ready to land.Apr 3 2017, 10:52 AM
davide accepted this revision.Apr 3 2017, 11:00 AM

This change is mostly performance neutral on the tests I tried, LGTM.

This revision was automatically updated to reflect the committed changes.