LLVM  6.0.0svn
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
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

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