From e33bc31df448c21ad0728b9aec46f9355acc9926 Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Tue, 4 Apr 2017 23:43:10 +0000 Subject: 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 llvm-svn: 299486 --- llvm/lib/Transforms/Utils/MemorySSAUpdater.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Transforms/Utils/MemorySSAUpdater.cpp') diff --git a/llvm/lib/Transforms/Utils/MemorySSAUpdater.cpp b/llvm/lib/Transforms/Utils/MemorySSAUpdater.cpp index 7e043956171..c396bd73504 100644 --- a/llvm/lib/Transforms/Utils/MemorySSAUpdater.cpp +++ b/llvm/lib/Transforms/Utils/MemorySSAUpdater.cpp @@ -451,8 +451,8 @@ void MemorySSAUpdater::removeMemoryAccess(MemoryAccess *MA) { while (!MA->use_empty()) { Use &U = *MA->use_begin(); - if (MemoryUse *MU = dyn_cast(U.getUser())) - MU->resetOptimized(); + if (auto *MUD = dyn_cast(U.getUser())) + MUD->resetOptimized(); U.set(NewDefTarget); } } -- cgit v1.2.3