|
LLVM 23.0.0git
|
Classes | |
| struct | match_combine_and |
| Matching and combinator leaf case. More... | |
| struct | match_combine_and< Ty, Tys... > |
| Matching and combinator. More... | |
| struct | match_combine_or |
| Matching or combinator leaf case. More... | |
| struct | match_combine_or< Ty, Tys... > |
| Matching or combinator. More... | |
| struct | match_isa |
| A match-wrapper around isa. More... | |
Functions | |
| template<typename... Ty> | |
| match_combine_or< Ty... > | m_CombineOr (const Ty &...Ps) |
| Combine pattern matchers matching any of Ps patterns. | |
| template<typename... Ty> | |
| match_combine_and< Ty... > | m_CombineAnd (const Ty &...Ps) |
| Combine pattern matchers matching all of Ps patterns. | |
| template<typename... To> | |
| match_isa< To... > | m_Isa () |
| template<typename... To, typename SubPattern> | |
| auto | m_Isa (const SubPattern &P) |
| A variant of m_Isa that also matches SubPattern. | |
|
inline |
Combine pattern matchers matching all of Ps patterns.
Definition at line 62 of file PatternMatchHelpers.h.
Referenced by detectShiftUntilBitTestIdiom(), dropRedundantMaskingOfLeftShiftInput(), llvm::InstCombinerImpl::foldBinOpShiftWithShift(), llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(), llvm::InstCombinerImpl::foldICmpEquality(), llvm::InstCombinerImpl::foldICmpUsingBoolRange(), llvm::InstCombinerImpl::foldIRemByPowerOfTwoToBitTest(), foldMaskedAddXorPattern(), llvm::InstCombinerImpl::foldMultiplicationOverflowCheck(), foldShiftIntoShiftInAnotherHandOfAndInICmp(), llvm::PatternMatch::m_Intrinsic(), llvm::PatternMatch::m_Intrinsic(), llvm::PatternMatch::m_Intrinsic(), llvm::PatternMatch::m_Intrinsic(), llvm::PatternMatch::m_Intrinsic(), llvm::PatternMatch::m_Intrinsic(), llvm::VPlanPatternMatch::m_Intrinsic(), llvm::VPlanPatternMatch::m_Intrinsic(), llvm::VPlanPatternMatch::m_Intrinsic(), llvm::VPlanPatternMatch::m_Intrinsic(), m_Isa(), matchExpandedRem(), reassociateMinMaxWithConstantInOperand(), llvm::InstCombinerImpl::reassociateShiftAmtsOfTwoSameDirectionShifts(), simplifyAndInst(), simplifyOrLogic(), simplifyXorInst(), and llvm::InstCombinerImpl::visitICmpInst().
|
inline |
Combine pattern matchers matching any of Ps patterns.
Definition at line 56 of file PatternMatchHelpers.h.
Referenced by addValueAffectedByCondition(), collectUnswitchCandidates(), computeKnownBitsFromCmp(), computeKnownBitsFromLerpPattern(), llvm::ConstantFoldBinaryInstruction(), dropRedundantMaskingOfLeftShiftInput(), fixupVFUsersForEVL(), foldBoxMultiply(), llvm::InstCombinerImpl::foldICmpEquality(), foldICmpWithHighBitMask(), llvm::InstCombinerImpl::foldSelectShuffle(), foldShuffleOfUnaryOps(), foldTwoEntryPHINode(), foldVecTruncToExtElt(), slpvectorizer::BoUpSLP::LookAheadHeuristics::getShallowScore(), hasConditionalTerminator(), llvm::isCheckForZeroAndMulWithOverflow(), llvm::RecurrenceDescriptor::isFindPattern(), llvm::vputils::isHeaderMask(), isKnownMonotonic(), isKnownNonZeroFromAssume(), isMultipleOfN(), isSignificantBitCheckWellFormed(), llvm::PatternMatch::m_AddLike(), m_AnyAdd(), m_AnyMul(), llvm::VPlanPatternMatch::m_c_LogicalAnd(), llvm::PatternMatch::m_c_MaxOrMin(), llvm::VPlanPatternMatch::m_c_Select(), llvm::PatternMatch::m_CastOrSelf(), llvm::PatternMatch::m_FMaxNum_or_FMaximumNum(), llvm::PatternMatch::m_FMinNum_or_FMinimumNum(), llvm::PatternMatch::m_FPToI(), llvm::VPlanPatternMatch::m_GetElementPtr(), llvm::PatternMatch::m_IToFP(), llvm::VPlanPatternMatch::m_LogicalAnd(), llvm::PatternMatch::m_LogicalOp(), llvm::VPlanPatternMatch::m_LogicalOr(), llvm::PatternMatch::m_MaxOrMin(), llvm::VPlanPatternMatch::m_Not(), llvm::PatternMatch::m_NSWAddLike(), llvm::PatternMatch::m_NUWAddLike(), llvm::PatternMatch::m_OrdOrUnordFMax(), llvm::PatternMatch::m_OrdOrUnordFMin(), llvm::PatternMatch::m_PtrToIntOrAddr(), llvm::PatternMatch::m_SExtLike(), llvm::PatternMatch::m_SExtOrSelf(), llvm::PatternMatch::m_TruncOrSelf(), llvm::VPlanPatternMatch::m_TruncOrSelf(), llvm::VPlanPatternMatch::m_WidenAnyExtend(), llvm::PatternMatch::m_ZExtOrSelf(), llvm::VPlanPatternMatch::m_ZExtOrSelf(), llvm::PatternMatch::m_ZExtOrSExt(), llvm::VPlanPatternMatch::m_ZExtOrSExt(), llvm::PatternMatch::m_ZExtOrSExtOrSelf(), llvm::PatternMatch::m_ZExtOrTruncOrSelf(), llvm::VPlanPatternMatch::m_ZExtOrTruncOrSelf(), markAliveBlocks(), matchesSquareSum(), matchSelectPattern(), matchZExtedSubInteger(), optimizeShiftInOrChain(), llvm::InstCombinerImpl::reassociateShiftAmtsOfTwoSameDirectionShifts(), shouldCanonicalizeGEPToPtrAdd(), llvm::TargetTransformInfoImplBase::shouldTreatInstructionLikeSelect(), simplifyAndOrOfFCmps(), simplifyBranchConditionForVFAndUF(), simplifyRecipe(), simplifySelectWithICmpCond(), tryToMatchAndCreateExtendedReduction(), tryToMoveFreeBeforeNullTest(), llvm::JumpThreadingPass::tryToUnfoldSelectInCurrBB(), llvm::InstCombinerImpl::visitAnd(), llvm::InstCombinerImpl::visitCallInst(), and llvm::InstCombinerImpl::visitTrunc().
|
inline |
Definition at line 73 of file PatternMatchHelpers.h.
Referenced by fixupVFUsersForEVL(), llvm::PatternMatch::m_AnyIntrinsic(), llvm::PatternMatch::m_BasicBlock(), llvm::PatternMatch::m_BinOp(), llvm::VPlanPatternMatch::m_CanonicalIV(), llvm::PatternMatch::m_Cmp(), llvm::PatternMatch::m_Constant(), llvm::PatternMatch::m_ConstantFP(), llvm::PatternMatch::m_ConstantInt(), m_Isa(), llvm::VPlanPatternMatch::m_LiveIn(), llvm::SCEVPatternMatch::m_Loop(), llvm::PatternMatch::m_Poison(), llvm::SCEVPatternMatch::m_SCEV(), llvm::SCEVPatternMatch::m_SCEVConstant(), llvm::SCEVPatternMatch::m_SCEVVScale(), llvm::PatternMatch::m_UndefValue(), llvm::PatternMatch::m_UnOp(), llvm::PatternMatch::m_Value(), llvm::VPlanPatternMatch::m_VPValue(), llvm::VPlanPatternMatch::m_WidenAnyExtend(), and tryToMatchAndCreateExtendedReduction().
|
inline |
A variant of m_Isa that also matches SubPattern.
Definition at line 79 of file PatternMatchHelpers.h.
References m_CombineAnd(), m_Isa(), and P.