From 79ff20428e3c4dd73ea60b630c7d36a180a36266 Mon Sep 17 00:00:00 2001 From: Alina Sbirlea Date: Thu, 15 Aug 2019 21:20:08 +0000 Subject: [PATCH] [MemorySSA] Remove restrictive asserts. The verification I added has overly restrictive asserts. Unreachable blocks can have any incoming value in practice, after an update due to a "replaceAllUses" call when the repalced entry is LiveOnEntry. llvm-svn: 369050 --- llvm/lib/Analysis/MemorySSA.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/llvm/lib/Analysis/MemorySSA.cpp b/llvm/lib/Analysis/MemorySSA.cpp index 26e3cd7..62bd191 100644 --- a/llvm/lib/Analysis/MemorySSA.cpp +++ b/llvm/lib/Analysis/MemorySSA.cpp @@ -1886,8 +1886,6 @@ void MemorySSA::verifyPrevDefInPhis(Function &F) const { } DTNode = DTNode->getIDom(); } - assert((DTNode || IncAcc == getLiveOnEntryDef()) && - "Expected LoE inc"); } else if (auto *DefList = getBlockDefs(Pred)) { // If Pred has unreachable predecessors, but has at least a Def, the // incoming access can be the last Def in Pred, or it could have been @@ -1897,8 +1895,7 @@ void MemorySSA::verifyPrevDefInPhis(Function &F) const { "Incorrect incoming access into phi."); } else { // If Pred has unreachable predecessors and no Defs, incoming access - // should be LoE. - assert(IncAcc == getLiveOnEntryDef() && "Expected LoE inc"); + // should be LoE; In practice, after an update, it may be any access. } } } -- 2.7.4