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 746 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 757 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 759 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 801 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 828 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 769 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 892 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 811 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 773 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getPtrToIntExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVRewriteVisitor< SC >::SE.
|
inline |
Definition at line 880 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 794 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 840 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 860 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 780 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::ScalarEvolution::getTruncateExpr(), llvm::SCEVCastExpr::getType(), and llvm::SCEVRewriteVisitor< SC >::SE.
|
inline |
Definition at line 821 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 850 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 870 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 890 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 771 of file ScalarEvolutionExpressions.h.
|
inline |
Definition at line 787 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 754 of file ScalarEvolutionExpressions.h.
Referenced by llvm::SCEVRewriteVisitor< SC >::visit().
|
protected |
Definition at line 748 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().