|
LLVM 22.0.0git
|
#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/Analysis/ScalarEvolution.h"#include "llvm/IR/Constants.h"#include "llvm/IR/ValueHandle.h"#include "llvm/Support/Casting.h"#include "llvm/Support/Compiler.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::SCEVVScale |
| This class represents the value of vscale, as used when defining the length of a scalable vector or returned by the llvm.vscale() intrinsic. More... | |
| class | llvm::SCEVCastExpr |
| This is the base class for unary cast operator classes. More... | |
| class | llvm::SCEVPtrToIntExpr |
| This class represents a cast from a pointer to a pointer-sized integer value. More... | |
| class | llvm::SCEVIntegralCastExpr |
| This is the base class for unary integral 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::SCEVMinMaxExpr |
| This node is the base class min/max selections. 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::SCEVSMinExpr |
| This class represents a signed minimum selection. More... | |
| class | llvm::SCEVUMinExpr |
| This class represents an unsigned minimum selection. More... | |
| class | llvm::SCEVSequentialMinMaxExpr |
| This node is the base class for sequential/in-order min/max selections. More... | |
| class | llvm::SCEVSequentialUMinExpr |
| This class represents a sequential/in-order unsigned minimum 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 -> SCEV). More... | |
| class | llvm::SCEVLoopAddRecRewriter |
| The SCEVLoopAddRecRewriter takes a scalar evolution expression and applies the Map (Loop -> SCEV) to all AddRecExprs. More... | |
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
Typedefs | |
| using | llvm::ValueToValueMap = DenseMap<const Value *, Value *> |
| using | llvm::ValueToSCEVMapTy = DenseMap<const Value *, const SCEV *> |
| using | llvm::LoopToScevMapT = DenseMap<const Loop *, const SCEV *> |
Enumerations | |
| enum | llvm::SCEVTypes : unsigned short { llvm::scConstant , llvm::scVScale , llvm::scTruncate , llvm::scZeroExtend , llvm::scSignExtend , llvm::scAddExpr , llvm::scMulExpr , llvm::scUDivExpr , llvm::scAddRecExpr , llvm::scUMaxExpr , llvm::scSMaxExpr , llvm::scUMinExpr , llvm::scSMinExpr , llvm::scSequentialUMinExpr , llvm::scPtrToInt , llvm::scUnknown , llvm::scCouldNotCompute } |
Functions | |
| unsigned short | llvm::computeExpressionSize (ArrayRef< const SCEV * > Args) |
| template<typename SV> | |
| void | llvm::visitAll (const SCEV *Root, SV &Visitor) |
| Use SCEVTraversal to visit all nodes in the given expression tree. | |
| template<typename PredTy> | |
| bool | llvm::SCEVExprContains (const SCEV *Root, PredTy Pred) |
Return true if any node in Root satisfies the predicate Pred. | |