LLVM 17.0.0git
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/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/BlockFrequencyInfo.h"
#include "llvm/Analysis/BranchProbabilityInfo.h"
#include "llvm/IR/ValueHandle.h"
#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.

Classes

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

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::jumpthreading
 A private "module" namespace for types and utilities used by JumpThreading.
 

Typedefs

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

Enumerations

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

Detailed Description

See the comments on JumpThreadingPass.

Definition in file JumpThreading.h.