LLVM 20.0.0git
|
#include "llvm/Analysis/ScalarEvolutionDivision.h"
Static Public Member Functions | |
static void | divide (ScalarEvolution &SE, const SCEV *Numerator, const SCEV *Denominator, const SCEV **Quotient, const SCEV **Remainder) |
Definition at line 26 of file ScalarEvolutionDivision.h.
|
static |
Definition at line 55 of file ScalarEvolutionDivision.cpp.
References assert(), D, divide(), llvm::SCEV::isOne(), and llvm::SCEV::isZero().
Referenced by llvm::computeAccessFunctions(), divide(), llvm::findArrayDimensions(), findArrayDimensionsRec(), visitAddExpr(), visitAddRecExpr(), and visitMulExpr().
void SCEVDivision::visitAddExpr | ( | const SCEVAddExpr * | Numerator | ) |
Definition at line 150 of file ScalarEvolutionDivision.cpp.
References divide(), llvm::ScalarEvolution::getAddExpr(), llvm::SCEV::getType(), llvm::SCEVNAryExpr::operands(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorBase< Size_T >::size().
void SCEVDivision::visitAddRecExpr | ( | const SCEVAddRecExpr * | Numerator | ) |
Definition at line 133 of file ScalarEvolutionDivision.cpp.
References divide(), llvm::ScalarEvolution::getAddRecExpr(), llvm::SCEVAddRecExpr::getLoop(), llvm::SCEVNAryExpr::getNoWrapFlags(), llvm::SCEVAddRecExpr::getStart(), llvm::SCEVAddRecExpr::getStepRecurrence(), llvm::SCEV::getType(), and llvm::SCEVAddRecExpr::isAffine().
void SCEVDivision::visitConstant | ( | const SCEVConstant * | Numerator | ) |
Definition at line 108 of file ScalarEvolutionDivision.cpp.
References D, llvm::SCEVConstant::getAPInt(), llvm::APInt::getBitWidth(), llvm::ScalarEvolution::getConstant(), llvm::APInt::sdivrem(), and llvm::APInt::sext().
|
inline |
Definition at line 47 of file ScalarEvolutionDivision.h.
void SCEVDivision::visitMulExpr | ( | const SCEVMulExpr * | Numerator | ) |
Definition at line 176 of file ScalarEvolutionDivision.cpp.
References divide(), llvm::ScalarEvolution::getMinusSCEV(), llvm::ScalarEvolution::getMulExpr(), llvm::SCEV::getType(), llvm::SCEV::isZero(), llvm::SCEVNAryExpr::operands(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SCEVParameterRewriter::rewrite(), and llvm::SmallVectorBase< Size_T >::size().
|
inline |
Definition at line 36 of file ScalarEvolutionDivision.h.
|
inline |
Definition at line 45 of file ScalarEvolutionDivision.h.
|
inline |
Definition at line 39 of file ScalarEvolutionDivision.h.
|
inline |
Definition at line 41 of file ScalarEvolutionDivision.h.
|
inline |
Definition at line 43 of file ScalarEvolutionDivision.h.
|
inline |
Definition at line 37 of file ScalarEvolutionDivision.h.
|
inline |
Definition at line 40 of file ScalarEvolutionDivision.h.
|
inline |
Definition at line 42 of file ScalarEvolutionDivision.h.
|
inline |
Definition at line 44 of file ScalarEvolutionDivision.h.
|
inline |
Definition at line 46 of file ScalarEvolutionDivision.h.
void SCEVDivision::visitVScale | ( | const SCEVVScale * | Numerator | ) |
Definition at line 129 of file ScalarEvolutionDivision.cpp.
|
inline |
Definition at line 38 of file ScalarEvolutionDivision.h.