LLVM  8.0.1
Macros | Functions
MemorySSAUpdater.cpp File Reference
#include "llvm/Analysis/MemorySSAUpdater.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Analysis/IteratedDominanceFrontier.h"
#include "llvm/Analysis/MemorySSA.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/FormattedStream.h"
#include <algorithm>
Include dependency graph for MemorySSAUpdater.cpp:

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. More...
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "memoryssa"

Definition at line 30 of file MemorySSAUpdater.cpp.

Function Documentation

◆ onlySingleValue()

static MemoryAccess* onlySingleValue ( MemoryPhi MP)
static

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

Definition at line 1005 of file MemorySSAUpdater.cpp.

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

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

◆ setMemoryPhiValueForBlock()

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