LLVM 22.0.0git
MemorySSAUpdater.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "memoryssa"

Functions

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

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "memoryssa"

Definition at line 24 of file MemorySSAUpdater.cpp.

Function Documentation

◆ getNewDefiningAccessForClone()

◆ onlySingleValue()

MemoryAccess * onlySingleValue ( MemoryPhi * MP)
static

If all arguments of a MemoryPHI are defined by the same incoming argument, return that argument.

Definition at line 547 of file MemorySSAUpdater.cpp.

References llvm::cast(), and llvm::User::operands().

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

◆ setMemoryPhiValueForBlock()

void setMemoryPhiValueForBlock ( MemoryPhi * MP,
const BasicBlock * BB,
MemoryAccess * NewDef )
static