From 989e601b2667619feb0f829fbc02ef5cf64babe8 Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Wed, 2 Mar 2016 20:36:22 +0000 Subject: [PATCH] Revert "Fix ASAN detected errors in code and test" (it was not meant to be committed yet) This reverts commit 890bbccd600ba1eb050353d06a29650ad0f2eb95. llvm-svn: 262512 --- llvm/lib/Transforms/Utils/MemorySSA.cpp | 5 +++-- llvm/unittests/Transforms/Utils/MemorySSA.cpp | 21 ++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/llvm/lib/Transforms/Utils/MemorySSA.cpp b/llvm/lib/Transforms/Utils/MemorySSA.cpp index f7dc744..8013b4a 100644 --- a/llvm/lib/Transforms/Utils/MemorySSA.cpp +++ b/llvm/lib/Transforms/Utils/MemorySSA.cpp @@ -231,7 +231,7 @@ MemorySSAWalker *MemorySSA::buildMemorySSA(AliasAnalysis *AA, assert(!this->AA && !this->DT && "MemorySSA without a walker already has AA or DT?"); - Walker = new CachingMemorySSAWalker(this, AA, DT); + auto *Result = new CachingMemorySSAWalker(this, AA, DT); this->AA = AA; this->DT = DT; @@ -343,7 +343,7 @@ MemorySSAWalker *MemorySSA::buildMemorySSA(AliasAnalysis *AA, for (auto &MA : *Accesses) { if (auto *MU = dyn_cast(&MA)) { Instruction *Inst = MU->getMemoryInst(); - MU->setDefiningAccess(Walker->getClobberingMemoryAccess(Inst)); + MU->setDefiningAccess(Result->getClobberingMemoryAccess(Inst)); } } } @@ -354,6 +354,7 @@ MemorySSAWalker *MemorySSA::buildMemorySSA(AliasAnalysis *AA, if (!Visited.count(&BB)) markUnreachableAsLiveOnEntry(&BB); + Walker = Result; return Walker; } diff --git a/llvm/unittests/Transforms/Utils/MemorySSA.cpp b/llvm/unittests/Transforms/Utils/MemorySSA.cpp index 18760184..0657192 100644 --- a/llvm/unittests/Transforms/Utils/MemorySSA.cpp +++ b/llvm/unittests/Transforms/Utils/MemorySSA.cpp @@ -21,7 +21,6 @@ using namespace llvm; TEST(MemorySSA, RemoveMemoryAccess) { LLVMContext &C(getGlobalContext()); - std::unique_ptr M(new Module("Remove memory access", C)); IRBuilder<> B(C); DataLayout DL("e-i64:64-f80:128-n8:16:32:64-S128"); TargetLibraryInfoImpl TLII; @@ -30,13 +29,13 @@ TEST(MemorySSA, RemoveMemoryAccess) { // We create a diamond where there is a store on one side, and then a load // after the merge point. This enables us to test a bunch of different // removal cases. - Function *F = Function::Create( + std::unique_ptr F(Function::Create( FunctionType::get(B.getVoidTy(), {B.getInt8PtrTy()}, false), - GlobalValue::ExternalLinkage, "F", M.get()); - BasicBlock *Entry(BasicBlock::Create(C, "", F)); - BasicBlock *Left(BasicBlock::Create(C, "", F)); - BasicBlock *Right(BasicBlock::Create(C, "", F)); - BasicBlock *Merge(BasicBlock::Create(C, "", F)); + GlobalValue::ExternalLinkage, "F")); + BasicBlock *Entry(BasicBlock::Create(C, "", F.get())); + BasicBlock *Left(BasicBlock::Create(C, "", F.get())); + BasicBlock *Right(BasicBlock::Create(C, "", F.get())); + BasicBlock *Merge(BasicBlock::Create(C, "", F.get())); B.SetInsertPoint(Entry); B.CreateCondBr(B.getTrue(), Left, Right); B.SetInsertPoint(Left); @@ -50,10 +49,10 @@ TEST(MemorySSA, RemoveMemoryAccess) { std::unique_ptr MSSA(new MemorySSA(*F)); std::unique_ptr DT(new DominatorTree(*F)); std::unique_ptr AC(new AssumptionCache(*F)); - AAResults AA; - BasicAAResult BAA(DL, TLI, *AC, &*DT); - AA.addAAResult(BAA); - std::unique_ptr Walker(MSSA->buildMemorySSA(&AA, &*DT)); + AAResults *AA = new AAResults(TLI); + BasicAAResult *BAA = new BasicAAResult(DL, TLI, *AC, &*DT); + AA->addAAResult(*BAA); + MemorySSAWalker *Walker = MSSA->buildMemorySSA(AA, &*DT); // Before, the load will be a use of a phi. It should be // the same after. MemoryUse *LoadAccess = cast(MSSA->getMemoryAccess(LoadInst)); -- 2.7.4