LLVM 20.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/Analysis/DomTreeUpdater.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Transforms/Utils/ValueMapper.h"
#include <optional>
#include <utility>

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.