summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/MemorySSAUpdater.cpp
Commit message (Collapse)AuthorAgeFilesLines
* MemorySSA: Move to Analysis, from Transforms/Utils. It's used asDaniel Berlin2017-04-111-494/+0
| | | | | | | | Analysis, it has Analysis passes, and once NewGVN is made an Analysis, this removes the cross dependency from Analysis to Transform/Utils. NFC. llvm-svn: 299980
* Re-apply MemorySSA: Add support for caching clobbering access inDaniel Berlin2017-04-041-2/+2
| | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 299486
* Revert "MemorySSA: Add support for caching clobbering access in stores"Daniel Berlin2017-04-041-2/+2
| | | | | | This reverts revision r299322. llvm-svn: 299485
* MemorySSA: Add support for caching clobbering access in storesDaniel Berlin2017-04-021-2/+2
| | | | | | | | | | | | | | | | 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 llvm-svn: 299322
* Move updating functions to MemorySSAUpdater.Daniel Berlin2017-02-221-1/+91
| | | | | | | | | | | | | | | 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 llvm-svn: 295887
* MemorySSA: Add support for renaming uses in the updater.Daniel Berlin2017-02-201-1/+19
| | | | | | | | | | | | | | 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 llvm-svn: 295677
* Revert "[MemorySSA] Revert r293361 and r293363, as the tests fail under asan."Daniel Berlin2017-01-301-10/+24
| | | | | | | This reverts commit r293471, reapplying r293361 and r293363 with a fix for an out-of-bounds read. llvm-svn: 293474
* [MemorySSA] Revert r293361 and r293363, as the tests fail under asan.Sam McCall2017-01-301-17/+7
| | | | llvm-svn: 293471
* MemorySSA: Allow movement to arbitrary placesDaniel Berlin2017-01-281-1/+7
| | | | | | | | | | | | 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 llvm-svn: 293363
* MemorySSA: Fix block numbering invalidation and replacement bugs discovered ↵Daniel Berlin2017-01-281-6/+10
| | | | | | by updater llvm-svn: 293361
* MemorySSA: Move updater to its own fileDaniel Berlin2017-01-281-0/+372
llvm-svn: 293357
OpenPOWER on IntegriCloud