summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Transforms/Utils/MemorySSA.cpp
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2016-03-02 20:36:22 +0000
committerDaniel Berlin <dberlin@dberlin.org>2016-03-02 20:36:22 +0000
commit989e601b2667619feb0f829fbc02ef5cf64babe8 (patch)
tree9f7ab410ec9d384010c9f77b6f619535921003ed /llvm/unittests/Transforms/Utils/MemorySSA.cpp
parent27ed1c2eb0f8a9a2539cd0762b28a77f665ca510 (diff)
downloadbcm5719-llvm-989e601b2667619feb0f829fbc02ef5cf64babe8.tar.gz
bcm5719-llvm-989e601b2667619feb0f829fbc02ef5cf64babe8.zip
Revert "Fix ASAN detected errors in code and test" (it was not meant to be committed yet)
This reverts commit 890bbccd600ba1eb050353d06a29650ad0f2eb95. llvm-svn: 262512
Diffstat (limited to 'llvm/unittests/Transforms/Utils/MemorySSA.cpp')
-rw-r--r--llvm/unittests/Transforms/Utils/MemorySSA.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/llvm/unittests/Transforms/Utils/MemorySSA.cpp b/llvm/unittests/Transforms/Utils/MemorySSA.cpp
index 187601844a2..06571923453 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<Module> 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<Function> 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<MemorySSA> MSSA(new MemorySSA(*F));
std::unique_ptr<DominatorTree> DT(new DominatorTree(*F));
std::unique_ptr<AssumptionCache> AC(new AssumptionCache(*F));
- AAResults AA;
- BasicAAResult BAA(DL, TLI, *AC, &*DT);
- AA.addAAResult(BAA);
- std::unique_ptr<MemorySSAWalker> 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<store, liveonentry>. It should be
// the same after.
MemoryUse *LoadAccess = cast<MemoryUse>(MSSA->getMemoryAccess(LoadInst));
OpenPOWER on IntegriCloud