diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm/Transforms/Utils/MemorySSA.h | 2 | ||||
-rw-r--r-- | llvm/lib/Transforms/Utils/MemorySSA.cpp | 23 |
2 files changed, 13 insertions, 12 deletions
diff --git a/llvm/include/llvm/Transforms/Utils/MemorySSA.h b/llvm/include/llvm/Transforms/Utils/MemorySSA.h index 4ae5a7b4c21..5dd30e6ed94 100644 --- a/llvm/include/llvm/Transforms/Utils/MemorySSA.h +++ b/llvm/include/llvm/Transforms/Utils/MemorySSA.h @@ -553,7 +553,7 @@ private: void computeDomLevels(DenseMap<DomTreeNode *, unsigned> &DomLevels); void markUnreachableAsLiveOnEntry(BasicBlock *BB); bool dominatesUse(const MemoryAccess *, const MemoryAccess *) const; - MemoryAccess *createNewAccess(Instruction *, bool ignoreNonMemory = false); + MemoryUseOrDef *createNewAccess(Instruction *, bool ignoreNonMemory = false); MemoryAccess *findDominatingDef(BasicBlock *, enum InsertionPlace); void removeFromLookups(MemoryAccess *); diff --git a/llvm/lib/Transforms/Utils/MemorySSA.cpp b/llvm/lib/Transforms/Utils/MemorySSA.cpp index f7dc7444d4a..f49d666d1a0 100644 --- a/llvm/lib/Transforms/Utils/MemorySSA.cpp +++ b/llvm/lib/Transforms/Utils/MemorySSA.cpp @@ -257,17 +257,17 @@ MemorySSAWalker *MemorySSA::buildMemorySSA(AliasAnalysis *AA, bool InsertIntoDef = false; AccessListType *Accesses = nullptr; for (Instruction &I : B) { - MemoryAccess *MA = createNewAccess(&I, true); - if (!MA) + MemoryUseOrDef *MUD = createNewAccess(&I, true); + if (!MUD) continue; - if (isa<MemoryDef>(MA)) + if (isa<MemoryDef>(MUD)) InsertIntoDef = true; - else if (isa<MemoryUse>(MA)) + else InsertIntoDefUse = true; if (!Accesses) Accesses = getOrCreateAccessList(&B); - Accesses->push_back(MA); + Accesses->push_back(MUD); } if (InsertIntoDef) DefiningBlocks.insert(&B); @@ -358,7 +358,8 @@ MemorySSAWalker *MemorySSA::buildMemorySSA(AliasAnalysis *AA, } /// \brief Helper function to create new memory accesses -MemoryAccess *MemorySSA::createNewAccess(Instruction *I, bool IgnoreNonMemory) { +MemoryUseOrDef *MemorySSA::createNewAccess(Instruction *I, + bool IgnoreNonMemory) { // Find out what affect this instruction has on memory. ModRefInfo ModRef = AA->getModRefInfo(I); bool Def = bool(ModRef & MRI_Mod); @@ -372,13 +373,13 @@ MemoryAccess *MemorySSA::createNewAccess(Instruction *I, bool IgnoreNonMemory) { assert((Def || Use) && "Trying to create a memory access with a non-memory instruction"); - MemoryUseOrDef *MA; + MemoryUseOrDef *MUD; if (Def) - MA = new MemoryDef(I->getContext(), nullptr, I, I->getParent(), NextID++); + MUD = new MemoryDef(I->getContext(), nullptr, I, I->getParent(), NextID++); else - MA = new MemoryUse(I->getContext(), nullptr, I, I->getParent()); - ValueToMemoryAccess.insert(std::make_pair(I, MA)); - return MA; + MUD = new MemoryUse(I->getContext(), nullptr, I, I->getParent()); + ValueToMemoryAccess.insert(std::make_pair(I, MUD)); + return MUD; } MemoryAccess *MemorySSA::findDominatingDef(BasicBlock *UseBlock, |