LLVM 20.0.0git
|
This visitor recursively visits a SCEV expression and re-writes it. More...
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
Protected Attributes | |
ScalarEvolution & | SE |
SmallDenseMap< const SCEV *, const SCEV * > | RewriteResults |
This visitor recursively visits a SCEV expression and re-writes it.
The result from each visit is cached, so it will return the same SCEV for the same input.
Definition at line 747 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 758 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 760 of file ScalarEvolutionExpressions.h.
References assert(), llvm::SCEVRewriteVisitor< SC >::RewriteResults, and llvm::SCEVVisitor< SC, RetVal >::visit().
Referenced by llvm::SCEVRewriteVisitor< SC >::visitAddExpr(), llvm::SCEVRewriteVisitor< SC >::visitAddRecExpr(), llvm::SCEVRewriteVisitor< SC >::visitMulExpr(), llvm::SCEVRewriteVisitor< SC >::visitSequentialUMinExpr(), llvm::SCEVRewriteVisitor< SC >::visitSMaxExpr(), llvm::SCEVRewriteVisitor< SC >::visitSMinExpr(), llvm::SCEVRewriteVisitor< SC >::visitUMaxExpr(), and llvm::SCEVRewriteVisitor< SC >::visitUMinExpr().
|
inline |
Definition at line 802 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getAddExpr(), llvm::SCEVNAryExpr::operands(), Operands, llvm::SCEVRewriteVisitor< SC >::SE, and llvm::SCEVRewriteVisitor< SC >::visit().
|
inline |
Definition at line 829 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getAddRecExpr(), llvm::SCEVAddRecExpr::getLoop(), llvm::SCEVNAryExpr::getNoWrapFlags(), llvm::SCEVNAryExpr::operands(), Operands, llvm::SCEVRewriteVisitor< SC >::SE, and llvm::SCEVRewriteVisitor< SC >::visit().
|
inline |
Definition at line 770 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 893 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 812 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getMulExpr(), llvm::SCEVNAryExpr::operands(), Operands, llvm::SCEVRewriteVisitor< SC >::SE, and llvm::SCEVRewriteVisitor< SC >::visit().
|
inline |
Definition at line 774 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getPtrToIntExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVRewriteVisitor< SC >::SE.
|
inline |
Definition at line 881 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getUMinExpr(), llvm::SCEVNAryExpr::operands(), Operands, llvm::SCEVRewriteVisitor< SC >::SE, and llvm::SCEVRewriteVisitor< SC >::visit().
|
inline |
Definition at line 795 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getSignExtendExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVRewriteVisitor< SC >::SE.
Referenced by llvm::ScalarEvolution::LoopGuards::rewrite().
|
inline |
Definition at line 841 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getSMaxExpr(), llvm::SCEVNAryExpr::operands(), Operands, llvm::SCEVRewriteVisitor< SC >::SE, and llvm::SCEVRewriteVisitor< SC >::visit().
|
inline |
Definition at line 861 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getSMinExpr(), llvm::SCEVNAryExpr::operands(), Operands, llvm::SCEVRewriteVisitor< SC >::SE, and llvm::SCEVRewriteVisitor< SC >::visit().
Referenced by llvm::ScalarEvolution::LoopGuards::rewrite().
|
inline |
Definition at line 781 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getTruncateExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVRewriteVisitor< SC >::SE.
|
inline |
Definition at line 822 of file ScalarEvolutionExpressions.h.
References llvm::SCEVUDivExpr::getLHS(), llvm::SCEVUDivExpr::getRHS(), llvm::ScalarEvolution::getUDivExpr(), LHS, RHS, and llvm::SCEVRewriteVisitor< SC >::SE.
|
inline |
Definition at line 851 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getUMaxExpr(), llvm::SCEVNAryExpr::operands(), Operands, llvm::SCEVRewriteVisitor< SC >::SE, and llvm::SCEVRewriteVisitor< SC >::visit().
|
inline |
Definition at line 871 of file ScalarEvolutionExpressions.h.
References llvm::ScalarEvolution::getUMinExpr(), llvm::SCEVNAryExpr::operands(), Operands, llvm::SCEVRewriteVisitor< SC >::SE, and llvm::SCEVRewriteVisitor< SC >::visit().
Referenced by llvm::ScalarEvolution::LoopGuards::rewrite().
|
inline |
Definition at line 891 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 772 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 788 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::SCEVCastExpr::getType(), llvm::ScalarEvolution::getZeroExtendExpr(), and llvm::SCEVRewriteVisitor< SC >::SE.
Referenced by llvm::ScalarEvolution::LoopGuards::rewrite().
|
protected |
Definition at line 755 of file ScalarEvolutionExpressions.h.
Referenced by llvm::SCEVRewriteVisitor< SC >::visit().
|
protected |
Definition at line 749 of file ScalarEvolutionExpressions.h.
Referenced by llvm::SCEVRewriteVisitor< SC >::visitAddExpr(), llvm::SCEVRewriteVisitor< SC >::visitAddRecExpr(), llvm::SCEVRewriteVisitor< SC >::visitMulExpr(), llvm::SCEVRewriteVisitor< SC >::visitPtrToIntExpr(), llvm::SCEVRewriteVisitor< SC >::visitSequentialUMinExpr(), llvm::SCEVRewriteVisitor< SC >::visitSignExtendExpr(), llvm::SCEVRewriteVisitor< SC >::visitSMaxExpr(), llvm::SCEVRewriteVisitor< SC >::visitSMinExpr(), llvm::SCEVRewriteVisitor< SC >::visitTruncateExpr(), llvm::SCEVRewriteVisitor< SC >::visitUDivExpr(), llvm::SCEVRewriteVisitor< SC >::visitUMaxExpr(), llvm::SCEVRewriteVisitor< SC >::visitUMinExpr(), and llvm::SCEVRewriteVisitor< SC >::visitZeroExtendExpr().