|
LLVM 24.0.0git
|
Classes | |
| struct | AllOnesConstantMatch |
| Matches an integer constant with all bits set, regardless of width. More... | |
| struct | And |
| Matching combinators. More... | |
| struct | And< Pred, Preds... > |
| struct | AnyImmMatch |
| Matches any immediate operand. More... | |
| struct | BinaryOp_match |
| struct | BinaryOpc_match |
| struct | bind_helper |
| struct | bind_helper< const ConstantFP * > |
| struct | bind_helper< const MachineInstr * > |
| struct | bind_helper< LLT > |
| struct | bind_helper< MachineInstr * > |
| struct | bind_ty |
| struct | BindImmMatch |
| struct | CheckType |
| struct | ClassifyOp_match |
| struct | CompareOp_match |
| struct | ConstantMatch |
| struct | deferred_helper |
| struct | deferred_helper< LLT > |
| struct | deferred_ty |
| struct | GConstantBitsMatch |
Match a literal G_CONSTANT or G_FCONSTANT, binding its raw bits to Bits (the integer value, or the float reinterpreted as an integer). More... | |
| struct | GCstAndRegMatch |
| struct | GFCstAndRegMatch |
| struct | GFCstOrSplatGFCstMatch |
| struct | GFCstPredMatch |
| Matches an FP constant whose value satisfies the given predicate. More... | |
| struct | GFrameIndexMatch |
| Matches a G_FRAME_INDEX, binding its frame index. More... | |
| struct | GInstrBind |
Binds the defining instruction of Reg if it is a Class. More... | |
| struct | GIntrinsic_match |
| Matches a GIntrinsic with a specific intrinsic ID and optionally, matchers for its leading arguments. More... | |
| struct | ICstOrSplatMatch |
| struct | ImplicitDefMatch |
| struct | LoadOp_match |
Match a load of type Class, matching its pointer operand and optionally binding the instruction and/or its MachineMemOperand. More... | |
| struct | MIFlagsRef |
| Wraps a MIFlags output for use as an optional trailing operand of an instruction matcher (e.g. More... | |
| struct | MMORef |
| Optional trailing operand for a load matcher (e.g. More... | |
| struct | OneUse_match |
| struct | operand_type_match |
| struct | Or |
| struct | Or< Pred, Preds... > |
| struct | ShuffleVectorMatch |
| Matches a G_SHUFFLE_VECTOR, binding its two source operands and its mask. More... | |
| struct | SpecificConstantMatch |
| Matcher for a specific constant value. More... | |
| struct | SpecificConstantOrSplatMatch |
| Matcher for a specific constant or constant splat. More... | |
| struct | SpecificConstantSplatMatch |
| Matcher for a specific constant splat. More... | |
| struct | SpecificImmMatch |
| struct | SpecificRegisterMatch |
| Matcher for a specific register. More... | |
| struct | SrcImmOp_match |
| Matches an op that binds a source operand and an immediate operand with sub-matchers (e.g. More... | |
| struct | TernaryOp_match |
| struct | UnaryOp_match |
Functions | |
| template<typename Reg, typename Pattern> | |
| bool | mi_match (Reg R, const MachineRegisterInfo &MRI, Pattern &&P) |
| template<typename Pattern> | |
| bool | mi_match (MachineInstr &MI, const MachineRegisterInfo &MRI, Pattern &&P) |
| template<typename Pattern> | |
| bool | mi_match (const MachineInstr &MI, const MachineRegisterInfo &MRI, Pattern &&P) |
| template<typename SubPat> | |
| OneUse_match< SubPat > | m_OneUse (const SubPat &SP) |
| template<typename ConstT> | |
| std::optional< ConstT > | matchConstant (Register, const MachineRegisterInfo &) |
| template<> | |
| std::optional< APInt > | matchConstant (Register Reg, const MachineRegisterInfo &MRI) |
| template<> | |
| std::optional< int64_t > | matchConstant (Register Reg, const MachineRegisterInfo &MRI) |
| ConstantMatch< APInt > | m_ICst (APInt &Cst) |
| ConstantMatch< int64_t > | m_ICst (int64_t &Cst) |
| template<typename ConstT> | |
| std::optional< ConstT > | matchConstantSplat (Register, const MachineRegisterInfo &) |
| template<> | |
| std::optional< APInt > | matchConstantSplat (Register Reg, const MachineRegisterInfo &MRI) |
| template<> | |
| std::optional< int64_t > | matchConstantSplat (Register Reg, const MachineRegisterInfo &MRI) |
| ICstOrSplatMatch< APInt > | m_ICstOrSplat (APInt &Cst) |
| ICstOrSplatMatch< int64_t > | m_ICstOrSplat (int64_t &Cst) |
| GCstAndRegMatch | m_GCst (std::optional< ValueAndVReg > &ValReg) |
| GFCstAndRegMatch | m_GFCst (std::optional< FPValueAndVReg > &FPValReg) |
| GFCstOrSplatGFCstMatch | m_GFCstOrSplat (std::optional< FPValueAndVReg > &FPValReg) |
| template<typename Pred> | |
| GFCstPredMatch (Pred) -> GFCstPredMatch< Pred > | |
| auto | m_PosZeroFP () |
| Matches a floating-point positive zero. | |
| SpecificConstantMatch | m_SpecificICst (const APInt &RequestedValue) |
Matches a constant equal to RequestedValue. | |
| SpecificConstantMatch | m_SpecificICst (int64_t RequestedValue) |
| SpecificImmMatch | m_SpecificImm (int64_t RequestedValue) |
Matches an immediate operand equal to RequestedValue. | |
| BindImmMatch | m_Imm (int64_t &Imm) |
| Binds an immediate operand's value. | |
| AllOnesConstantMatch | m_AllOnes () |
| SpecificConstantSplatMatch | m_SpecificICstSplat (const APInt &RequestedValue) |
Matches a constant splat of RequestedValue. | |
| SpecificConstantSplatMatch | m_SpecificICstSplat (int64_t RequestedValue) |
| SpecificConstantOrSplatMatch | m_SpecificICstOrSplat (const APInt &RequestedValue) |
Matches a RequestedValue constant or a constant splat of RequestedValue. | |
| SpecificConstantOrSplatMatch | m_SpecificICstOrSplat (int64_t RequestedValue) |
| SpecificConstantMatch | m_ZeroInt () |
| Convenience matchers for specific integer values. | |
| SpecificConstantMatch | m_AllOnesInt () |
| SpecificRegisterMatch | m_SpecificReg (Register RequestedReg) |
Matches a register only if it is equal to RequestedReg. | |
| operand_type_match | m_Reg () |
| template<typename... Preds> | |
| And< Preds... > | m_all_of (Preds &&... preds) |
| template<typename... Preds> | |
| Or< Preds... > | m_any_of (Preds &&... preds) |
| bind_ty< Register > | m_Reg (Register &R) |
| bind_ty< MachineInstr * > | m_MInstr (MachineInstr *&MI) |
| bind_ty< const MachineInstr * > | m_MInstr (const MachineInstr *&MI) |
| bind_ty< LLT > | m_Type (LLT &Ty) |
| bind_ty< CmpInst::Predicate > | m_Pred (CmpInst::Predicate &P) |
| operand_type_match | m_Pred () |
| bind_ty< FPClassTest > | m_FPClassTest (FPClassTest &T) |
| MIFlagsRef | m_MIFlags (uint32_t &Flags) |
| MMORef | m_MMO (const MachineMemOperand *&MMO) |
| deferred_ty< Register > | m_DeferredReg (Register &R) |
| Similar to m_SpecificReg/Type, but the specific value to match originated from an earlier sub-pattern in the same mi_match expression. | |
| deferred_ty< LLT > | m_DeferredType (LLT &Ty) |
| ImplicitDefMatch | m_GImplicitDef () |
| GInstrBind< GConstant > | m_GConstant (GConstant *&Inst) |
| Match a literal G_CONSTANT instruction (no look-through of splats or copies). | |
| GInstrBind< const GConstant > | m_GConstant (const GConstant *&Inst) |
| GConstantBitsMatch | m_GConstantOrFConstantBits (APInt &Bits) |
| template<typename PtrP> | |
| LoadOp_match< GAnyLoad, PtrP > | m_GAnyLoad (const PtrP &Ptr) |
| template<typename PtrP> | |
| LoadOp_match< GAnyLoad, PtrP > | m_GAnyLoad (GAnyLoad *&Inst, const PtrP &Ptr) |
| template<typename PtrP> | |
| LoadOp_match< GAnyLoad, PtrP > | m_GAnyLoad (GAnyLoad *&Inst, const PtrP &Ptr, MMORef MMO) |
| template<typename PtrP> | |
| LoadOp_match< GLoad, PtrP > | m_GLoad (const PtrP &Ptr) |
| template<typename PtrP> | |
| LoadOp_match< GLoad, PtrP > | m_GLoad (const PtrP &Ptr, MMORef MMO) |
| LoadOp_match< GSExtLoad, operand_type_match > | m_GSExtLoad (GSExtLoad *&Inst) |
| LoadOp_match< GZExtLoad, operand_type_match > | m_GZExtLoad (GZExtLoad *&Inst) |
| LoadOp_match< GSExtLoad, operand_type_match > | m_GSExtLoad (GSExtLoad *&Inst, MMORef MMO) |
| LoadOp_match< GZExtLoad, operand_type_match > | m_GZExtLoad (GZExtLoad *&Inst, MMORef MMO) |
| GInstrBind< GUnmerge > | m_GUnmerge (GUnmerge *&Inst) |
| Instruction binders for ops with no operand-form matcher (constant-immediate or variadic-source ops). | |
| GInstrBind< GVScale > | m_GVScale (GVScale *&Inst) |
| GInstrBind< GBuildVector > | m_GBuildVector (GBuildVector *&Inst) |
| GInstrBind< GConcatVectors > | m_GConcatVectors (GConcatVectors *&Inst) |
| GInstrBind< GIntrinsic > | m_GIntrinsic (GIntrinsic *&Inst) |
Binds the defining instruction of Reg if it is a GIntrinsic (any of the four G_INTRINSIC* opcodes). | |
| GInstrBind< const GIntrinsic > | m_GIntrinsic (const GIntrinsic *&Inst) |
| template<Intrinsic::ID IntrID, typename... OpMatchers> | |
| GIntrinsic_match< IntrID, OpMatchers... > | m_GIntrinsic (const OpMatchers &...Ops) |
| template<typename Src1Ty, typename Src2Ty> | |
| ShuffleVectorMatch< Src1Ty, Src2Ty > | m_GShuffleVector (const Src1Ty &Src1, const Src2Ty &Src2, ArrayRef< int > &Mask) |
| GFrameIndexMatch | m_GFrameIndex (int &FI) |
| bind_ty< const ConstantFP * > | m_GFCst (const ConstantFP *&C) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS, false > | m_BinOp (unsigned Opcode, const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS, true > | m_CommutativeBinOp (unsigned Opcode, const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_ADD, true > | m_GAdd (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_BUILD_VECTOR, false > | m_GBuildVector (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_BUILD_VECTOR_TRUNC, false > | m_GBuildVectorTrunc (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_PTR_ADD, false > | m_GPtrAdd (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_PTR_ADD, false > | m_GPtrAdd (const LHS &L, const RHS &R, MIFlagsRef Flags) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_SUB > | m_GSub (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_SUB > | m_GSub (const LHS &L, const RHS &R, MIFlagsRef Flags) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_MUL, true > | m_GMul (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_FADD, true > | m_GFAdd (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_FMUL, true > | m_GFMul (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_FSUB, false > | m_GFSub (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_AND, true > | m_GAnd (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_XOR, true > | m_GXor (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_OR, true > | m_GOr (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_OR, true, MachineInstr::Disjoint > | m_GDisjointOr (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| auto | m_GAddLike (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_SHL, false > | m_GShl (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_LSHR, false > | m_GLShr (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_ASHR, false > | m_GAShr (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_SMAX, true > | m_GSMax (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_SMIN, true > | m_GSMin (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_UMAX, true > | m_GUMax (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOp_match< LHS, RHS, TargetOpcode::G_UMIN, true > | m_GUMin (const LHS &L, const RHS &R) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_ANYEXT > | m_GAnyExt (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_SEXT > | m_GSExt (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_ZEXT > | m_GZExt (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_FPEXT > | m_GFPExt (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_TRUNC > | m_GTrunc (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_BITCAST > | m_GBitcast (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_PTRTOINT > | m_GPtrToInt (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_INTTOPTR > | m_GIntToPtr (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_FPTRUNC > | m_GFPTrunc (const SrcTy &Src) |
| template<typename SrcTy> | |
| SrcImmOp_match< SrcTy, AnyImmMatch, TargetOpcode::G_SEXT_INREG > | m_GSExtInReg (const SrcTy &Src) |
| Matches a G_SEXT_INREG, binding its source and immediate width. | |
| template<typename SrcTy, typename ImmTy> | |
| SrcImmOp_match< SrcTy, ImmTy, TargetOpcode::G_SEXT_INREG > | m_GSExtInReg (const SrcTy &Src, const ImmTy &Imm) |
| template<typename SrcTy> | |
| SrcImmOp_match< SrcTy, AnyImmMatch, TargetOpcode::G_ASSERT_ZEXT > | m_GAssertZext (const SrcTy &Src) |
| Matches a G_ASSERT_ZEXT, binding its source and immediate bit width. | |
| template<typename SrcTy, typename ImmTy> | |
| SrcImmOp_match< SrcTy, ImmTy, TargetOpcode::G_ASSERT_ZEXT > | m_GAssertZext (const SrcTy &Src, const ImmTy &Imm) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_FABS > | m_GFabs (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_FNEG > | m_GFNeg (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::COPY > | m_Copy (SrcTy &&Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_FSQRT > | m_GFSqrt (const SrcTy &Src) |
| template<typename SrcTy> | |
| UnaryOp_match< SrcTy, TargetOpcode::G_FFLOOR > | m_GFFloor (const SrcTy &Src) |
| template<typename Pred, typename LHS, typename RHS> | |
| CompareOp_match< Pred, LHS, RHS, TargetOpcode::G_ICMP > | m_GICmp (const Pred &P, const LHS &L, const RHS &R) |
| template<typename Pred, typename LHS, typename RHS> | |
| CompareOp_match< Pred, LHS, RHS, TargetOpcode::G_FCMP > | m_GFCmp (const Pred &P, const LHS &L, const RHS &R) |
| template<typename Pred, typename LHS, typename RHS> | |
| CompareOp_match< Pred, LHS, RHS, TargetOpcode::G_ICMP, true > | m_c_GICmp (const Pred &P, const LHS &L, const RHS &R) |
| G_ICMP matcher that also matches commuted compares. | |
| template<typename Pred, typename LHS, typename RHS> | |
| CompareOp_match< Pred, LHS, RHS, TargetOpcode::G_FCMP, true > | m_c_GFCmp (const Pred &P, const LHS &L, const RHS &R) |
| G_FCMP matcher that also matches commuted compares. | |
| template<typename LHS, typename Test> | |
| ClassifyOp_match< LHS, Test, TargetOpcode::G_IS_FPCLASS > | m_GIsFPClass (const LHS &L, const Test &T) |
| Matches the register and immediate used in a fpclass test G_IS_FPCLASS val, 96. | |
| CheckType | m_SpecificType (LLT Ty) |
| template<typename Src0Ty, typename Src1Ty, typename Src2Ty> | |
| TernaryOp_match< Src0Ty, Src1Ty, Src2Ty, TargetOpcode::G_INSERT_VECTOR_ELT > | m_GInsertVecElt (const Src0Ty &Src0, const Src1Ty &Src1, const Src2Ty &Src2) |
| template<typename Src0Ty, typename Src1Ty, typename Src2Ty> | |
| TernaryOp_match< Src0Ty, Src1Ty, Src2Ty, TargetOpcode::G_SELECT > | m_GISelect (const Src0Ty &Src0, const Src1Ty &Src1, const Src2Ty &Src2) |
| template<typename SrcTy> | |
| BinaryOp_match< SpecificConstantMatch, SrcTy, TargetOpcode::G_SUB > | m_Neg (const SrcTy &&Src) |
| Matches a register negated by a G_SUB. | |
| template<typename SrcTy> | |
| BinaryOp_match< SrcTy, SpecificConstantMatch, TargetOpcode::G_XOR, true > | m_Not (const SrcTy &&Src) |
| Matches a register not-ed by a G_XOR. | |
References Pred.
Referenced by m_PosZeroFP().
| And< Preds... > llvm::MIPatternMatch::m_all_of | ( | Preds &&... | preds | ) |
Definition at line 379 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineBuildVectorOfBitcast(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), and llvm::LegalizationArtifactCombiner::tryCombineSExt().
|
inline |
Definition at line 252 of file MIPatternMatch.h.
Referenced by areInverseVectorBitmasks(), llvm::InstCombinerImpl::canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract(), canonicalizeLowbitMask(), canonicalizeSaturatedAddSigned(), canonicalizeSaturatedAddUnsigned(), canonicalizeSaturatedSubtractUnsigned(), combineRecipe(), dropRedundantMaskingOfLeftShiftInput(), FindSingleBitChange(), llvm::findValuesAffectedByCondition(), llvm::InstCombinerImpl::foldAddWithConstant(), llvm::InstCombinerImpl::foldBinOpShiftWithShift(), foldCtpop(), foldCttzCtlz(), llvm::InstCombinerImpl::foldICmpAndConstant(), llvm::InstCombinerImpl::foldICmpBinOp(), llvm::InstCombinerImpl::foldICmpBitCast(), foldICmpOfUAddOv(), foldICmpOfVectorReduce(), llvm::InstCombinerImpl::foldICmpOrConstant(), foldICmpPow2Test(), foldICmpWithHighBitMask(), foldICmpWithLowBitMaskedVal(), foldMulSelectToNegate(), foldMulShl1(), llvm::InstCombinerImpl::foldMultiplicationOverflowCheck(), foldSelectICmpMinMax(), foldSelectToUSATI(), llvm::InstCombinerImpl::foldVectorBinop(), llvm::AArch64TTIImpl::getCmpSelInstrCost(), llvm::AArch64TargetLowering::getJumpConditionMergingParams(), getKnownBitsFromAndXorOr(), getMaskedTypeForICmpPair(), instCombineSVEVectorMlaU(), llvm::isKnownToBeAPowerOfTwo(), isMaskOrZero(), llvm::SDPatternMatch::m_Not(), llvm::maskContainsAllOneOrUndef(), matchAndCC(), matchEquivZeroRHS(), matchOrCC(), matchSelectPattern(), matchSignedNewValueCC(), matchUAddWithOverflowConstantEdgeCases(), performLastTrueTestVectorCombine(), llvm::X86TargetLowering::shouldFoldSelectWithIdentityConstant(), simplifyAddInst(), simplifyAndCommutative(), simplifyAndInst(), simplifyAShrInst(), simplifyBinaryIntrinsic(), llvm::simplifyIntrinsic(), simplifyLogicalRecipe(), simplifyOrInst(), simplifySelectWithICmpCond(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitAnd(), llvm::InstCombinerImpl::visitAShr(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitLShr(), llvm::InstCombinerImpl::visitMul(), llvm::InstCombinerImpl::visitOr(), llvm::InstCombinerImpl::visitSDiv(), llvm::InstCombinerImpl::visitShl(), llvm::InstCombinerImpl::visitSub(), and llvm::InstCombinerImpl::visitXor().
|
inline |
Definition at line 309 of file MIPatternMatch.h.
References llvm::APInt::getAllOnes().
Referenced by BitOp3_Op(), and m_Not().
| Or< Preds... > llvm::MIPatternMatch::m_any_of | ( | Preds &&... | preds | ) |
Definition at line 383 of file MIPatternMatch.h.
Referenced by getTruncStoreByteOffset(), m_GAddLike(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), and llvm::LegalizationArtifactCombiner::tryCombineSExt().
|
inline |
Definition at line 807 of file MIPatternMatch.h.
Referenced by foldSelectBinOpIdentity(), and llvm::InstCombinerImpl::foldSelectShuffle().
|
inline |
G_ICMP matcher that also matches commuted compares.
E.g.
m_c_GICmp(m_Pred(...), m_GAdd(...), m_GSub(...))
Could match both of:
icmp ugt (add x, y) (sub a, b) icmp ult (sub a, b) (add x, y)
Definition at line 1185 of file MIPatternMatch.h.
References LHS, P, Pred, and RHS.
Referenced by llvm::CombinerHelper::matchRedundantBinOpInEquality().
|
inline |
Definition at line 814 of file MIPatternMatch.h.
|
inline |
Definition at line 1084 of file MIPatternMatch.h.
Referenced by llvm::AMDGPU::getBaseWithConstantOffset(), and getLegalRegBank().
|
inline |
Similar to m_SpecificReg/Type, but the specific value to match originated from an earlier sub-pattern in the same mi_match expression.
For example, we cannot match (add X, X) with m_GAdd(m_Reg(X), m_SpecificReg(X)) because X is not initialized at the time it's passed to m_SpecificReg. Instead, we can use m_GAdd(m_Reg(x), m_DeferredReg(X)).
Definition at line 505 of file MIPatternMatch.h.
Referenced by isAbsoluteValueULEOne(), llvm::CombinerHelper::matchCtls(), and llvm::CombinerHelper::matchSimplifyNegMinMax().
|
inline |
Definition at line 506 of file MIPatternMatch.h.
|
inline |
Definition at line 459 of file MIPatternMatch.h.
References T.
|
inline |
Definition at line 820 of file MIPatternMatch.h.
Referenced by getBaseWithConstantOffset(), m_GAddLike(), llvm::CombinerHelper::matchAddOfVScale(), llvm::CombinerHelper::matchFoldAPlusC1MinusC2(), llvm::CombinerHelper::matchFoldC2MinusAPlusC1(), and llvm::CombinerHelper::matchRedundantBinOpInEquality().
Definition at line 912 of file MIPatternMatch.h.
References LHS, m_any_of(), m_GAdd(), m_GDisjointOr(), and RHS.
|
inline |
Definition at line 887 of file MIPatternMatch.h.
Referenced by isLaneMaskFromSameBlock(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchOverlappingAnd(), llvm::CombinerHelper::matchXorOfAndWithSameReg(), and widenBitCountOps().
|
inline |
|
inline |
Definition at line 596 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineLoadWithAndMask().
|
inline |
Definition at line 600 of file MIPatternMatch.h.
|
inline |
Definition at line 605 of file MIPatternMatch.h.
|
inline |
Definition at line 930 of file MIPatternMatch.h.
Referenced by getTruncStoreByteOffset(), llvm::CombinerHelper::matchAshrShlToSextInreg(), and llvm::CombinerHelper::matchCtls().
|
inline |
Matches a G_ASSERT_ZEXT, binding its source and immediate bit width.
Definition at line 1063 of file MIPatternMatch.h.
|
inline |
Definition at line 1069 of file MIPatternMatch.h.
References Imm.
|
inline |
Definition at line 1003 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineBuildVectorOfBitcast(), llvm::CombinerHelper::matchTruncBuildVectorFold(), llvm::CombinerHelper::matchTruncLshrBuildVectorFold(), peekThroughBitcast(), stripBitCast(), and AMDGPURegBankLegalizeCombiner::tryEliminateReadAnyLane().
|
inline |
Definition at line 826 of file MIPatternMatch.h.
|
inline |
Definition at line 640 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::SPIRVCombinerHelper::matchSelectToFaceForward(), llvm::CombinerHelper::matchTruncBuildVectorFold(), llvm::CombinerHelper::matchTruncLshrBuildVectorFold(), and llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector().
|
inline |
Definition at line 832 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchBuildVectorIdentityFold().
|
inline |
Definition at line 643 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineShuffleConcat().
|
inline |
Definition at line 540 of file MIPatternMatch.h.
|
inline |
Match a literal G_CONSTANT instruction (no look-through of splats or copies).
Definition at line 539 of file MIPatternMatch.h.
Referenced by llvm::GIMatchTableExecutor::isBaseWithConstantOffset(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), and llvm::LegalizationArtifactCombiner::tryCombineZExt().
|
inline |
Definition at line 562 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineUnmergeConstant().
|
inline |
Definition at line 148 of file MIPatternMatch.h.
Referenced by isLshrHalf(), isShlHalf(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchReassocConstantInnerLHS(), and llvm::CombinerHelper::matchTruncLshrBuildVectorFold().
|
inline |
Definition at line 906 of file MIPatternMatch.h.
References llvm::MachineInstr::Disjoint, LHS, and RHS.
Referenced by m_GAddLike().
|
inline |
Definition at line 1074 of file MIPatternMatch.h.
Referenced by selectWMMAModsNegAbs().
|
inline |
Definition at line 869 of file MIPatternMatch.h.
|
inline |
Definition at line 1170 of file MIPatternMatch.h.
References LHS, P, Pred, and RHS.
Referenced by llvm::SPIRVCombinerHelper::matchSelectToFaceForward().
|
inline |
Definition at line 736 of file MIPatternMatch.h.
References C().
|
inline |
Definition at line 162 of file MIPatternMatch.h.
Referenced by isFPExtFromF16OrConst(), and llvm::SPIRVCombinerHelper::matchSelectToFaceForward().
|
inline |
|
inline |
Definition at line 1095 of file MIPatternMatch.h.
Referenced by isAbsoluteValueULEOne().
|
inline |
Definition at line 875 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineFAddFMAFMulToFMadOrFMA(), and llvm::SPIRVCombinerHelper::matchSelectToFaceForward().
|
inline |
|
inline |
Definition at line 992 of file MIPatternMatch.h.
Referenced by isFPExtFromF16OrConst(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMAAggressive(), llvm::CombinerHelper::matchCombineFSubFpExtFMulToFMadOrFMA(), and llvm::CombinerHelper::matchCombineFSubFpExtFNegFMulToFMadOrFMA().
|
inline |
Definition at line 1021 of file MIPatternMatch.h.
|
inline |
Definition at line 733 of file MIPatternMatch.h.
|
inline |
Definition at line 1089 of file MIPatternMatch.h.
|
inline |
Definition at line 881 of file MIPatternMatch.h.
Referenced by isAbsoluteValueULEOne().
|
inline |
Definition at line 1164 of file MIPatternMatch.h.
References LHS, P, Pred, and RHS.
Referenced by getOperandsForBranch(), and llvm::CombinerHelper::matchSelectIMinMax().
|
inline |
Definition at line 517 of file MIPatternMatch.h.
Referenced by llvm::LegalizationArtifactCombiner::ArtifactValueFinder::isSequenceFromUnmerge(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineBuildVectorOfBitcast(), llvm::CombinerHelper::matchCombineUnmergeUndef(), and llvm::CombinerHelper::matchUseVectorTruncate().
|
inline |
Definition at line 1248 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineInsertVecElts().
|
inline |
Definition at line 650 of file MIPatternMatch.h.
|
inline |
Definition at line 687 of file MIPatternMatch.h.
References AbstractManglingParser< Derived, Alloc >::Ops.
|
inline |
Binds the defining instruction of Reg if it is a GIntrinsic (any of the four G_INTRINSIC* opcodes).
Definition at line 649 of file MIPatternMatch.h.
Referenced by llvm::AArch64GISelUtils::extractPtrauthBlendDiscriminators(), and llvm::SPIRVCombinerHelper::matchSelectToFaceForward().
|
inline |
Definition at line 1015 of file MIPatternMatch.h.
|
inline |
Definition at line 1255 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchFoldBinOpIntoSelect(), llvm::CombinerHelper::matchSelectIMinMax(), and llvm::SPIRVCombinerHelper::matchSelectToFaceForward().
|
inline |
Matches the register and immediate used in a fpclass test G_IS_FPCLASS val, 96.
Definition at line 1208 of file MIPatternMatch.h.
References LHS, T, and llvm::Test.
|
inline |
Definition at line 610 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSextInRegOfLoad().
|
inline |
Definition at line 614 of file MIPatternMatch.h.
|
inline |
Definition at line 924 of file MIPatternMatch.h.
Referenced by getTruncStoreByteOffset(), isExtractHiElt(), isLshrHalf(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), and llvm::CombinerHelper::matchTruncLshrBuildVectorFold().
|
inline |
Definition at line 863 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchMulOfVScale().
|
inline |
Definition at line 898 of file MIPatternMatch.h.
Referenced by llvm::AMDGPU::getBaseWithConstantOffset(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchCtls(), and llvm::CombinerHelper::matchOrShiftToFunnelShift().
|
inline |
Definition at line 839 of file MIPatternMatch.h.
Referenced by llvm::AMDGPU::getBaseWithConstantOffset(), llvm::GISelAddressing::getPointerInfo(), llvm::GISelAddressing::instMayAlias(), llvm::GIMatchTableExecutor::isBaseWithConstantOffset(), matchLDPSTPAddrMode(), llvm::CombinerHelper::matchPtrAddImmedChain(), and llvm::CombinerHelper::matchReassocConstantInnerLHS().
|
inline |
Definition at line 845 of file MIPatternMatch.h.
|
inline |
Definition at line 1009 of file MIPatternMatch.h.
|
inline |
|
inline |
Matches a G_SEXT_INREG, binding its source and immediate width.
Definition at line 1050 of file MIPatternMatch.h.
|
inline |
Definition at line 1056 of file MIPatternMatch.h.
References Imm.
|
inline |
Definition at line 619 of file MIPatternMatch.h.
References m_Reg().
|
inline |
Definition at line 627 of file MIPatternMatch.h.
References m_Reg().
|
inline |
Definition at line 918 of file MIPatternMatch.h.
Referenced by isShlHalf(), llvm::CombinerHelper::matchAshrShlToSextInreg(), llvm::CombinerHelper::matchCtls(), matchLoadAndBytePosition(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchShlOfVScale(), and llvm::CombinerHelper::matchUDivByShiftedPow2().
|
inline |
Definition at line 715 of file MIPatternMatch.h.
Referenced by isExtractHiElt().
|
inline |
Definition at line 936 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), and llvm::CombinerHelper::matchTruncUSatU().
|
inline |
Definition at line 942 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchTruncSSatS(), and llvm::CombinerHelper::matchTruncSSatU().
|
inline |
Definition at line 850 of file MIPatternMatch.h.
Referenced by m_Neg(), llvm::CombinerHelper::matchFoldAMinusC1MinusC2(), llvm::CombinerHelper::matchFoldAMinusC1PlusC2(), llvm::CombinerHelper::matchFoldC1Minus2MinusC2(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), and llvm::CombinerHelper::matchSubOfVScale().
|
inline |
Definition at line 857 of file MIPatternMatch.h.
|
inline |
Definition at line 997 of file MIPatternMatch.h.
Referenced by AMDGPURegBankLegalizeCombiner::getReadAnyLaneSrcs(), getTruncStoreByteOffset(), isExtractHiElt(), isExtractLoElt(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchExtractVecEltBuildVec(), llvm::CombinerHelper::matchSextTruncSextLoad(), llvm::CombinerHelper::matchSimplifySelectToMinMax(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), and llvm::LegalizationArtifactCombiner::tryCombineZExt().
|
inline |
Definition at line 948 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSimplifyNegMinMax().
|
inline |
Definition at line 954 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSimplifyNegMinMax(), and llvm::CombinerHelper::matchTruncSSatU().
|
inline |
Instruction binders for ops with no operand-form matcher (constant-immediate or variadic-source ops).
Definition at line 638 of file MIPatternMatch.h.
Referenced by isExtractHiElt(), and llvm::CombinerHelper::matchUseVectorTruncate().
|
inline |
Definition at line 639 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchAddOfVScale(), llvm::CombinerHelper::matchMulOfVScale(), llvm::CombinerHelper::matchShlOfVScale(), and llvm::CombinerHelper::matchSubOfVScale().
|
inline |
Definition at line 893 of file MIPatternMatch.h.
Referenced by m_Not(), llvm::CombinerHelper::matchCtls(), llvm::CombinerHelper::matchNotCmp(), and llvm::CombinerHelper::matchRedundantBinOpInEquality().
|
inline |
Definition at line 987 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineShlOfExtend(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchNonNegZext(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), and llvm::LegalizationArtifactCombiner::tryCombineZExt().
|
inline |
Definition at line 623 of file MIPatternMatch.h.
References m_Reg().
|
inline |
Definition at line 631 of file MIPatternMatch.h.
References m_Reg().
|
inline |
Definition at line 90 of file MIPatternMatch.h.
Referenced by clampVectorIndex(), getBaseWithConstantOffset(), llvm::AMDGPU::getBaseWithConstantOffset(), getSwitchCaseValue(), getTruncStoreByteOffset(), llvm::GISelAddressing::instMayAlias(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::MIPatternMatch::AllOnesConstantMatch::match(), llvm::MIPatternMatch::SpecificConstantMatch::match(), llvm::MIPatternMatch::SpecificConstantOrSplatMatch::match(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchCombineInsertVecElts(), matchLDPSTPAddrMode(), matchLoadAndBytePosition(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchOverlappingAnd(), and widenBitCountOps().
|
inline |
Definition at line 93 of file MIPatternMatch.h.
|
inline |
Definition at line 131 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchAshrShlToSextInreg(), llvm::CombinerHelper::matchLshrOfTruncOfLshr(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), and llvm::CombinerHelper::matchSameRegOrICstOrSplat().
|
inline |
Definition at line 135 of file MIPatternMatch.h.
|
inline |
Binds an immediate operand's value.
Definition at line 242 of file MIPatternMatch.h.
References Imm.
|
inline |
Definition at line 468 of file MIPatternMatch.h.
Referenced by llvm::AMDGPU::getBaseWithConstantOffset(), llvm::CombinerHelper::matchPtrAddImmedChain(), and llvm::CombinerHelper::matchSubOfVScale().
|
inline |
Definition at line 453 of file MIPatternMatch.h.
References MI.
|
inline |
Definition at line 452 of file MIPatternMatch.h.
References MI.
Referenced by llvm::CombinerHelper::applyExtendThroughPhis(), llvm::AMDGPU::getBaseWithConstantOffset(), getSwitchCaseValue(), llvm::MIPatternMatch::BinaryOp_match< LHS_P, RHS_P, Opcode, Commutable, Flags >::match(), llvm::MIPatternMatch::BinaryOpc_match< LHS_P, RHS_P, Commutable >::match(), llvm::MIPatternMatch::ClassifyOp_match< LHS_P, Test_P, Opcode >::match(), llvm::MIPatternMatch::CompareOp_match< Pred_P, LHS_P, RHS_P, Opcode, Commutable >::match(), llvm::MIPatternMatch::GFrameIndexMatch::match(), llvm::MIPatternMatch::GInstrBind< Class >::match(), llvm::MIPatternMatch::GIntrinsic_match< IntrID, OpMatchers >::match(), llvm::MIPatternMatch::ImplicitDefMatch::match(), llvm::MIPatternMatch::LoadOp_match< Class, PtrP >::match(), llvm::MIPatternMatch::ShuffleVectorMatch< Src1Ty, Src2Ty >::match(), llvm::MIPatternMatch::SrcImmOp_match< SrcTy, ImmTy, Opcode >::match(), llvm::MIPatternMatch::TernaryOp_match< Src0Ty, Src1Ty, Src2Ty, Opcode >::match(), llvm::MIPatternMatch::UnaryOp_match< SrcTy, Opcode >::match(), llvm::CombinerHelper::matchCombineConcatVectors(), llvm::CombinerHelper::matchCombineFAddFMAFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMAAggressive(), llvm::CombinerHelper::matchCombineFSubFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFNegFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFpExtFNegFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCommuteConstantToRHS(), llvm::CombinerHelper::matchExtractVecEltBuildVec(), llvm::CombinerHelper::matchFoldBinOpIntoSelect(), llvm::CombinerHelper::matchFreezeOfSingleMaybePoisonOperand(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchPtrAddZeroVector(), llvm::CombinerHelper::matchReassocPtrAdd(), llvm::CombinerHelper::matchSDivOrSRemByConst(), llvm::CombinerHelper::matchShiftImmedChain(), llvm::CombinerHelper::matchShiftOfShiftedLogic(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchUDivOrURemByConst(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), and llvm::CombinerHelper::tryReassocBinOp().
|
inline |
Definition at line 476 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineLoadWithAndMask(), and llvm::CombinerHelper::matchSextInRegOfLoad().
|
inline |
Matches a register negated by a G_SUB.
G_SUB 0, negated_reg
Definition at line 1264 of file MIPatternMatch.h.
References m_GSub(), and m_ZeroInt().
Referenced by canonicalizeSaturatedSubtractSigned(), combineAddSubWithShlAddSub(), combineAndXorSubWithBMI(), combineLogicBlendIntoConditionalNegate(), llvm::InstCombinerImpl::convertOrOfShiftsToFunnelShift(), foldAbsDiff(), foldCtpop(), foldCttzCtlz(), llvm::InstCombinerImpl::foldICmpAndConstant(), llvm::InstCombinerImpl::foldICmpBinOp(), foldICmpPow2Test(), foldICmpXNegX(), FoldOrOfSelectSmaxToAbs(), llvm::InstCombinerImpl::foldSelectShuffle(), llvm::InstCombiner::getComplexity(), getKnownBitsFromAndXorOr(), getRangeForSelectPattern(), llvm::isKnownNegation(), llvm::isKnownToBeAPowerOfTwo(), llvm::SelectionDAG::isKnownToBeAPowerOfTwo(), isMaskOrZero(), isNeg(), LinearizeExprTree(), matchAddCC(), matchSelectPattern(), llvm::CombinerHelper::matchSimplifyNegMinMax(), NegateValue(), setLimitsForBinOp(), ShouldBreakUpSubtract(), llvm::X86TargetLowering::shouldFoldSelectWithIdentityConstant(), simplifyAndCommutative(), simplifyGEPInst(), simplifyICmpWithBinOp(), llvm::InstCombinerImpl::SimplifySelectsFeedingBinaryOp(), simplifySelectWithICmpCond(), llvm::stripNullTest(), tryToRecognizeTableBasedCttz(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitAnd(), llvm::InstCombinerImpl::visitAShr(), llvm::InstCombinerImpl::visitAtomicRMWInst(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitLShr(), llvm::InstCombinerImpl::visitMul(), and llvm::InstCombinerImpl::visitSub().
|
inline |
Matches a register not-ed by a G_XOR.
G_XOR not_reg, -1
Definition at line 1272 of file MIPatternMatch.h.
References m_AllOnesInt(), and m_GXor().
Referenced by BitOp3_Op(), canonicalizeSaturatedAddUnsigned(), canShiftBinOpWithConstantRHS(), collectComplementaryPredicatedMemOps(), combineAndNotOrIntoAndNotAnd(), combineMaskBitOp(), combineRecipe(), combineShiftRightLogical(), computeKnownBitsFromCond(), llvm::computeKnownBitsFromContext(), computeKnownFPClassFromCond(), llvm::decomposeBitTest(), decomposeImpl(), dropRedundantMaskingOfLeftShiftInput(), llvm::SelectionDAGBuilder::FindMergedConditions(), FindSingleBitChange(), llvm::findValuesAffectedByCondition(), llvm::InstCombinerImpl::foldAddWithConstant(), foldAndToXor(), llvm::InstCombinerImpl::foldBinOpOfSelectAndCastOfSelectCondition(), foldComplexAndOrPatterns(), foldCtpop(), foldCttzCtlz(), llvm::InstCombinerImpl::foldICmpAndConstant(), foldICmpWithHighBitMask(), foldMaskedMerge(), foldMulShl1(), foldNotXor(), llvm::InstCombinerImpl::FoldOrOfLogicalAnds(), foldOrToXor(), foldSubCtlzNot(), foldToUnsignedSaturatedAdd(), foldXorToXor(), llvm::AArch64TTIImpl::getArithmeticInstrCost(), llvm::InstCombiner::getComplexity(), llvm::InstCombiner::getFreelyInvertedImpl(), getNotValue(), llvm::AMDGPUTargetMachine::getPredicatedAddrSpace(), llvm::vputils::getSCEVExprForVPValue(), haveNoCommonBitsSetSpecialCases(), llvm::invertCondition(), llvm::isCheckForZeroAndMulWithOverflow(), llvm::isImpliedCondition(), llvm::isImpliedCondition(), isMaskOrZero(), llvm::AArch64TTIImpl::isProfitableToSinkOperands(), llvm::RISCVTTIImpl::isProfitableToSinkOperands(), llvm::X86TTIImpl::isProfitableToSinkOperands(), isVectorLatchCheck(), matchBSL(), matchDeMorgansLaws(), matchSelectWithOptionalNotCond(), narrowBitOpRMW(), OptimizeAndOrXor(), performANDORDUPNOTCombine(), reverseZExtICmpCombine(), simplifyAddInst(), simplifyAndCommutative(), simplifyBlends(), llvm::InstCombinerImpl::SimplifyDemandedUseBits(), simplifyGEPInst(), simplifyICmpOfBools(), simplifyLogicalRecipe(), simplifyOrLogic(), simplifyRecipe(), simplifySelectInst(), simplifyXorInst(), llvm::InstCombinerImpl::sinkNotIntoLogicalOp(), llvm::InstCombinerImpl::sinkNotIntoOtherHandOfLogicalOp(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitAnd(), llvm::InstCombinerImpl::visitAShr(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitCondBrInst(), llvm::InstCombinerImpl::visitICmpInst(), llvm::InstCombinerImpl::visitLShr(), visitMaskedMerge(), llvm::InstCombinerImpl::visitOr(), visitORCommutative(), llvm::InstCombinerImpl::visitSub(), and llvm::InstCombinerImpl::visitXor().
|
inline |
Definition at line 58 of file MIPatternMatch.h.
Referenced by llvm::canConvertToMinOrMaxIntrinsic(), canonicalizeAbs(), canonicalizeBitCastExtElt(), llvm::InstCombinerImpl::canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract(), canonicalizeInsertSplat(), canonicalizeLogicFirst(), canonicalizeLowbitMask(), llvm::canPeelLastIteration(), cheapToScalarize(), combineAdd(), combineAddMulh(), combineAddOfExts(), combineAddPackedByteDot(), combineAddSubWithShlAddSub(), combineAnd(), combineAndNotOrIntoAndNotAnd(), combineAndXorSubWithBMI(), combineBitcast(), combineBTToBitOpFlag(), combineCastedMaskArithmetic(), combineMaskBitOp(), combineNarrowableShiftedLoad(), combineOrAndToBitfieldInsert(), combineOrToBitfieldInsert(), combineOrWithGF2P8AFFINEQB(), combinePExtWideningAddAcc(), combinePExtWideningSubAcc(), combineRecipe(), combineSetCC(), combineShiftOfLogicOp(), combineShiftToPMULH(), combineShlAddIAddImpl(), combineStore(), combineVectorInsert(), combineXorToBitfieldInsert(), combineXorWithGF2P8AFFINEQB(), combineXorWithTwoGF2P8AFFINEQB(), llvm::InstCombinerImpl::commonCastTransforms(), llvm::InstCombinerImpl::commonIDivTransforms(), llvm::InstCombinerImpl::commonShiftTransforms(), llvm::InstCombinerImpl::convertOrOfShiftsToFunnelShift(), dominatesMergePoint(), factorizeLerp(), llvm::SelectionDAGBuilder::FindMergedConditions(), llvm::InstCombinerImpl::foldAddWithConstant(), foldAdjacentReversesIntoTbls(), foldAnyOrAllBitsSet(), llvm::InstCombinerImpl::foldBinOpShiftWithShift(), foldBitCastBitwiseLogic(), foldBitCastSelect(), foldBitOrderCrossLogicOp(), foldBoxMultiply(), foldComplexAndOrPatterns(), foldCtpop(), foldCttzCtlz(), llvm::InstCombinerImpl::foldDivCeil(), foldFDivPowDivisor(), llvm::InstCombinerImpl::foldFMulReassoc(), foldFNegIntoConstant(), foldFPtoI(), foldGuardedFunnelShift(), llvm::InstCombinerImpl::foldICmpAndConstant(), llvm::InstCombinerImpl::foldICmpAndConstConst(), llvm::InstCombinerImpl::foldICmpBinOp(), llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(), llvm::InstCombinerImpl::foldICmpEquality(), llvm::InstCombinerImpl::foldICmpInstWithConstant(), foldICmpOfVectorReduce(), foldICmpOrXorSubChain(), foldICmpPow2Test(), llvm::InstCombinerImpl::foldICmpTruncWithTruncOrExt(), llvm::InstCombinerImpl::foldICmpUsingBoolRange(), llvm::InstCombinerImpl::foldICmpWithClamp(), foldICmpWithHighBitMask(), foldICmpWithLowBitMaskedVal(), llvm::InstCombinerImpl::foldICmpWithTrunc(), foldICmpWithTruncSignExtendedVal(), foldICmpXNegX(), llvm::InstCombinerImpl::foldICmpXorShiftConst(), llvm::InstCombinerImpl::foldIRemByPowerOfTwoToBitTest(), llvm::InstCombinerImpl::foldIsMultipleOfAPowerOfTwo(), foldLoadsRecursive(), foldLogicCastConstant(), foldMaskedAddXorPattern(), foldMinimumOverTrailingOrLeadingZeroCount(), foldMulHigh(), foldMulSelectToNegate(), foldMulShl1(), llvm::InstCombinerImpl::foldMultiplicationOverflowCheck(), foldNotXor(), foldNoWrapAdd(), FoldOrOfSelectSmaxToAbs(), foldOrUnsignedUMulOverflowICmp(), llvm::InstCombinerImpl::foldPowiReassoc(), llvm::InstCombinerImpl::foldPtrToIntOrAddrOfGEP(), foldReductionIdiom(), foldRoundUpToPow2Alignment(), foldSelectGEP(), llvm::InstCombinerImpl::foldSelectICmp(), foldSelectSplitCTLZ(), foldSelectSplitCTTZ(), foldSetClearBits(), llvm::InstCombinerImpl::FoldShiftByConstant(), foldShiftIntoShiftInAnotherHandOfAndInICmp(), llvm::InstCombinerImpl::foldShuffledIntrinsicOperands(), foldSpliceBinOp(), foldSubNUWOfMaskAndZExt(), foldSubOfMinMax(), llvm::InstCombinerImpl::foldVariableSignZeroExtensionOfVariableHighBitExtract(), foldVecExtTruncToExtElt(), llvm::InstCombinerImpl::foldVectorBinop(), foldVectorCmp(), getNegatibleInsts(), llvm::X86TTIImpl::getShuffleCost(), slpvectorizer::BoUpSLP::getTreeCost(), hoistMinMax(), hoistSubAddAssociation(), llvm::X86TTIImpl::instCombineIntrinsic(), instCombineSVELast(), instCombineSVEOrr(), instCombineSVEUMin(), llvm::RecurrenceDescriptor::isAnyOfPattern(), llvm::slpvectorizer::CmpSamePredicateHelper::isBitTest(), llvm::RecurrenceDescriptor::isConditionalRdxPattern(), isFMulAddCandidate(), llvm::slpvectorizer::isFusableFMulOperand(), llvm::X86TTIImpl::isLegalAltInstr(), m_Tbl(), uitofp_tbl_match::match(), matchAddCC(), matchAndCC(), matchBSL(), llvm::CombinerHelper::matchCtls(), matchDeMorgansLaws(), matchesSquareSum(), matchFPExtFromF16(), matchIntPart(), matchLoadAndBytePosition(), matchOrCC(), matchOrConcat(), llvm::CombinerHelper::matchReassocConstantInnerLHS(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchSimplifySelectToMinMax(), matchSubCC(), matchXorCC(), matchZExtedSubInteger(), moveAddAfterMinMax(), narrowUDivURem(), narrowVectorSelect(), optimizeSymmetricCall(), llvm::RISCVTargetLowering::PerformDAGCombine(), performMINMAXCombine(), performSRLCombine(), performSUBCombine(), performVEXT_VLCombine(), performVP_STORECombine(), reassociateAddSubLong(), reassociateForUses(), reassociateMinMaxWithConstantInOperand(), llvm::InstCombinerImpl::reassociateShiftAmtsOfTwoSameDirectionShifts(), reverseZExtICmpCombine(), ShouldBreakUpDistribution(), shouldCanonicalizeGEPToPtrAdd(), shrinkInsertElt(), shrinkSplatShuffle(), llvm::InstCombinerImpl::SimplifyAssociativeOrCommutative(), llvm::InstCombinerImpl::SimplifyDemandedUseBits(), llvm::InstCombinerImpl::SimplifyDemandedUseFPClass(), llvm::simplifyInstruction(), simplifyShiftSelectingPackedElement(), simplifyValueKnownNonZero(), splitMergedValStore(), strengthReduceVectorPhiUsers(), llvm::InstCombinerImpl::tryFoldInstWithCtpopWithNot(), tryToFPToSat(), tryToRecognizePopCount2n3(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitAnd(), llvm::InstCombinerImpl::visitAShr(), llvm::InstCombinerImpl::visitBitCast(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitCondBrInst(), llvm::InstCombinerImpl::visitFAdd(), llvm::InstCombinerImpl::visitFCmpInst(), llvm::InstCombinerImpl::visitFDiv(), llvm::InstCombinerImpl::visitFMul(), llvm::InstCombinerImpl::visitFNeg(), llvm::InstCombinerImpl::visitFSub(), llvm::InstCombinerImpl::visitGetElementPtrInst(), llvm::InstCombinerImpl::visitICmpInst(), llvm::InstCombinerImpl::visitInsertElementInst(), llvm::InstCombinerImpl::visitIntToPtr(), llvm::InstCombinerImpl::visitLShr(), visitMaskedMerge(), llvm::InstCombinerImpl::visitMul(), llvm::InstCombinerImpl::visitOr(), llvm::InstCombinerImpl::visitPtrToAddr(), llvm::InstCombinerImpl::visitPtrToInt(), llvm::InstCombinerImpl::visitSDiv(), llvm::InstCombinerImpl::visitSExt(), llvm::InstCombinerImpl::visitShl(), llvm::InstCombinerImpl::visitSRem(), llvm::InstCombinerImpl::visitSub(), llvm::InstCombinerImpl::visitTrunc(), llvm::InstCombinerImpl::visitUDiv(), llvm::InstCombinerImpl::visitUIToFP(), llvm::InstCombinerImpl::visitXor(), and llvm::InstCombinerImpl::visitZExt().
|
inline |
Matches a floating-point positive zero.
Definition at line 194 of file MIPatternMatch.h.
References GFCstPredMatch(), and V.
Referenced by foldSqrtWithFcmpZero(), simplifyAndOrOfFCmps(), simplifyFAddInst(), simplifyFRemInst(), simplifyFSubInst(), llvm::InstCombinerImpl::visitCallInst(), and llvm::InstCombinerImpl::visitFCmpInst().
|
inline |
Definition at line 458 of file MIPatternMatch.h.
Referenced by getOperandsForBranch(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), llvm::CombinerHelper::matchSelectIMinMax(), and llvm::SPIRVCombinerHelper::matchSelectToFaceForward().
|
inline |
Definition at line 457 of file MIPatternMatch.h.
References P.
|
inline |
Definition at line 339 of file MIPatternMatch.h.
Referenced by llvm::AMDGPUCombinerHelper::applyFoldableFneg(), BitOp3_Op(), llvm::AArch64GISelUtils::extractPtrauthBlendDiscriminators(), getBaseWithConstantOffset(), llvm::AMDGPU::getBaseWithConstantOffset(), getOperandsForBranch(), llvm::GISelAddressing::getPointerInfo(), AMDGPURegBankLegalizeCombiner::getReadAnyLaneSrcs(), getTruncStoreByteOffset(), llvm::GISelAddressing::instMayAlias(), isAbsoluteValueULEOne(), llvm::GIMatchTableExecutor::isBaseWithConstantOffset(), isExtractHiElt(), isExtractLoElt(), isFPExtFromF16OrConst(), isLaneMaskFromSameBlock(), isLshrHalf(), isShlHalf(), m_GSExtLoad(), m_GSExtLoad(), m_GZExtLoad(), m_GZExtLoad(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchAshrShlToSextInreg(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineBuildVectorOfBitcast(), llvm::CombinerHelper::matchCombineFAddFMAFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), llvm::CombinerHelper::matchCombineShlOfExtend(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchCtls(), llvm::CombinerHelper::matchExtractVecEltBuildVec(), llvm::CombinerHelper::matchFoldAMinusC1MinusC2(), llvm::CombinerHelper::matchFoldAMinusC1PlusC2(), llvm::CombinerHelper::matchFoldAPlusC1MinusC2(), llvm::CombinerHelper::matchFoldBinOpIntoSelect(), llvm::CombinerHelper::matchFoldC1Minus2MinusC2(), llvm::CombinerHelper::matchFoldC2MinusAPlusC1(), matchLDPSTPAddrMode(), matchLoadAndBytePosition(), llvm::CombinerHelper::matchMulOfVScale(), llvm::CombinerHelper::matchNonNegZext(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchOverlappingAnd(), llvm::CombinerHelper::matchPtrAddImmedChain(), llvm::CombinerHelper::matchReassocConstantInnerLHS(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), llvm::CombinerHelper::matchSelectIMinMax(), llvm::SPIRVCombinerHelper::matchSelectToFaceForward(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchSextTruncSextLoad(), llvm::CombinerHelper::matchShlOfVScale(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchSimplifySelectToMinMax(), llvm::CombinerHelper::matchSubOfVScale(), llvm::CombinerHelper::matchTruncBuildVectorFold(), llvm::CombinerHelper::matchTruncLshrBuildVectorFold(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), llvm::CombinerHelper::matchTruncUSatU(), llvm::CombinerHelper::matchUDivByShiftedPow2(), llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::CombinerHelper::matchXorOfAndWithSameReg(), peekThroughBitcast(), selectWMMAModsNegAbs(), stripBitCast(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), llvm::LegalizationArtifactCombiner::tryCombineZExt(), AMDGPURegBankLegalizeCombiner::tryEliminateReadAnyLane(), AMDGPURegBankLegalizeCombiner::tryMatchMergeReadAnyLane(), and widenBitCountOps().
Definition at line 451 of file MIPatternMatch.h.
|
inline |
Matches a constant equal to RequestedValue.
Definition at line 213 of file MIPatternMatch.h.
Referenced by isExtractHiElt(), llvm::CombinerHelper::matchCtls(), and llvm::CombinerHelper::matchICmpToLHSKnownBits().
|
inline |
Definition at line 217 of file MIPatternMatch.h.
|
inline |
Matches a RequestedValue constant or a constant splat of RequestedValue.
Definition at line 295 of file MIPatternMatch.h.
Referenced by llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::CombinerHelper::matchMulOBy0(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchSameRegOrICstOrSplat(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), and llvm::CombinerHelper::matchTruncUSatU().
|
inline |
Definition at line 300 of file MIPatternMatch.h.
|
inline |
Matches a constant splat of RequestedValue.
Definition at line 267 of file MIPatternMatch.h.
|
inline |
Definition at line 271 of file MIPatternMatch.h.
|
inline |
Matches an immediate operand equal to RequestedValue.
Definition at line 228 of file MIPatternMatch.h.
|
inline |
Matches a register only if it is equal to RequestedReg.
Definition at line 323 of file MIPatternMatch.h.
Referenced by getLegalRegBank(), and llvm::SPIRVCombinerHelper::matchSelectToFaceForward().
Definition at line 1222 of file MIPatternMatch.h.
Referenced by foldBitCastBitwiseLogic(), foldBitCastSelect(), llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineBuildVectorOfBitcast(), llvm::CombinerHelper::matchCombineZextTrunc(), tryCombineFromSVBoolBinOp(), llvm::InstCombinerImpl::visitBitCast(), llvm::InstCombinerImpl::visitFPTrunc(), llvm::InstCombinerImpl::visitPtrToAddr(), llvm::InstCombinerImpl::visitPtrToInt(), llvm::InstCombinerImpl::visitSExt(), llvm::InstCombinerImpl::visitTrunc(), and llvm::InstCombinerImpl::visitZExt().
Definition at line 456 of file MIPatternMatch.h.
|
inline |
Convenience matchers for specific integer values.
Definition at line 306 of file MIPatternMatch.h.
References llvm::APInt::getZero().
Referenced by llvm::AMDGPURegisterBankInfo::applyMappingMAD_64_32(), BitOp3_Op(), combineRecipe(), foldFDivPowDivisor(), foldGuardedFunnelShift(), foldICmpOfUAddOv(), foldICmpOfVectorReduce(), foldICmpPow2Test(), foldInsEltIntoSplat(), foldIsPowerOf2(), foldIsPowerOf2OrZero(), FoldOrOfSelectSmaxToAbs(), foldRoundUpToPow2Alignment(), foldSelectSplitCTLZCTTZ(), foldSubOfMinMax(), getAlternateBinop(), llvm::vputils::getGEPFlagsForPtr(), llvm::getSplatValue(), llvm::VPWidenIntOrFpInductionRecipe::isCanonical(), isKnownMonotonic(), llvm::AArch64TTIImpl::isProfitableToSinkOperands(), llvm::ARMTTIImpl::isProfitableToSinkOperands(), llvm::RISCVTTIImpl::isProfitableToSinkOperands(), llvm::WebAssemblyTTIImpl::isProfitableToSinkOperands(), llvm::X86TTIImpl::isProfitableToSinkOperands(), isVectorLatchCheck(), m_Neg(), matchAndCC(), llvm::SPIRVCombinerHelper::matchFDivToNormalize(), matchOrCC(), matchSelectPattern(), matchSignedNewValueCC(), matchUAddWithOverflowConstantEdgeCases(), processLaneForReplicateRegion(), reduceToAnyAllTrue(), simplifyAndOrOfICmpsWithCtpop(), simplifyLogicalRecipe(), simplifyRecipe(), simplifySelectInst(), simplifySVEIntrinsic(), simplifySVEIntrinsicBinOp(), simplifySVEIntrinsicCompare(), simplifyX86addcarry(), tryToMatchAndCreateMulAccumulateReduction(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitOr(), and llvm::InstCombinerImpl::visitSub().
|
inline |
Definition at line 67 of file MIPatternMatch.h.
References llvm::getIConstantVRegVal(), MRI, and Reg.
|
inline |
Definition at line 73 of file MIPatternMatch.h.
References llvm::getIConstantVRegSExtVal(), MRI, and Reg.
|
inline |
|
inline |
Definition at line 102 of file MIPatternMatch.h.
References llvm::getIConstantSplatVal(), MRI, and Reg.
|
inline |
Definition at line 109 of file MIPatternMatch.h.
References llvm::getIConstantSplatSExtVal(), MRI, and Reg.
|
inline |
Referenced by llvm::MIPatternMatch::ICstOrSplatMatch< ConstT >::match().
|
nodiscard |
Definition at line 42 of file MIPatternMatch.h.
|
nodiscard |
Definition at line 36 of file MIPatternMatch.h.
|
nodiscard |
Definition at line 30 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::applyExtendThroughPhis(), llvm::AMDGPUCombinerHelper::applyFoldableFneg(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingMAD_64_32(), BitOp3_Op(), clampVectorIndex(), llvm::AArch64GISelUtils::extractPtrauthBlendDiscriminators(), getBaseWithConstantOffset(), llvm::AMDGPU::getBaseWithConstantOffset(), getLegalRegBank(), getOperandsForBranch(), llvm::GISelAddressing::getPointerInfo(), AMDGPURegBankLegalizeCombiner::getReadAnyLaneSrcs(), getSwitchCaseValue(), getTruncStoreByteOffset(), llvm::GISelAddressing::instMayAlias(), isAbsoluteValueULEOne(), llvm::GIMatchTableExecutor::isBaseWithConstantOffset(), llvm::SITargetLowering::isCanonicalized(), isConstantCostlierToNegate(), isExtractHiElt(), isExtractLoElt(), isFPExtFromF16OrConst(), isLaneMaskFromSameBlock(), isLshrHalf(), llvm::LegalizationArtifactCombiner::ArtifactValueFinder::isSequenceFromUnmerge(), isShlHalf(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::LegalizerHelper::lowerVECTOR_COMPRESS(), llvm::MIPatternMatch::AllOnesConstantMatch::match(), llvm::MIPatternMatch::BinaryOp_match< LHS_P, RHS_P, Opcode, Commutable, Flags >::match(), llvm::MIPatternMatch::BinaryOpc_match< LHS_P, RHS_P, Commutable >::match(), llvm::MIPatternMatch::ClassifyOp_match< LHS_P, Test_P, Opcode >::match(), llvm::MIPatternMatch::CompareOp_match< Pred_P, LHS_P, RHS_P, Opcode, Commutable >::match(), llvm::MIPatternMatch::GFrameIndexMatch::match(), llvm::MIPatternMatch::GInstrBind< Class >::match(), llvm::MIPatternMatch::GIntrinsic_match< IntrID, OpMatchers >::match(), llvm::MIPatternMatch::ImplicitDefMatch::match(), llvm::MIPatternMatch::LoadOp_match< Class, PtrP >::match(), llvm::MIPatternMatch::ShuffleVectorMatch< Src1Ty, Src2Ty >::match(), llvm::MIPatternMatch::SpecificConstantMatch::match(), llvm::MIPatternMatch::SpecificConstantOrSplatMatch::match(), llvm::MIPatternMatch::SrcImmOp_match< SrcTy, ImmTy, Opcode >::match(), llvm::MIPatternMatch::TernaryOp_match< Src0Ty, Src1Ty, Src2Ty, Opcode >::match(), llvm::MIPatternMatch::UnaryOp_match< SrcTy, Opcode >::match(), llvm::CombinerHelper::matchAddOfVScale(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchAshrShlToSextInreg(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineBuildVectorOfBitcast(), llvm::CombinerHelper::matchCombineConcatVectors(), llvm::CombinerHelper::matchCombineFAddFMAFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMAAggressive(), llvm::CombinerHelper::matchCombineFSubFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFNegFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFpExtFNegFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), llvm::CombinerHelper::matchCombineShlOfExtend(), llvm::CombinerHelper::matchCombineShuffleConcat(), llvm::CombinerHelper::matchCombineUnmergeConstant(), llvm::CombinerHelper::matchCombineUnmergeUndef(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchCommuteConstantToRHS(), llvm::CombinerHelper::matchCommuteFPConstantToRHS(), llvm::CombinerHelper::matchConstantFPOp(), llvm::CombinerHelper::matchCtls(), llvm::CombinerHelper::matchExtractVecEltBuildVec(), llvm::SPIRVCombinerHelper::matchFDivToNormalize(), llvm::CombinerHelper::matchFoldAMinusC1MinusC2(), llvm::CombinerHelper::matchFoldAMinusC1PlusC2(), llvm::CombinerHelper::matchFoldAPlusC1MinusC2(), llvm::CombinerHelper::matchFoldBinOpIntoSelect(), llvm::CombinerHelper::matchFoldC1Minus2MinusC2(), llvm::CombinerHelper::matchFoldC2MinusAPlusC1(), llvm::CombinerHelper::matchFreezeOfSingleMaybePoisonOperand(), llvm::CombinerHelper::matchICmpToLHSKnownBits(), matchLDPSTPAddrMode(), matchLoadAndBytePosition(), llvm::CombinerHelper::matchLshrOfTruncOfLshr(), llvm::CombinerHelper::matchMulOBy0(), llvm::CombinerHelper::matchMulOfVScale(), llvm::CombinerHelper::matchNonNegZext(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchOverlappingAnd(), llvm::CombinerHelper::matchPtrAddImmedChain(), llvm::CombinerHelper::matchPtrAddZeroVector(), llvm::CombinerHelper::matchReassocConstantInnerLHS(), llvm::CombinerHelper::matchReassocPtrAdd(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), llvm::CombinerHelper::matchSameRegOrICstOrSplat(), llvm::CombinerHelper::matchSDivOrSRemByConst(), llvm::CombinerHelper::matchSelectIMinMax(), llvm::SPIRVCombinerHelper::matchSelectToFaceForward(), llvm::CombinerHelper::matchSextInRegOfLoad(), llvm::CombinerHelper::matchSextTruncSextLoad(), llvm::CombinerHelper::matchShiftImmedChain(), llvm::CombinerHelper::matchShiftOfShiftedLogic(), llvm::CombinerHelper::matchShlOfVScale(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchSimplifySelectToMinMax(), llvm::CombinerHelper::matchSubOfVScale(), llvm::CombinerHelper::matchTruncBuildVectorFold(), llvm::CombinerHelper::matchTruncLshrBuildVectorFold(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), llvm::CombinerHelper::matchTruncUSatU(), llvm::CombinerHelper::matchUDivByShiftedPow2(), llvm::CombinerHelper::matchUDivOrURemByConst(), llvm::CombinerHelper::matchUnmergeValuesAnyExtBuildVector(), llvm::CombinerHelper::matchUseVectorTruncate(), llvm::CombinerHelper::matchXorOfAndWithSameReg(), peekThroughBitcast(), selectWMMAModsNegAbs(), stripBitCast(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), llvm::LegalizationArtifactCombiner::tryCombineZExt(), AMDGPURegBankLegalizeCombiner::tryEliminateReadAnyLane(), AMDGPURegBankLegalizeCombiner::tryMatchMergeReadAnyLane(), llvm::CombinerHelper::tryReassocBinOp(), and widenBitCountOps().