|
LLVM 22.0.0git
|
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 SubPat> | |
| OneNonDBGUse_match< SubPat > | m_OneNonDBGUse (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) |
| SpecificConstantMatch | m_SpecificICst (const APInt &RequestedValue) |
Matches a constant equal to RequestedValue. | |
| SpecificConstantMatch | m_SpecificICst (int64_t RequestedValue) |
| 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) |
| 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 () |
| 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_SUB > | m_GSub (const LHS &L, const RHS &R) |
| 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> | |
| 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 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. | |
| And< Preds... > llvm::MIPatternMatch::m_all_of | ( | Preds &&... | preds | ) |
Definition at line 351 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineI2PToP2I(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), and llvm::LegalizationArtifactCombiner::tryCombineSExt().
|
inline |
Definition at line 281 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 355 of file MIPatternMatch.h.
Referenced by getTruncStoreByteOffset(), m_GAddLike(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCommuteShift(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), and llvm::LegalizationArtifactCombiner::tryCombineSExt().
|
inline |
Definition at line 538 of file MIPatternMatch.h.
Referenced by foldSelectBinOpIdentity(), and llvm::InstCombinerImpl::foldSelectShuffle().
|
inline |
G_FCMP matcher that also matches commuted compares.
E.g.
m_c_GFCmp(m_Pred(...), m_FAdd(...), m_GFMul(...))
Could match both of:
fcmp ogt (fadd x, y) (fmul a, b) fcmp olt (fmul a, b) (fadd x, y)
Definition at line 865 of file MIPatternMatch.h.
|
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 850 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchRedundantBinOpInEquality().
|
inline |
Definition at line 545 of file MIPatternMatch.h.
|
inline |
Definition at line 755 of file MIPatternMatch.h.
Referenced by llvm::AMDGPU::getBaseWithConstantOffset().
|
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 460 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSimplifyNegMinMax().
|
inline |
Definition at line 461 of file MIPatternMatch.h.
|
inline |
Definition at line 431 of file MIPatternMatch.h.
References T.
|
inline |
Definition at line 551 of file MIPatternMatch.h.
Referenced by getBaseWithConstantOffset(), m_GAddLike(), llvm::CombinerHelper::matchCommuteShift(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), and llvm::CombinerHelper::matchSubAddSameReg().
Definition at line 631 of file MIPatternMatch.h.
References LHS, m_any_of(), m_GAdd(), m_GDisjointOr(), and RHS.
|
inline |
Definition at line 606 of file MIPatternMatch.h.
Referenced by isLaneMaskFromSameBlock(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchOverlappingAnd(), and llvm::CombinerHelper::matchXorOfAndWithSameReg().
|
inline |
Definition at line 696 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineShlOfExtend(), and llvm::LegalizationArtifactCombiner::tryCombineAnyExt().
|
inline |
Definition at line 649 of file MIPatternMatch.h.
Referenced by getTruncStoreByteOffset(), and llvm::CombinerHelper::matchAshrShlToSextInreg().
|
inline |
Definition at line 722 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchTruncBuildVectorFold(), llvm::CombinerHelper::matchTruncLshrBuildVectorFold(), peekThroughBitcast(), and stripBitCast().
|
inline |
Definition at line 557 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchTruncBuildVectorFold(), and llvm::CombinerHelper::matchTruncLshrBuildVectorFold().
|
inline |
Definition at line 563 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchBuildVectorIdentityFold().
|
inline |
Definition at line 160 of file MIPatternMatch.h.
Referenced by isLshrHalf(), isShlHalf(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchReassocConstantInnerLHS(), and llvm::CombinerHelper::matchTruncLshrBuildVectorFold().
|
inline |
Definition at line 625 of file MIPatternMatch.h.
References llvm::MachineInstr::Disjoint, LHS, and RHS.
Referenced by m_GAddLike().
|
inline |
Definition at line 745 of file MIPatternMatch.h.
Referenced by selectWMMAModsNegAbs().
|
inline |
Definition at line 588 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchRedundantNegOperands().
|
inline |
Definition at line 835 of file MIPatternMatch.h.
|
inline |
Definition at line 475 of file MIPatternMatch.h.
References llvm::CallingConv::C.
|
inline |
Definition at line 174 of file MIPatternMatch.h.
|
inline |
Definition at line 189 of file MIPatternMatch.h.
Referenced by llvm::SITargetLowering::isCanonicalized(), isConstantCostlierToNegate(), llvm::CombinerHelper::matchCommuteFPConstantToRHS(), and llvm::CombinerHelper::matchConstantFPOp().
|
inline |
Definition at line 594 of file MIPatternMatch.h.
|
inline |
|
inline |
Definition at line 711 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMAAggressive(), llvm::CombinerHelper::matchCombineFSubFpExtFMulToFMadOrFMA(), and llvm::CombinerHelper::matchCombineFSubFpExtFNegFMulToFMadOrFMA().
|
inline |
Definition at line 740 of file MIPatternMatch.h.
|
inline |
Definition at line 760 of file MIPatternMatch.h.
|
inline |
Definition at line 600 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchRedundantNegOperands().
|
inline |
Definition at line 829 of file MIPatternMatch.h.
Referenced by getOperandsForBranch().
|
inline |
Definition at line 472 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchBuildVectorIdentityFold().
|
inline |
Definition at line 913 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineInsertVecElts().
|
inline |
Definition at line 734 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineConstPtrAddToI2P().
|
inline |
Definition at line 920 of file MIPatternMatch.h.
|
inline |
Matches the register and immediate used in a fpclass test G_IS_FPCLASS val, 96.
Definition at line 873 of file MIPatternMatch.h.
References LHS, T, and llvm::Test.
|
inline |
Definition at line 643 of file MIPatternMatch.h.
Referenced by getTruncStoreByteOffset(), isExtractHiElt(), isLshrHalf(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), and llvm::CombinerHelper::matchTruncLshrBuildVectorFold().
|
inline |
Definition at line 582 of file MIPatternMatch.h.
|
inline |
Definition at line 617 of file MIPatternMatch.h.
Referenced by llvm::AMDGPU::getBaseWithConstantOffset(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchCommuteShift(), and llvm::CombinerHelper::matchOrShiftToFunnelShift().
|
inline |
Definition at line 570 of file MIPatternMatch.h.
Referenced by llvm::AMDGPU::getBaseWithConstantOffset(), llvm::GISelAddressing::getPointerInfo(), llvm::GISelAddressing::instMayAlias(), matchLDPSTPAddrMode(), and llvm::CombinerHelper::matchReassocConstantInnerLHS().
|
inline |
Definition at line 728 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineAddP2IToPtrAdd(), and llvm::CombinerHelper::matchCombineI2PToP2I().
|
inline |
|
inline |
Definition at line 637 of file MIPatternMatch.h.
Referenced by isShlHalf(), llvm::CombinerHelper::matchAshrShlToSextInreg(), matchLoadAndBytePosition(), and llvm::CombinerHelper::matchOrShiftToFunnelShift().
|
inline |
Definition at line 655 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), and llvm::CombinerHelper::matchTruncUSatU().
|
inline |
Definition at line 661 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchTruncSSatS(), and llvm::CombinerHelper::matchTruncSSatU().
|
inline |
Definition at line 575 of file MIPatternMatch.h.
Referenced by m_Neg(), llvm::CombinerHelper::matchAddSubSameReg(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), and llvm::CombinerHelper::matchSubAddSameReg().
|
inline |
Definition at line 716 of file MIPatternMatch.h.
Referenced by getTruncStoreByteOffset(), isExtractHiElt(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchSextTruncSextLoad(), llvm::CombinerHelper::matchSimplifySelectToMinMax(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), and llvm::LegalizationArtifactCombiner::tryCombineZExt().
|
inline |
Definition at line 667 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSimplifyNegMinMax().
|
inline |
Definition at line 673 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchSimplifyNegMinMax(), and llvm::CombinerHelper::matchTruncSSatU().
|
inline |
Definition at line 612 of file MIPatternMatch.h.
Referenced by m_Not(), llvm::CombinerHelper::matchNotCmp(), and llvm::CombinerHelper::matchRedundantBinOpInEquality().
|
inline |
Definition at line 706 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineShlOfExtend(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), and llvm::LegalizationArtifactCombiner::tryCombineZExt().
|
inline |
Definition at line 102 of file MIPatternMatch.h.
Referenced by clampVectorIndex(), getBaseWithConstantOffset(), llvm::AMDGPU::getBaseWithConstantOffset(), getTruncStoreByteOffset(), llvm::GISelAddressing::instMayAlias(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), llvm::MIPatternMatch::SpecificConstantMatch::match(), llvm::MIPatternMatch::SpecificConstantOrSplatMatch::match(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchCombineConstPtrAddToI2P(), llvm::CombinerHelper::matchCombineInsertVecElts(), matchLDPSTPAddrMode(), matchLoadAndBytePosition(), llvm::CombinerHelper::matchNotCmp(), and llvm::CombinerHelper::matchOverlappingAnd().
|
inline |
Definition at line 105 of file MIPatternMatch.h.
|
inline |
Definition at line 143 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchAshrShlToSextInreg(), llvm::CombinerHelper::matchCommuteShift(), llvm::CombinerHelper::matchLshrOfTruncOfLshr(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), and llvm::CombinerHelper::matchSubAddSameReg().
|
inline |
Definition at line 147 of file MIPatternMatch.h.
|
inline |
Definition at line 425 of file MIPatternMatch.h.
References MI.
|
inline |
Definition at line 424 of file MIPatternMatch.h.
References MI.
Referenced by llvm::AMDGPU::getBaseWithConstantOffset(), 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::ImplicitDefMatch::match(), llvm::MIPatternMatch::TernaryOp_match< Src0Ty, Src1Ty, Src2Ty, Opcode >::match(), llvm::MIPatternMatch::UnaryOp_match< SrcTy, Opcode >::match(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMAAggressive(), llvm::CombinerHelper::matchCombineFSubFNegFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFpExtFNegFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), and llvm::LegalizationArtifactCombiner::tryCombineSExt().
|
inline |
Matches a register negated by a G_SUB.
G_SUB 0, negated_reg
Definition at line 929 of file MIPatternMatch.h.
References m_GSub(), and m_ZeroInt().
Referenced by combineAddSubWithShlAddSub(), combineAndXorSubWithBMI(), combineLogicBlendIntoConditionalNegate(), llvm::InstCombinerImpl::convertOrOfShiftsToFunnelShift(), foldAbsDiff(), foldCtpop(), foldCttzCtlz(), llvm::InstCombinerImpl::foldICmpAndConstant(), llvm::InstCombinerImpl::foldICmpBinOp(), foldICmpPow2Test(), foldICmpXNegX(), llvm::InstCombinerImpl::foldSelectShuffle(), llvm::InstCombiner::getComplexity(), getKnownBitsFromAndXorOr(), getRangeForSelectPattern(), llvm::isKnownNegation(), llvm::isKnownToBeAPowerOfTwo(), llvm::SelectionDAG::isKnownToBeAPowerOfTwo(), isMaskOrZero(), isNeg(), LinearizeExprTree(), matchSelectPattern(), llvm::CombinerHelper::matchSimplifyAddToSub(), llvm::CombinerHelper::matchSimplifyNegMinMax(), NegateValue(), setLimitsForBinOp(), ShouldBreakUpSubtract(), llvm::X86TargetLowering::shouldFoldSelectWithIdentityConstant(), simplifyAndCommutative(), simplifyGEPInst(), simplifyICmpWithBinOp(), llvm::InstCombinerImpl::SimplifySelectsFeedingBinaryOp(), simplifySelectWithICmpCond(), tryToRecognizeTableBasedCttz(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitAnd(), llvm::InstCombinerImpl::visitAShr(), 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 937 of file MIPatternMatch.h.
References m_AllOnesInt(), and m_GXor().
Referenced by BitOp3_Op(), llvm::InstCombiner::canFreelyInvertAllUsersOf(), canonicalizeSaturatedAdd(), canShiftBinOpWithConstantRHS(), combineAndNotOrIntoAndNotAnd(), computeKnownBitsFromCond(), llvm::computeKnownBitsFromContext(), computeKnownFPClassFromCond(), llvm::decomposeBitTest(), dropRedundantMaskingOfLeftShiftInput(), llvm::SelectionDAGBuilder::FindMergedConditions(), FindSingleBitChange(), llvm::findValuesAffectedByCondition(), llvm::InstCombinerImpl::foldAddWithConstant(), foldAndToXor(), llvm::InstCombinerImpl::foldBinOpOfSelectAndCastOfSelectCondition(), foldComplexAndOrPatterns(), foldCtpop(), foldCttzCtlz(), llvm::InstCombinerImpl::foldICmpAndConstant(), foldICmpWithHighBitMask(), foldMaskedMerge(), foldMulShl1(), foldNotXor(), foldOrToXor(), foldSubCtlzNot(), foldToUnsignedSaturatedAdd(), foldTwoEntryPHINode(), foldXorToXor(), llvm::InstCombiner::getComplexity(), llvm::InstCombiner::getFreelyInvertedImpl(), getNotValue(), llvm::AMDGPUTargetMachine::getPredicatedAddrSpace(), haveNoCommonBitsSetSpecialCases(), llvm::invertCondition(), llvm::isCheckForZeroAndMulWithOverflow(), llvm::isImpliedCondition(), llvm::isImpliedCondition(), isMaskOrZero(), llvm::AArch64TTIImpl::isProfitableToSinkOperands(), llvm::RISCVTTIImpl::isProfitableToSinkOperands(), matchDeMorgansLaws(), matchMinMaxOfMinMax(), matchSelectWithOptionalNotCond(), OptimizeAndOrXor(), reverseZExtICmpCombine(), simplifyAddInst(), simplifyAndCommutative(), simplifyBlends(), simplifyBranchConditionForVFAndUF(), llvm::InstCombinerImpl::SimplifyDemandedUseBits(), simplifyICmpOfBools(), simplifyOrLogic(), simplifyRecipe(), simplifySelectInst(), simplifyXorInst(), llvm::InstCombinerImpl::sinkNotIntoLogicalOp(), llvm::InstCombinerImpl::sinkNotIntoOtherHandOfLogicalOp(), tryToReplaceALMWithWideALM(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitAnd(), llvm::InstCombinerImpl::visitAShr(), llvm::InstCombinerImpl::visitBranchInst(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitICmpInst(), llvm::InstCombinerImpl::visitLShr(), visitMaskedMerge(), llvm::InstCombinerImpl::visitOr(), visitORCommutative(), llvm::InstCombinerImpl::visitSub(), and llvm::InstCombinerImpl::visitXor().
|
inline |
Definition at line 70 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCommuteShift(), matchLoadAndBytePosition(), llvm::CombinerHelper::matchReassocConstantInnerLHS(), and llvm::CombinerHelper::matchSimplifySelectToMinMax().
|
inline |
Definition at line 56 of file MIPatternMatch.h.
Referenced by llvm::canConvertToMinOrMaxIntrinsic(), canonicalizeAbs(), canonicalizeBitCastExtElt(), llvm::InstCombinerImpl::canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract(), canonicalizeInsertSplat(), canonicalizeLogicFirst(), canonicalizeLowbitMask(), llvm::canPeelLastIteration(), cheapToScalarize(), combineAdd(), combineAddSubWithShlAddSub(), combineAnd(), combineAndNotOrIntoAndNotAnd(), combineAndXorSubWithBMI(), combineCastedMaskArithmetic(), combineOrAndToBitfieldInsert(), combineOrToBitfieldInsert(), combineShiftToPMULH(), combineShlAddIAddImpl(), combineXorToBitfieldInsert(), llvm::InstCombinerImpl::commonCastTransforms(), llvm::InstCombinerImpl::commonShiftTransforms(), commuteSelect(), llvm::InstCombinerImpl::convertOrOfShiftsToFunnelShift(), dominatesMergePoint(), factorizeLerp(), llvm::SelectionDAGBuilder::FindMergedConditions(), fixReductionScalarResumeWhenVectorizingEpilog(), llvm::InstCombinerImpl::foldAddWithConstant(), foldAndOrOfICmpsWithPow2AndWithZero(), foldAnyOrAllBitsSet(), llvm::InstCombinerImpl::foldBinOpShiftWithShift(), foldBitCastBitwiseLogic(), foldBitCastSelect(), foldBitOrderCrossLogicOp(), foldBoxMultiply(), foldComplexAndOrPatterns(), foldCtpop(), foldCttzCtlz(), llvm::InstCombinerImpl::foldFMulReassoc(), foldFNegIntoConstant(), foldGuardedFunnelShift(), llvm::InstCombinerImpl::foldICmpAndConstant(), llvm::InstCombinerImpl::foldICmpAndConstConst(), llvm::InstCombinerImpl::foldICmpBinOp(), llvm::InstCombinerImpl::foldICmpBinOpEqualityWithConstant(), llvm::InstCombinerImpl::foldICmpEquality(), 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(), foldMinimumOverTrailingOrLeadingZeroCount(), foldMulSelectToNegate(), foldMulShl1(), llvm::InstCombinerImpl::foldMultiplicationOverflowCheck(), foldNotXor(), foldNoWrapAdd(), foldOrUnsignedUMulOverflowICmp(), llvm::InstCombinerImpl::foldPowiReassoc(), llvm::InstCombinerImpl::foldPtrToIntOfGEP(), foldReductionIdiom(), foldSelectICmpAndAnd(), foldSetClearBits(), llvm::InstCombinerImpl::FoldShiftByConstant(), foldShiftIntoShiftInAnotherHandOfAndInICmp(), llvm::InstCombinerImpl::foldShuffledIntrinsicOperands(), foldSubOfMinMax(), llvm::InstCombinerImpl::foldVariableSignZeroExtensionOfVariableHighBitExtract(), foldVecExtTruncToExtElt(), llvm::InstCombinerImpl::foldVectorBinop(), foldVectorCmp(), getNegatibleInsts(), llvm::vputils::getRecipesForUncountableExit(), llvm::LoopVectorizationCostModel::getReductionPatternCost(), llvm::X86TTIImpl::getShuffleCost(), hoistMinMax(), llvm::X86TTIImpl::instCombineIntrinsic(), instCombineSVELast(), llvm::RecurrenceDescriptor::isAnyOfPattern(), llvm::RecurrenceDescriptor::isConditionalRdxPattern(), llvm::RecurrenceDescriptor::isFindIVPattern(), llvm::RecurrenceDescriptor::isMinMaxPattern(), llvm::AArch64TTIImpl::isProfitableToSinkOperands(), matchDeMorgansLaws(), matchesSquareSum(), matchFPExtFromF16(), matchIntPart(), matchOrConcat(), llvm::CombinerHelper::matchSimplifyNegMinMax(), matchZExtedSubInteger(), moveAddAfterMinMax(), narrowUDivURem(), narrowVectorSelect(), optimizeSymmetricCall(), llvm::RISCVTargetLowering::PerformDAGCombine(), reassociateForUses(), reassociateMinMaxWithConstantInOperand(), llvm::InstCombinerImpl::reassociateShiftAmtsOfTwoSameDirectionShifts(), reverseZExtICmpCombine(), shouldCanonicalizeGEPToPtrAdd(), shouldExpandCmpArithRMWInIR(), llvm::InstCombinerImpl::SimplifyAssociativeOrCommutative(), llvm::InstCombinerImpl::SimplifyDemandedUseBits(), llvm::simplifyInstruction(), simplifyShiftSelectingPackedElement(), simplifyValueKnownNonZero(), splitMergedValStore(), llvm::InstCombinerImpl::tryFoldInstWithCtpopWithNot(), tryToFPToSat(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitAnd(), llvm::InstCombinerImpl::visitAShr(), llvm::InstCombinerImpl::visitBitCast(), llvm::InstCombinerImpl::visitBranchInst(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitFAdd(), llvm::InstCombinerImpl::visitFCmpInst(), llvm::InstCombinerImpl::visitFDiv(), llvm::InstCombinerImpl::visitFMul(), llvm::InstCombinerImpl::visitFNeg(), llvm::InstCombinerImpl::visitFSub(), llvm::InstCombinerImpl::visitGetElementPtrInst(), llvm::InstCombinerImpl::visitInsertElementInst(), llvm::InstCombinerImpl::visitIntToPtr(), llvm::InstCombinerImpl::visitLShr(), visitMaskedMerge(), llvm::InstCombinerImpl::visitMul(), llvm::InstCombinerImpl::visitOr(), llvm::InstCombinerImpl::visitPtrToInt(), llvm::InstCombinerImpl::visitSDiv(), llvm::InstCombinerImpl::visitSExt(), llvm::InstCombinerImpl::visitShl(), llvm::InstCombinerImpl::visitSRem(), llvm::InstCombinerImpl::visitSub(), llvm::InstCombinerImpl::visitTrunc(), llvm::InstCombinerImpl::visitXor(), and llvm::InstCombinerImpl::visitZExt().
|
inline |
Definition at line 430 of file MIPatternMatch.h.
Referenced by getOperandsForBranch(), and llvm::CombinerHelper::matchRedundantBinOpInEquality().
|
inline |
Definition at line 429 of file MIPatternMatch.h.
References P.
|
inline |
Definition at line 311 of file MIPatternMatch.h.
Referenced by llvm::AMDGPUCombinerHelper::applyFoldableFneg(), BitOp3_Op(), getBaseWithConstantOffset(), llvm::AMDGPU::getBaseWithConstantOffset(), getOperandsForBranch(), llvm::GISelAddressing::getPointerInfo(), getTruncStoreByteOffset(), llvm::GISelAddressing::instMayAlias(), isExtractHiElt(), isLaneMaskFromSameBlock(), isLshrHalf(), isShlHalf(), llvm::CombinerHelper::matchAddSubSameReg(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchAshrShlToSextInreg(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineAddP2IToPtrAdd(), llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineI2PToP2I(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCombineShlOfExtend(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchCommuteShift(), matchLDPSTPAddrMode(), matchLoadAndBytePosition(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchOverlappingAnd(), llvm::CombinerHelper::matchReassocConstantInnerLHS(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), llvm::CombinerHelper::matchRedundantNegOperands(), llvm::CombinerHelper::matchSextTruncSextLoad(), llvm::CombinerHelper::matchSimplifyAddToSub(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchSimplifySelectToMinMax(), llvm::CombinerHelper::matchSubAddSameReg(), llvm::CombinerHelper::matchTruncBuildVectorFold(), llvm::CombinerHelper::matchTruncLshrBuildVectorFold(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), llvm::CombinerHelper::matchTruncUSatU(), llvm::CombinerHelper::matchXorOfAndWithSameReg(), peekThroughBitcast(), selectWMMAModsNegAbs(), stripBitCast(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), and llvm::LegalizationArtifactCombiner::tryCombineZExt().
Definition at line 423 of file MIPatternMatch.h.
|
inline |
Matches a constant equal to RequestedValue.
Definition at line 213 of file MIPatternMatch.h.
Referenced by isExtractHiElt(), 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 267 of file MIPatternMatch.h.
Referenced by llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::CombinerHelper::matchAddEToAddO(), llvm::CombinerHelper::matchMulOBy0(), llvm::CombinerHelper::matchMulOBy2(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchSubAddSameReg(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), and llvm::CombinerHelper::matchTruncUSatU().
|
inline |
Definition at line 272 of file MIPatternMatch.h.
|
inline |
Matches a constant splat of RequestedValue.
Definition at line 234 of file MIPatternMatch.h.
|
inline |
Definition at line 238 of file MIPatternMatch.h.
|
inline |
Matches a register only if it is equal to RequestedReg.
Definition at line 295 of file MIPatternMatch.h.
Definition at line 887 of file MIPatternMatch.h.
Referenced by llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineI2PToP2I(), and llvm::CombinerHelper::matchCombineZextTrunc().
Definition at line 428 of file MIPatternMatch.h.
|
inline |
Convenience matchers for specific integer values.
Definition at line 278 of file MIPatternMatch.h.
References llvm::APInt::getZero().
Referenced by llvm::AMDGPURegisterBankInfo::applyMappingMAD_64_32(), BitOp3_Op(), llvm::VPPartialReductionRecipe::computeCost(), emitTransformedIndex(), foldGuardedFunnelShift(), foldICmpOfUAddOv(), foldICmpPow2Test(), foldInsEltIntoSplat(), foldIsPowerOf2(), foldIsPowerOf2OrZero(), foldSubOfMinMax(), getAlternateBinop(), llvm::getSplatValue(), llvm::ARMTTIImpl::isProfitableToSinkOperands(), llvm::RISCVTTIImpl::isProfitableToSinkOperands(), llvm::WebAssemblyTTIImpl::isProfitableToSinkOperands(), m_Neg(), matchSelectPattern(), matchUAddWithOverflowConstantEdgeCases(), shouldExpandCmpArithRMWInIR(), simplifyAndOrOfICmpsWithCtpop(), simplifyRecipe(), simplifySelectInst(), simplifySVEIntrinsic(), simplifyX86addcarry(), tryToMatchAndCreateMulAccumulateReduction(), llvm::InstCombinerImpl::visitAdd(), llvm::InstCombinerImpl::visitCallInst(), llvm::InstCombinerImpl::visitOr(), and llvm::InstCombinerImpl::visitSub().
|
inline |
Definition at line 79 of file MIPatternMatch.h.
References llvm::getIConstantVRegVal(), MRI, and Reg.
|
inline |
Definition at line 85 of file MIPatternMatch.h.
References llvm::getIConstantVRegSExtVal(), MRI, and Reg.
|
inline |
|
inline |
Definition at line 114 of file MIPatternMatch.h.
References llvm::getIConstantSplatVal(), MRI, and Reg.
|
inline |
Definition at line 121 of file MIPatternMatch.h.
References llvm::getIConstantSplatSExtVal(), MRI, and Reg.
|
inline |
Referenced by llvm::MIPatternMatch::ICstOrSplatMatch< ConstT >::match().
|
nodiscard |
Definition at line 40 of file MIPatternMatch.h.
|
nodiscard |
Definition at line 34 of file MIPatternMatch.h.
|
nodiscard |
Definition at line 28 of file MIPatternMatch.h.
Referenced by llvm::AMDGPUCombinerHelper::applyFoldableFneg(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), llvm::AMDGPURegisterBankInfo::applyMappingMAD_64_32(), BitOp3_Op(), clampVectorIndex(), getBaseWithConstantOffset(), llvm::AMDGPU::getBaseWithConstantOffset(), getOperandsForBranch(), llvm::GISelAddressing::getPointerInfo(), getTruncStoreByteOffset(), llvm::GISelAddressing::instMayAlias(), llvm::SITargetLowering::isCanonicalized(), isConstantCostlierToNegate(), isExtractHiElt(), isLaneMaskFromSameBlock(), isLshrHalf(), isShlHalf(), llvm::LegalizerHelper::lowerExtractInsertVectorElt(), 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::ImplicitDefMatch::match(), llvm::MIPatternMatch::SpecificConstantMatch::match(), llvm::MIPatternMatch::SpecificConstantOrSplatMatch::match(), llvm::MIPatternMatch::TernaryOp_match< Src0Ty, Src1Ty, Src2Ty, Opcode >::match(), llvm::MIPatternMatch::UnaryOp_match< SrcTy, Opcode >::match(), llvm::CombinerHelper::matchAddEToAddO(), llvm::CombinerHelper::matchAddSubSameReg(), llvm::CombinerHelper::matchAndOrDisjointMask(), llvm::CombinerHelper::matchAshrShlToSextInreg(), llvm::CombinerHelper::matchBuildVectorIdentityFold(), llvm::CombinerHelper::matchCombineAddP2IToPtrAdd(), llvm::CombinerHelper::matchCombineAnyExtTrunc(), llvm::CombinerHelper::matchCombineConstPtrAddToI2P(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFAddFpExtFMulToFMadOrFMAAggressive(), llvm::CombinerHelper::matchCombineFSubFNegFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFpExtFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineFSubFpExtFNegFMulToFMadOrFMA(), llvm::CombinerHelper::matchCombineI2PToP2I(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::CombinerHelper::matchCombineShlOfExtend(), llvm::CombinerHelper::matchCombineUnmergeZExtToZExt(), llvm::CombinerHelper::matchCombineZextTrunc(), llvm::CombinerHelper::matchCommuteFPConstantToRHS(), llvm::CombinerHelper::matchCommuteShift(), llvm::CombinerHelper::matchConstantFPOp(), llvm::CombinerHelper::matchICmpToLHSKnownBits(), matchLDPSTPAddrMode(), matchLoadAndBytePosition(), llvm::CombinerHelper::matchLshrOfTruncOfLshr(), llvm::CombinerHelper::matchMulOBy0(), llvm::CombinerHelper::matchMulOBy2(), llvm::CombinerHelper::matchNotCmp(), llvm::CombinerHelper::matchOrShiftToFunnelShift(), llvm::CombinerHelper::matchOverlappingAnd(), llvm::CombinerHelper::matchReassocConstantInnerLHS(), llvm::CombinerHelper::matchRedundantBinOpInEquality(), llvm::CombinerHelper::matchRedundantNegOperands(), llvm::CombinerHelper::matchSextTruncSextLoad(), llvm::CombinerHelper::matchSimplifyAddToSub(), llvm::CombinerHelper::matchSimplifyNegMinMax(), llvm::CombinerHelper::matchSimplifySelectToMinMax(), llvm::CombinerHelper::matchSubAddSameReg(), llvm::CombinerHelper::matchTruncBuildVectorFold(), llvm::CombinerHelper::matchTruncLshrBuildVectorFold(), llvm::CombinerHelper::matchTruncSSatS(), llvm::CombinerHelper::matchTruncSSatU(), llvm::CombinerHelper::matchTruncUSatU(), llvm::CombinerHelper::matchXorOfAndWithSameReg(), peekThroughBitcast(), selectWMMAModsNegAbs(), stripBitCast(), llvm::LegalizationArtifactCombiner::tryCombineAnyExt(), llvm::LegalizationArtifactCombiner::tryCombineSExt(), llvm::LegalizationArtifactCombiner::tryCombineTrunc(), and llvm::LegalizationArtifactCombiner::tryCombineZExt().