From: Daniel Berlin Date: Wed, 5 Apr 2017 17:26:25 +0000 (+0000) Subject: MemorySSA: Fix and use optimized_def_chain X-Git-Tag: llvmorg-5.0.0-rc1~8429 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3082b8e062ebc77b9b65ae1de3db4918126cd9b4;p=platform%2Fupstream%2Fllvm.git MemorySSA: Fix and use optimized_def_chain llvm-svn: 299566 --- diff --git a/llvm/include/llvm/Transforms/Utils/MemorySSA.h b/llvm/include/llvm/Transforms/Utils/MemorySSA.h index 71ba6bb8bc0e..e52b901ceadc 100644 --- a/llvm/include/llvm/Transforms/Utils/MemorySSA.h +++ b/llvm/include/llvm/Transforms/Utils/MemorySSA.h @@ -1108,7 +1108,7 @@ upward_defs(const MemoryAccessPair &Pair) { /// thing that would clobber the same memory is, you want the optimized chain. template struct def_chain_iterator - : public iterator_facade_base, + : public iterator_facade_base, std::forward_iterator_tag, MemoryAccess *> { def_chain_iterator() : MA(nullptr) {} def_chain_iterator(T MA) : MA(MA) {} diff --git a/llvm/lib/Transforms/Scalar/NewGVN.cpp b/llvm/lib/Transforms/Scalar/NewGVN.cpp index cb011be584fa..62d769cb5582 100644 --- a/llvm/lib/Transforms/Scalar/NewGVN.cpp +++ b/llvm/lib/Transforms/Scalar/NewGVN.cpp @@ -1986,7 +1986,7 @@ bool NewGVN::singleReachablePHIPath(const MemoryAccess *First, if (MSSA->isLiveOnEntryDef(First)) return false; const auto *EndDef = First; - for (auto *ChainDef : def_chain(First)) { + for (auto *ChainDef : optimized_def_chain(First)) { if (ChainDef == Second) return true; if (MSSA->isLiveOnEntryDef(ChainDef))