LLVM 22.0.0git
|
Classes | |
struct | bind_cst_ty |
struct | bind_ty |
struct | class_match |
struct | cst_pred_ty |
struct | is_all_ones |
struct | is_one |
struct | is_specific_cst |
struct | is_specific_signed_cst |
struct | is_zero |
struct | SCEVAffineAddRec_match |
Match an affine SCEVAddRecExpr. More... | |
struct | SCEVBinaryExpr_match |
Match a binary SCEV. More... | |
struct | SCEVUnaryExpr_match |
Match a unary SCEV. More... | |
struct | specificloop_ty |
Match a specified const Loop*. More... | |
struct | specificscev_ty |
Match a specified const SCEV *. More... | |
|
inline |
Definition at line 224 of file ScalarEvolutionPatternMatch.h.
Referenced by DoInitialMatch(), IsKnownPredicateViaAddRecStart(), and m_scev_AffineAddRec().
Definition at line 251 of file ScalarEvolutionPatternMatch.h.
|
inline |
Definition at line 63 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::canPeelLastIteration(), CollectSubexprs(), DoInitialMatch(), getStrideFromPointer(), isBigEndianBitShift(), isHighCostExpansion(), isKnownPredicateExtendIdiom(), IsKnownPredicateViaAddRecStart(), isLoopCounter(), mayUsePostIncMode(), and llvm::LoopVectorizationCostModel::setVectorizedCallDecision().
Match a SCEV, capturing it if we match.
Definition at line 86 of file ScalarEvolutionPatternMatch.h.
|
inline |
Definition at line 208 of file ScalarEvolutionPatternMatch.h.
|
inline |
Definition at line 94 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::ScalarEvolution::getAddExpr(), and llvm::ScalarEvolution::getMulExpr().
|
inline |
Definition at line 255 of file ScalarEvolutionPatternMatch.h.
References m_Loop().
Referenced by llvm::canPeelLastIteration(), CollectSubexprs(), DoInitialMatch(), getStrideFromPointer(), IsKnownPredicateViaAddRecStart(), isLoopCounter(), mayUsePostIncMode(), and llvm::LoopVectorizationCostModel::setVectorizedCallDecision().
|
inline |
Definition at line 262 of file ScalarEvolutionPatternMatch.h.
|
inline |
Match an integer with all bits set.
Definition at line 55 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::SCEV::isAllOnesValue().
|
inline |
Match an SCEV constant and bind it to an APInt.
Definition at line 148 of file ScalarEvolutionPatternMatch.h.
References llvm::CallingConv::C.
Referenced by canFoldIVIncExpr(), ExtractImmediate(), getSmallConstantTripCount(), getStrideFromAddRec(), and mayLoopAccessLocation().
|
inline |
Definition at line 202 of file ScalarEvolutionPatternMatch.h.
|
inline |
Definition at line 214 of file ScalarEvolutionPatternMatch.h.
Referenced by canFoldIVIncExpr(), CollectSubexprs(), ExtractImmediate(), getSmallConstantTripCount(), isBigEndianBitShift(), and isHighCostExpansion().
|
inline |
Match an integer 1.
Definition at line 48 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::canPeelLastIteration(), isLoopCounter(), and llvm::SCEV::isOne().
|
inline |
Definition at line 181 of file ScalarEvolutionPatternMatch.h.
|
inline |
Definition at line 169 of file ScalarEvolutionPatternMatch.h.
Referenced by isKnownPredicateExtendIdiom().
|
inline |
Match if we have a specific specified SCEV.
Definition at line 108 of file ScalarEvolutionPatternMatch.h.
Referenced by isKnownPredicateExtendIdiom(), and IsKnownPredicateViaAddRecStart().
|
inline |
Match an SCEV constant with a plain unsigned integer.
Definition at line 117 of file ScalarEvolutionPatternMatch.h.
Referenced by isBigEndianBitShift().
|
inline |
Match an SCEV constant with a plain signed integer (sign-extended value will be matched)
Definition at line 127 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::LoopVectorizationCostModel::setVectorizedCallDecision().
|
inline |
Definition at line 220 of file ScalarEvolutionPatternMatch.h.
Referenced by isBigEndianBitShift().
|
inline |
Definition at line 163 of file ScalarEvolutionPatternMatch.h.
|
inline |
Match an integer 0.
Definition at line 41 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::ScalarEvolution::getUDivExpr(), and llvm::SCEV::isZero().
|
inline |
Definition at line 175 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getMulExpr(), and isKnownPredicateExtendIdiom().
|
inline |
Definition at line 64 of file ScalarEvolutionPatternMatch.h.
Referenced by CollectSubexprs(), and mayUsePostIncMode().
|
inline |
Definition at line 87 of file ScalarEvolutionPatternMatch.h.
|
inline |
Definition at line 90 of file ScalarEvolutionPatternMatch.h.
|
inline |
Definition at line 67 of file ScalarEvolutionPatternMatch.h.
Referenced by canFoldIVIncExpr(), ExtractImmediate(), and getSmallConstantTripCount().
|
inline |
Definition at line 249 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::canPeelLastIteration(), getStrideFromPointer(), IsKnownPredicateViaAddRecStart(), isLoopCounter(), and llvm::LoopVectorizationCostModel::setVectorizedCallDecision().
bool llvm::SCEVPatternMatch::match | ( | const SCEV * | S, |
const Pattern & | P | ||
) |
Definition at line 21 of file ScalarEvolutionPatternMatch.h.
References P.
Referenced by canFoldIVIncExpr(), llvm::canPeelLastIteration(), CollectSubexprs(), countToEliminateCompares(), DoInitialMatch(), ExtractImmediate(), getSmallConstantTripCount(), isHighCostExpansion(), isLoopCounter(), RecurrenceInfo::matchConditionalRecurrence(), mayUsePostIncMode(), and optimizeLoopExitWithUnknownExitCount().