LLVM: lib/Analysis/MemorySSAUpdater.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static void setMemoryPhiValueForBlock (MemoryPhi *MP, const BasicBlock *BB, MemoryAccess *NewDef)
static MemoryAccess * onlySingleValue (MemoryPhi *MP)
If all arguments of a MemoryPHI are defined by the same incoming argument, return that argument.
static MemoryAccess * getNewDefiningAccessForClone (MemoryAccess *MA, const ValueToValueMapTy &VMap, PhiToDefMap &MPhiMap, MemorySSA *MSSA, function_ref< bool(BasicBlock *BB)> IsInClonedRegion)

DEBUG_TYPE

#define DEBUG_TYPE "memoryssa"

getNewDefiningAccessForClone()

Definition at line 568 of file MemorySSAUpdater.cpp.

References assert(), llvm::MemorySSA::getMemoryAccess(), getNewDefiningAccessForClone(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::MemorySSA::isLiveOnEntryDef(), llvm::ValueMap< KeyT, ValueT, Config >::lookup(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup().

Referenced by getNewDefiningAccessForClone(), and llvm::MemorySSAUpdater::updateForClonedLoop().

onlySingleValue()

setMemoryPhiValueForBlock()