LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Typedefs | Enumerations | Functions
ScalarEvolutionExpressions.h File Reference
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Support/ErrorHandling.h"
Include dependency graph for ScalarEvolutionExpressions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::SCEVConstant
 
class  llvm::SCEVCastExpr
 
class  llvm::SCEVTruncateExpr
 
class  llvm::SCEVZeroExtendExpr
 
class  llvm::SCEVSignExtendExpr
 
class  llvm::SCEVNAryExpr
 
class  llvm::SCEVCommutativeExpr
 
class  llvm::SCEVAddExpr
 
class  llvm::SCEVMulExpr
 
class  llvm::SCEVUDivExpr
 
class  llvm::SCEVAddRecExpr
 
class  llvm::SCEVSMaxExpr
 
class  llvm::SCEVUMaxExpr
 
class  llvm::SCEVUnknown
 
struct  llvm::SCEVVisitor< SC, RetVal >
 
class  llvm::SCEVTraversal< SV >
 
struct  llvm::SCEVParameterRewriter
 
struct  llvm::SCEVApplyRewriter
 

Namespaces

 llvm
 List of target independent CodeGen pass IDs.
 

Typedefs

typedef DenseMap< const Value
*, Value * > 
llvm::ValueToValueMap
 
typedef DenseMap< const Loop
*, const SCEV * > 
llvm::LoopToScevMapT
 

Enumerations

enum  llvm::SCEVTypes {
  llvm::scConstant, llvm::scTruncate, llvm::scZeroExtend, llvm::scSignExtend,
  llvm::scAddExpr, llvm::scMulExpr, llvm::scUDivExpr, llvm::scAddRecExpr,
  llvm::scUMaxExpr, llvm::scSMaxExpr, llvm::scUnknown, llvm::scCouldNotCompute
}
 

Functions

template<typename SV >
void llvm::visitAll (const SCEV *Root, SV &Visitor)
 Use SCEVTraversal to visit all nodes in the givien expression tree. More...
 
static const SCEV * llvm::apply (const SCEV *Scev, LoopToScevMapT &Map, ScalarEvolution &SE)
 Applies the Map (Loop -> SCEV) to the given Scev. More...