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 | SCEVURem_match |
Match unsigned remainder pattern. More... | |
struct | specificloop_ty |
Match a specified const Loop*. More... | |
struct | specificscev_ty |
Match a specified const SCEV *. More... |
|
inline |
Definition at line 329 of file ScalarEvolutionPatternMatch.h.
Referenced by DoInitialMatch(), IsKnownPredicateViaAddRecStart(), and m_scev_AffineAddRec().
Definition at line 356 of file ScalarEvolutionPatternMatch.h.
|
inline |
Definition at line 63 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::canPeelLastIteration(), CollectSubexprs(), DoInitialMatch(), llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getMulExpr(), getStrideFromPointer(), llvm::ScalarEvolution::getUDivExpr(), llvm::ScalarEvolution::getZeroExtendExprImpl(), isBigEndianBitShift(), isHighCostExpansion(), isKnownPredicateExtendIdiom(), IsKnownPredicateViaAddRecStart(), isLoopCounter(), llvm::SCEVPatternMatch::SCEVURem_match< Op0_t, Op1_t >::match(), mayUsePostIncMode(), llvm::LoopVectorizationCostModel::setVectorizedCallDecision(), and llvm::ScalarEvolution::SimplifyICmpOperands().
Match a SCEV, capturing it if we match.
Definition at line 86 of file ScalarEvolutionPatternMatch.h.
|
inline |
Definition at line 225 of file ScalarEvolutionPatternMatch.h.
References m_scev_Binary().
|
inline |
Definition at line 94 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::ScalarEvolution::getAddExpr(), and llvm::ScalarEvolution::getMulExpr().
|
inline |
Definition at line 360 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 367 of file ScalarEvolutionPatternMatch.h.
|
inline |
Match an integer with all bits set.
Definition at line 55 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::ScalarEvolution::getAddExpr(), and 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 218 of file ScalarEvolutionPatternMatch.h.
Referenced by m_scev_Add(), m_scev_c_Mul(), m_scev_c_NUWMul(), m_scev_Mul(), and m_scev_UDiv().
|
inline |
Definition at line 237 of file ScalarEvolutionPatternMatch.h.
References m_scev_Binary().
Referenced by llvm::ScalarEvolution::SimplifyICmpOperands().
|
inline |
Definition at line 244 of file ScalarEvolutionPatternMatch.h.
References m_scev_Binary().
Referenced by llvm::ScalarEvolution::getUDivExpr().
|
inline |
Definition at line 231 of file ScalarEvolutionPatternMatch.h.
References m_scev_Binary().
Referenced by canFoldIVIncExpr(), CollectSubexprs(), ExtractImmediate(), llvm::ScalarEvolution::getAddExpr(), 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.
References m_scev_Unary().
Referenced by isKnownPredicateExtendIdiom(), and isSimpleCastedPHI().
|
inline |
Match if we have a specific specified SCEV.
Definition at line 108 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::ScalarEvolution::getAddExpr(), isKnownPredicateExtendIdiom(), IsKnownPredicateViaAddRecStart(), and isSimpleCastedPHI().
|
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 187 of file ScalarEvolutionPatternMatch.h.
References m_scev_Unary().
Referenced by isSimpleCastedPHI(), and llvm::SCEVPatternMatch::SCEVURem_match< Op0_t, Op1_t >::match().
|
inline |
Definition at line 251 of file ScalarEvolutionPatternMatch.h.
References m_scev_Binary().
Referenced by llvm::ScalarEvolution::getMulExpr(), and isBigEndianBitShift().
|
inline |
Definition at line 163 of file ScalarEvolutionPatternMatch.h.
Referenced by m_scev_SExt(), m_scev_Trunc(), and m_scev_ZExt().
|
inline |
Match the mathematical pattern A - (A / B) * B, where A and B can be arbitrary expressions.
Also match zext (trunc A to iB) to iY, which is used for URem with constant power-of-2 second operands. It's not always easy, as A and B can be folded (imagine A is X / 2, and B is 4, A / B becomes X / 8).
Definition at line 324 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::ScalarEvolution::getAddExpr(), and llvm::ScalarEvolution::getZeroExtendExprImpl().
|
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.
References m_scev_Unary().
Referenced by llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getMulExpr(), isKnownPredicateExtendIdiom(), isSimpleCastedPHI(), and llvm::SCEVPatternMatch::SCEVURem_match< Op0_t, Op1_t >::match().
|
inline |
Definition at line 64 of file ScalarEvolutionPatternMatch.h.
Referenced by CollectSubexprs(), llvm::ScalarEvolution::getMulExpr(), 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(), getSmallConstantTripCount(), llvm::ScalarEvolution::getUDivExpr(), and llvm::ScalarEvolution::SimplifyICmpOperands().
|
inline |
Definition at line 354 of file ScalarEvolutionPatternMatch.h.
Referenced by llvm::canPeelLastIteration(), getStrideFromPointer(), IsKnownPredicateViaAddRecStart(), isLoopCounter(), and llvm::LoopVectorizationCostModel::setVectorizedCallDecision().
Definition at line 21 of file ScalarEvolutionPatternMatch.h.
References P.
Referenced by canFoldIVIncExpr(), llvm::canPeelLastIteration(), CollectSubexprs(), countToEliminateCompares(), DoInitialMatch(), emitTransformedIndex(), ExtractImmediate(), fixReductionScalarResumeWhenVectorizingEpilog(), llvm::LoopVectorizationCostModel::getInstructionCost(), llvm::LoopVectorizationCostModel::getReductionPatternCost(), getSmallConstantTripCount(), getStartValueFromReductionResult(), isHighCostExpansion(), isLoopCounter(), isSignificantBitCheckWellFormed(), llvm::SCEVPatternMatch::SCEVURem_match< Op0_t, Op1_t >::match(), RecurrenceInfo::matchConditionalRecurrence(), mayUsePostIncMode(), optimizeLoopExitWithUnknownExitCount(), planContainsAdditionalSimplifications(), and llvm::LoopVectorizationCostModel::setVectorizedCallDecision().