LLVM  8.0.1
Classes | Namespaces | Functions
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/Hashing.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/IR/ValueMap.h"
#include "llvm/Pass.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <memory>
#include <utility>
Include dependency graph for ScalarEvolution.h:

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::SCEVEqualPredicate
 This class represents an assumption that two SCEV expressions are equal, 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...
 
struct  llvm::ExitLimitQuery
 
struct  llvm::DenseMapInfo< ExitLimitQuery >
 
class  llvm::ScalarEvolution
 The main scalar evolution driver. More...
 
class  llvm::ScalarEvolutionAnalysis
 Analysis pass that exposes the ScalarEvolution for a function. 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...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Functions

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