LLVM  6.0.0svn
Classes | Namespaces | Typedefs | Enumerations
JumpThreading.h File Reference

See the comments on JumpThreadingPass. More...

#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/BlockFrequencyInfo.h"
#include "llvm/Analysis/BranchProbabilityInfo.h"
#include "llvm/IR/ValueHandle.h"
#include <memory>
#include <utility>
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.


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


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


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


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

Detailed Description

See the comments on JumpThreadingPass.

Definition in file JumpThreading.h.