Commit Graph

10 Commits

Author SHA1 Message Date
Daniel Berlin
4977b97dfc Re-apply MemorySSA: Add support for caching clobbering access in
stores with some fixes.

Summary:
This enables us to cache the clobbering access for stores, despite the
fact that we can't rewrite the use-def chains themselves.

Early testing shows that, after this change, for larger testcases, it
will be a significant net positive (memory and time) to remove the
walker caching.

Reviewers: george.burgess.iv, davide

Subscribers: Prazek, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299486 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-04 23:43:10 +00:00
Daniel Berlin
d8050a7d38 Revert "MemorySSA: Add support for caching clobbering access in stores"
This reverts revision r299322.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299485 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-04 23:43:04 +00:00
Daniel Berlin
fe76989fe7 MemorySSA: Add support for caching clobbering access in stores
Summary:
This enables us to cache the clobbering access for stores, despite the
fact that we can't rewrite the use-def chains themselves.

Early testing shows that, after this change, for larger testcases, it will be a significant net positive (memory and time) to remove the walker caching.

Reviewers: george.burgess.iv, davide

Subscribers: Prazek, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299322 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-02 05:09:15 +00:00
Daniel Berlin
188bef38fc Move updating functions to MemorySSAUpdater.
Add updater to passes that now need it.
Move around code in MemorySSA to expose needed functions.

Summary: Mostly cleanup

Reviewers: george.burgess.iv

Subscribers: llvm-commits, Prazek

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295887 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-22 22:19:55 +00:00
Daniel Berlin
4f1c254f51 MemorySSA: Add support for renaming uses in the updater.
Summary:
This lets one add aliasing stores to the updater.
(i'm next going to move the creation/etc functions to the updater)

Reviewers: george.burgess.iv

Subscribers: llvm-commits, Prazek

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295677 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-20 22:26:03 +00:00
Daniel Berlin
be1b992213 Revert "[MemorySSA] Revert r293361 and r293363, as the tests fail under asan."
This reverts commit r293471, reapplying r293361 and r293363 with a fix
for an out-of-bounds read.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293474 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-30 11:35:39 +00:00
Sam McCall
b6af32432c [MemorySSA] Revert r293361 and r293363, as the tests fail under asan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293471 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-30 09:19:50 +00:00
Daniel Berlin
09e759d8e9 MemorySSA: Allow movement to arbitrary places
Summary: Extend the MemorySSAUpdater API to allow movement to arbitrary places

Reviewers: davide, george.burgess.iv

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293363 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-28 02:26:39 +00:00
Daniel Berlin
4fcfd74d06 MemorySSA: Fix block numbering invalidation and replacement bugs discovered by updater
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293361 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-28 02:22:52 +00:00
Daniel Berlin
92cf58ee36 MemorySSA: Move updater to its own file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293357 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-28 01:35:02 +00:00