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.
References SE.
|
inline |
Definition at line 763 of file ScalarEvolutionExpressions.h.
References assert(), RewriteResults, and llvm::SCEVVisitor< SC, RetVal >::visit().
Referenced by llvm::ScalarEvolution::LoopGuards::rewrite(), visitAddExpr(), visitAddRecExpr(), visitMulExpr(), visitSequentialUMinExpr(), visitSMaxExpr(), visitSMinExpr(), visitUMaxExpr(), and visitUMinExpr().
|
inline |
Definition at line 805 of file ScalarEvolutionExpressions.h.
References Changed, Operands, llvm::SCEVNAryExpr::operands(), SE, and visit().
|
inline |
Definition at line 832 of file ScalarEvolutionExpressions.h.
References Changed, llvm::SCEVAddRecExpr::getLoop(), llvm::SCEVNAryExpr::getNoWrapFlags(), Operands, llvm::SCEVNAryExpr::operands(), SE, and 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 Changed, Operands, llvm::SCEVNAryExpr::operands(), SE, and visit().
|
inline |
Definition at line 777 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::SCEVCastExpr::getType(), and SE.
|
inline |
Definition at line 884 of file ScalarEvolutionExpressions.h.
References Changed, Operands, llvm::SCEVNAryExpr::operands(), SE, and visit().
|
inline |
Definition at line 798 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::SCEVCastExpr::getType(), and SE.
Referenced by llvm::ScalarEvolution::LoopGuards::rewrite().
|
inline |
Definition at line 844 of file ScalarEvolutionExpressions.h.
References Changed, Operands, llvm::SCEVNAryExpr::operands(), SE, and visit().
|
inline |
Definition at line 864 of file ScalarEvolutionExpressions.h.
References Changed, Operands, llvm::SCEVNAryExpr::operands(), SE, and visit().
Referenced by llvm::ScalarEvolution::LoopGuards::rewrite().
|
inline |
Definition at line 784 of file ScalarEvolutionExpressions.h.
References llvm::SCEVCastExpr::getOperand(), llvm::SCEVCastExpr::getType(), and SE.
|
inline |
Definition at line 825 of file ScalarEvolutionExpressions.h.
References Changed, llvm::SCEVUDivExpr::getLHS(), llvm::SCEVUDivExpr::getRHS(), LHS, RHS, and SE.
|
inline |
Definition at line 854 of file ScalarEvolutionExpressions.h.
References Changed, Operands, llvm::SCEVNAryExpr::operands(), SE, and visit().
|
inline |
Definition at line 874 of file ScalarEvolutionExpressions.h.
References Changed, Operands, llvm::SCEVNAryExpr::operands(), SE, and 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(), and SE.
Referenced by llvm::ScalarEvolution::LoopGuards::rewrite().
|
protected |
Definition at line 758 of file ScalarEvolutionExpressions.h.
Referenced by visit().
|
protected |
Definition at line 752 of file ScalarEvolutionExpressions.h.
Referenced by SCEVRewriteVisitor(), visitAddExpr(), visitAddRecExpr(), visitMulExpr(), visitPtrToIntExpr(), visitSequentialUMinExpr(), visitSignExtendExpr(), visitSMaxExpr(), visitSMinExpr(), visitTruncateExpr(), visitUDivExpr(), visitUMaxExpr(), visitUMinExpr(), and visitZeroExtendExpr().