LLVM API Documentation
#include <ScalarEvolutionExpressions.h>
Public Member Functions | |
SCEVParameterRewriter (ScalarEvolution &S, ValueToValueMap &M, bool C) | |
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) |
Static Public Member Functions | |
static const SCEV * | rewrite (const SCEV *Scev, ScalarEvolution &SE, ValueToValueMap &Map, bool InterpretConsts=false) |
The SCEVParameterRewriter takes a scalar evolution expression and updates the SCEVUnknown components following the Map (Value -> Value).
Definition at line 638 of file ScalarEvolutionExpressions.h.
llvm::SCEVParameterRewriter::SCEVParameterRewriter | ( | ScalarEvolution & | S, |
ValueToValueMap & | M, | ||
bool | C | ||
) | [inline] |
Definition at line 648 of file ScalarEvolutionExpressions.h.
static const SCEV* llvm::SCEVParameterRewriter::rewrite | ( | const SCEV * | Scev, |
ScalarEvolution & | SE, | ||
ValueToValueMap & | Map, | ||
bool | InterpretConsts = false |
||
) | [inline, static] |
Definition at line 641 of file ScalarEvolutionExpressions.h.
References Rewriter, and llvm::SCEVVisitor< SC, RetVal >::visit().
Referenced by replaceSymbolicStrideSCEV().
const SCEV* llvm::SCEVParameterRewriter::visitAddExpr | ( | const SCEVAddExpr * | Expr | ) | [inline] |
Definition at line 670 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< SCEVParameterRewriter, const SCEV * >::visit().
const SCEV* llvm::SCEVParameterRewriter::visitAddRecExpr | ( | const SCEVAddRecExpr * | Expr | ) | [inline] |
Definition at line 688 of file ScalarEvolutionExpressions.h.
References 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< SCEVParameterRewriter, const SCEV * >::visit().
const SCEV* llvm::SCEVParameterRewriter::visitConstant | ( | const SCEVConstant * | Constant | ) | [inline] |
Definition at line 651 of file ScalarEvolutionExpressions.h.
References llvm::ISD::Constant.
const SCEV* llvm::SCEVParameterRewriter::visitCouldNotCompute | ( | const SCEVCouldNotCompute * | Expr | ) | [inline] |
Reimplemented from llvm::SCEVVisitor< SCEVParameterRewriter, const SCEV * >.
Definition at line 721 of file ScalarEvolutionExpressions.h.
const SCEV* llvm::SCEVParameterRewriter::visitMulExpr | ( | const SCEVMulExpr * | Expr | ) | [inline] |
Definition at line 677 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< SCEVParameterRewriter, const SCEV * >::visit().
const SCEV* llvm::SCEVParameterRewriter::visitSignExtendExpr | ( | const SCEVSignExtendExpr * | Expr | ) | [inline] |
Definition at line 665 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getSignExtendExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVVisitor< SCEVParameterRewriter, const SCEV * >::visit().
const SCEV* llvm::SCEVParameterRewriter::visitSMaxExpr | ( | const SCEVSMaxExpr * | Expr | ) | [inline] |
Definition at line 696 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< SCEVParameterRewriter, const SCEV * >::visit().
const SCEV* llvm::SCEVParameterRewriter::visitTruncateExpr | ( | const SCEVTruncateExpr * | Expr | ) | [inline] |
Definition at line 655 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getTruncateExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVVisitor< SCEVParameterRewriter, const SCEV * >::visit().
const SCEV* llvm::SCEVParameterRewriter::visitUDivExpr | ( | const SCEVUDivExpr * | Expr | ) | [inline] |
Definition at line 684 of file ScalarEvolutionExpressions.h.
References llvm::SCEVUDivExpr::getLHS(), llvm::SCEVUDivExpr::getRHS(), llvm::ScalarEvolution::getUDivExpr(), and llvm::SCEVVisitor< SCEVParameterRewriter, const SCEV * >::visit().
const SCEV* llvm::SCEVParameterRewriter::visitUMaxExpr | ( | const SCEVUMaxExpr * | Expr | ) | [inline] |
Definition at line 703 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< SCEVParameterRewriter, const SCEV * >::visit().
const SCEV* llvm::SCEVParameterRewriter::visitUnknown | ( | const SCEVUnknown * | Expr | ) | [inline] |
Definition at line 710 of file ScalarEvolutionExpressions.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::count(), llvm::ScalarEvolution::getConstant(), llvm::ScalarEvolution::getUnknown(), llvm::SCEVUnknown::getValue(), and llvm::AArch64CC::NV.
const SCEV* llvm::SCEVParameterRewriter::visitZeroExtendExpr | ( | const SCEVZeroExtendExpr * | Expr | ) | [inline] |
Definition at line 660 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::SCEVCastExpr::getType(), llvm::ScalarEvolution::getZeroExtendExpr(), and llvm::SCEVVisitor< SCEVParameterRewriter, const SCEV * >::visit().