LLVM  6.0.0svn
Classes | Namespaces
PtrUseVisitor.h File Reference

This file provides a collection of visitors which walk the (instruction) uses of a pointer. More...

#include "llvm/ADT/APInt.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/InstVisitor.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/User.h"
#include "llvm/Support/Casting.h"
#include <algorithm>
#include <cassert>
#include <type_traits>
Include dependency graph for PtrUseVisitor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::detail::PtrUseVisitorBase
 Implementation of non-dependent functionality for PtrUseVisitor. More...
 
class  llvm::detail::PtrUseVisitorBase::PtrInfo
 This class provides information about the result of a visit. More...
 
struct  llvm::detail::PtrUseVisitorBase::UseToVisit
 A struct of the data needed to visit a particular use. More...
 
class  llvm::PtrUseVisitor< DerivedT >
 A base class for visitors over the uses of a pointer value. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::detail
 Implementation details of the pass manager interfaces.
 

Detailed Description

This file provides a collection of visitors which walk the (instruction) uses of a pointer.

These visitors all provide the same essential behavior as an InstVisitor with similar template-based flexibility and implementation strategies.

These can be used, for example, to quickly analyze the uses of an alloca, global variable, or function argument.

FIXME: Provide a variant which doesn't track offsets and is cheaper.

Definition in file PtrUseVisitor.h.