LLVM  4.0.0
Classes | Namespaces | Typedefs | Enumerations
JumpThreading.h File Reference

See the comments on JumpThreadingPass. More...

#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/Analysis/BlockFrequencyInfo.h"
#include "llvm/Analysis/BlockFrequencyInfoImpl.h"
#include "llvm/Analysis/BranchProbabilityInfo.h"
#include "llvm/Analysis/LazyValueInfo.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/ValueHandle.h"
Include dependency graph for JumpThreading.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::JumpThreadingPass
 This pass performs 'jump threading', which looks at blocks that have multiple predecessors and multiple successors. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::jumpthreading
 A private "module" namespace for types and utilities used by JumpThreading.
 

Typedefs

typedef SmallVectorImpl
< std::pair< Constant
*, BasicBlock * > > 
llvm::jumpthreading::PredValueInfo
 
typedef SmallVector< std::pair
< Constant *, BasicBlock * >, 8 > 
llvm::jumpthreading::PredValueInfoTy
 

Enumerations

enum  llvm::jumpthreading::ConstantPreference { llvm::jumpthreading::WantInteger, llvm::jumpthreading::WantBlockAddress }
 

Detailed Description

See the comments on JumpThreadingPass.

Definition in file JumpThreading.h.