LLVM 22.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 750 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 761 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 763 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 805 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 832 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 773 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 896 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 815 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 777 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getPtrToIntExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVRewriteVisitor< SC >::SE.
|
inline |
Definition at line 884 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 798 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 844 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 864 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 784 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getTruncateExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVRewriteVisitor< SC >::SE.
|
inline |
Definition at line 825 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 854 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 874 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 894 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 775 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 791 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 758 of file ScalarEvolutionExpressions.h.
Referenced by llvm::SCEVRewriteVisitor< SC >::visit().
|
protected |
Definition at line 752 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().