LLVM 18.0.0git
Classes | Namespaces | Functions | Variables
ScalarEvolution.h File Reference
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/IR/ValueMap.h"
#include "llvm/Pass.h"
#include <cassert>
#include <cstdint>
#include <memory>
#include <optional>
#include <utility>

Go to the source code of this file.

Classes

class  llvm::SCEV
 This class represents an analyzed expression in the program. More...
 
struct  llvm::FoldingSetTrait< SCEV >
 
struct  llvm::SCEVCouldNotCompute
 An object of this class is returned by queries that could not be answered. More...
 
class  llvm::SCEVPredicate
 This class represents an assumption made using SCEV expressions which can be checked at run-time. More...
 
struct  llvm::FoldingSetTrait< SCEVPredicate >
 
class  llvm::SCEVComparePredicate
 This class represents an assumption that the expression LHS Pred RHS evaluates to true, and this can be checked at run-time. More...
 
class  llvm::SCEVWrapPredicate
 This class represents an assumption made on an AddRec expression. More...
 
class  llvm::SCEVUnionPredicate
 This class represents a composition of other SCEV predicates, and is the class that most clients will interact with. More...
 
class  llvm::ScalarEvolution
 The main scalar evolution driver. More...
 
struct  llvm::ScalarEvolution::ExitLimit
 Information about the number of loop iterations for which a loop exit's branch condition evaluates to the not-taken path. More...
 
struct  llvm::ScalarEvolution::LoopInvariantPredicate
 
class  llvm::ScalarEvolution::FoldID
 
class  llvm::ScalarEvolutionAnalysis
 Analysis pass that exposes the ScalarEvolution for a function. More...
 
class  llvm::ScalarEvolutionVerifierPass
 Verifier pass for the ScalarEvolutionAnalysis results. More...
 
class  llvm::ScalarEvolutionPrinterPass
 Printer pass for the ScalarEvolutionAnalysis results. More...
 
class  llvm::ScalarEvolutionWrapperPass
 
class  llvm::PredicatedScalarEvolution
 An interface layer with SCEV used to manage how we see SCEV expressions for values in the context of existing predicates. More...
 
struct  llvm::DenseMapInfo< ScalarEvolution::FoldID >
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

raw_ostream & llvm::operator<< (raw_ostream &OS, const SCEV &S)
 
raw_ostream & llvm::operator<< (raw_ostream &OS, const SCEVPredicate &P)
 

Variables

bool llvm::VerifySCEV = false