LLVM API Documentation
#include <ScalarEvolutionExpressions.h>
Public Member Functions | |
SCEVApplyRewriter (ScalarEvolution &S, LoopToScevMapT &M) | |
const SCEV * | visitConstant (const SCEVConstant *Constant) |
const SCEV * | visitTruncateExpr (const SCEVTruncateExpr *Expr) |
const SCEV * | visitZeroExtendExpr (const SCEVZeroExtendExpr *Expr) |
const SCEV * | visitSignExtendExpr (const SCEVSignExtendExpr *Expr) |
const SCEV * | visitAddExpr (const SCEVAddExpr *Expr) |
const SCEV * | visitMulExpr (const SCEVMulExpr *Expr) |
const SCEV * | visitUDivExpr (const SCEVUDivExpr *Expr) |
const SCEV * | visitAddRecExpr (const SCEVAddRecExpr *Expr) |
const SCEV * | visitSMaxExpr (const SCEVSMaxExpr *Expr) |
const SCEV * | visitUMaxExpr (const SCEVUMaxExpr *Expr) |
const SCEV * | visitUnknown (const SCEVUnknown *Expr) |
const SCEV * | visitCouldNotCompute (const SCEVCouldNotCompute *Expr) |
![]() | |
const SCEV * | visit (const SCEV *S) |
const SCEV * | visitCouldNotCompute (const SCEVCouldNotCompute *S) |
Static Public Member Functions | |
static const SCEV * | rewrite (const SCEV *Scev, LoopToScevMapT &Map, ScalarEvolution &SE) |
The SCEVApplyRewriter takes a scalar evolution expression and applies the Map (Loop -> SCEV) to all AddRecExprs.
Definition at line 653 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 662 of file ScalarEvolutionExpressions.h.
|
inlinestatic |
Definition at line 656 of file ScalarEvolutionExpressions.h.
References Rewriter, and llvm::SCEVVisitor< SC, RetVal >::visit().
Referenced by llvm::apply().
|
inline |
Definition at line 684 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getAddExpr(), llvm::SCEVNAryExpr::getNumOperands(), llvm::SCEVNAryExpr::getOperand(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SCEVVisitor< SCEVApplyRewriter, const SCEV * >::visit().
|
inline |
Definition at line 702 of file ScalarEvolutionExpressions.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::count(), llvm::SCEVAddRecExpr::evaluateAtIteration(), llvm::ScalarEvolution::getAddRecExpr(), llvm::SCEVAddRecExpr::getLoop(), llvm::SCEVNAryExpr::getNoWrapFlags(), llvm::SCEVNAryExpr::getNumOperands(), llvm::SCEVNAryExpr::getOperand(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SCEVVisitor< SCEVApplyRewriter, const SCEV * >::visit().
|
inline |
Definition at line 665 of file ScalarEvolutionExpressions.h.
References llvm::ISD::Constant.
|
inline |
Definition at line 735 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 691 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getMulExpr(), llvm::SCEVNAryExpr::getNumOperands(), llvm::SCEVNAryExpr::getOperand(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SCEVVisitor< SCEVApplyRewriter, const SCEV * >::visit().
|
inline |
Definition at line 679 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getSignExtendExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVVisitor< SCEVApplyRewriter, const SCEV * >::visit().
|
inline |
Definition at line 717 of file ScalarEvolutionExpressions.h.
References llvm::SCEVNAryExpr::getNumOperands(), llvm::SCEVNAryExpr::getOperand(), llvm::ScalarEvolution::getSMaxExpr(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SCEVVisitor< SCEVApplyRewriter, const SCEV * >::visit().
|
inline |
Definition at line 669 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getTruncateExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVVisitor< SCEVApplyRewriter, const SCEV * >::visit().
|
inline |
Definition at line 698 of file ScalarEvolutionExpressions.h.
References llvm::SCEVUDivExpr::getLHS(), llvm::SCEVUDivExpr::getRHS(), llvm::ScalarEvolution::getUDivExpr(), and llvm::SCEVVisitor< SCEVApplyRewriter, const SCEV * >::visit().
|
inline |
Definition at line 724 of file ScalarEvolutionExpressions.h.
References llvm::SCEVNAryExpr::getNumOperands(), llvm::SCEVNAryExpr::getOperand(), llvm::ScalarEvolution::getUMaxExpr(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SCEVVisitor< SCEVApplyRewriter, const SCEV * >::visit().
|
inline |
Definition at line 731 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 674 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::SCEVCastExpr::getType(), llvm::ScalarEvolution::getZeroExtendExpr(), and llvm::SCEVVisitor< SCEVApplyRewriter, const SCEV * >::visit().