|
LLVM
4.0.0
|
#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/GraphTraits.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/ilist.h"#include "llvm/ADT/ilist_node.h"#include "llvm/ADT/iterator.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/Analysis/MemoryLocation.h"#include "llvm/Analysis/PHITransAddr.h"#include "llvm/IR/BasicBlock.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/Module.h"#include "llvm/IR/OperandTraits.h"#include "llvm/IR/Type.h"#include "llvm/IR/Use.h"#include "llvm/IR/User.h"#include "llvm/IR/Value.h"#include "llvm/Pass.h"#include "llvm/PassAnalysisSupport.h"#include "llvm/Support/Casting.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/ErrorHandling.h"#include <algorithm>#include <cassert>#include <cstddef>#include <iterator>#include <memory>#include <utility>Go to the source code of this file.
Classes | |
| class | llvm::memoryaccess_def_iterator_base< T > |
| Iterator base class used to implement const and non-const iterators over the defining accesses of a MemoryAccess. More... | |
| class | llvm::MemoryAccess |
| class | llvm::MemoryUseOrDef |
| Class that has the common methods + fields of memory uses/defs. More... | |
| struct | llvm::OperandTraits< MemoryUseOrDef > |
| class | llvm::MemoryUse |
| Represents read-only accesses to memory. More... | |
| struct | llvm::OperandTraits< MemoryUse > |
| class | llvm::MemoryDef |
| Represents a read-write access to memory, whether it is a must-alias, or a may-alias. More... | |
| struct | llvm::OperandTraits< MemoryDef > |
| class | llvm::MemoryPhi |
| Represents phi nodes for memory accesses. More... | |
| struct | llvm::OperandTraits< MemoryPhi > |
| class | llvm::MemorySSA |
| Encapsulates MemorySSA, including all data associated with memory accesses. More... | |
| class | llvm::MemorySSAPrinterLegacyPass |
| class | llvm::MemorySSAAnalysis |
An analysis that produces MemorySSA for a function. More... | |
| struct | llvm::MemorySSAAnalysis::Result |
| class | llvm::MemorySSAPrinterPass |
Printer pass for MemorySSA. More... | |
| struct | llvm::MemorySSAVerifierPass |
Verifier pass for MemorySSA. More... | |
| class | llvm::MemorySSAWrapperPass |
Legacy analysis pass which computes MemorySSA. More... | |
| class | llvm::MemorySSAWalker |
| This is the generic walker interface for walkers of MemorySSA. More... | |
| class | llvm::DoNothingMemorySSAWalker |
| A MemorySSAWalker that does no alias queries, or anything else. More... | |
| class | llvm::memoryaccess_def_iterator_base< T > |
| Iterator base class used to implement const and non-const iterators over the defining accesses of a MemoryAccess. More... | |
| struct | llvm::GraphTraits< MemoryAccess * > |
| GraphTraits for a MemoryAccess, which walks defs in the normal case, and uses in the inverse case. More... | |
| struct | llvm::GraphTraits< Inverse< MemoryAccess * > > |
| class | llvm::upward_defs_iterator |
| Provide an iterator that walks defs, giving both the memory access, and the current pointer location, updating the pointer location as it changes due to phi node translation. More... | |
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Typedefs | |
| using | llvm::memoryaccess_def_iterator = memoryaccess_def_iterator_base< MemoryAccess > |
| using | llvm::const_memoryaccess_def_iterator = memoryaccess_def_iterator_base< const MemoryAccess > |
| using | llvm::MemoryAccessPair = std::pair< MemoryAccess *, MemoryLocation > |
| using | llvm::ConstMemoryAccessPair = std::pair< const MemoryAccess *, MemoryLocation > |
Enumerations | |
| enum | { llvm::INVALID_MEMORYACCESS_ID = 0 } |
Functions | |
| raw_ostream & | llvm::operator<< (raw_ostream &OS, const MemoryAccess &MA) |
| upward_defs_iterator | llvm::upward_defs_begin (const MemoryAccessPair &Pair) |
| upward_defs_iterator | llvm::upward_defs_end () |
| bool | llvm::defClobbersUseOrDef (MemoryDef *MD, const MemoryUseOrDef *MU, AliasAnalysis &AA) |
1.8.6