LLVM
8.0.1
|
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
#include <cstddef>
Go to the source code of this file.
Classes | |
class | llvm::SCEVConstant |
This class represents a constant integer value. More... | |
class | llvm::SCEVCastExpr |
This is the base class for unary cast operator classes. More... | |
class | llvm::SCEVTruncateExpr |
This class represents a truncation of an integer value to a smaller integer value. More... | |
class | llvm::SCEVZeroExtendExpr |
This class represents a zero extension of a small integer value to a larger integer value. More... | |
class | llvm::SCEVSignExtendExpr |
This class represents a sign extension of a small integer value to a larger integer value. More... | |
class | llvm::SCEVNAryExpr |
This node is a base class providing common functionality for n'ary operators. More... | |
class | llvm::SCEVCommutativeExpr |
This node is the base class for n'ary commutative operators. More... | |
class | llvm::SCEVAddExpr |
This node represents an addition of some number of SCEVs. More... | |
class | llvm::SCEVMulExpr |
This node represents multiplication of some number of SCEVs. More... | |
class | llvm::SCEVUDivExpr |
This class represents a binary unsigned division operation. More... | |
class | llvm::SCEVAddRecExpr |
This node represents a polynomial recurrence on the trip count of the specified loop. More... | |
class | llvm::SCEVSMaxExpr |
This class represents a signed maximum selection. More... | |
class | llvm::SCEVUMaxExpr |
This class represents an unsigned maximum selection. More... | |
class | llvm::SCEVUnknown |
This means that we are dealing with an entirely unknown SCEV value, and only represent it as its LLVM Value. More... | |
struct | llvm::SCEVVisitor< SC, RetVal > |
This class defines a simple visitor class that may be used for various SCEV analysis purposes. More... | |
class | llvm::SCEVTraversal< SV > |
Visit all nodes in the expression tree using worklist traversal. More... | |
class | llvm::SCEVRewriteVisitor< SC > |
This visitor recursively visits a SCEV expression and re-writes it. More... | |
class | llvm::SCEVParameterRewriter |
The SCEVParameterRewriter takes a scalar evolution expression and updates the SCEVUnknown components following the Map (Value -> Value). More... | |
class | llvm::SCEVLoopAddRecRewriter |
The SCEVLoopAddRecRewriter takes a scalar evolution expression and applies the Map (Loop -> SCEV) to all AddRecExprs. More... | |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
Typedefs | |
using | llvm::ValueToValueMap = DenseMap< const Value *, Value * > |
using | llvm::LoopToScevMapT = DenseMap< const Loop *, const SCEV * > |
Functions | |
template<typename SV > | |
void | llvm::visitAll (const SCEV *Root, SV &Visitor) |
Use SCEVTraversal to visit all nodes in the given expression tree. More... | |
template<typename PredTy > | |
bool | llvm::SCEVExprContains (const SCEV *Root, PredTy Pred) |
Return true if any node in Root satisfies the predicate Pred . More... | |