LLVM 19.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.


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


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.


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.