|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/CodeGen/CodeGenPrepare.cpp 5916 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal)))))
6701 m_c_Or(m_OneUse(m_ZExt(m_Value(LValue))),
6702 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))),
6702 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))),
7197 if (!match(BB.getTerminator(), m_Br(m_OneUse(m_BinOp(LogicOp)), TBB, FBB)))
7206 if (match(LogicOp, m_And(m_OneUse(m_Value(Cond1)),
7207 m_OneUse(m_Value(Cond2)))))
7209 else if (match(LogicOp, m_Or(m_OneUse(m_Value(Cond1)),
7210 m_OneUse(m_Value(Cond2)))))
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 2081 if (match(Cond, m_OneUse(m_Not(m_Value(NotCond)))) &&
lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp 83 auto RotL = m_OneUse(
92 auto RotR = m_OneUse(
225 if (match(&I, m_c_And(m_OneUse(m_And(m_Value(), m_Value())), m_Value())))
227 else if (match(&I, m_And(m_OneUse(m_Or(m_Value(), m_Value())), m_One())))
lib/Transforms/InstCombine/InstCombineAddSub.cpp 839 match(Op0, m_OneUse(m_ZExt(m_NUWAdd(m_Value(X), m_APInt(C2))))) &&
849 if (match(Op0, m_OneUse(m_SExt(m_NSWAdd(m_Value(X), m_Constant(NarrowC)))))) {
856 if (match(Op0, m_OneUse(m_ZExt(m_NUWAdd(m_Value(X), m_Constant(NarrowC)))))) {
885 if (match(Op0, m_OneUse(m_Sub(m_Value(X), m_Value(Y)))) &&
1063 if (!match(&I, m_Add(m_OneUse(m_Shl(m_One(), m_Value(NBits))), m_AllOnes())))
1127 if (HadTrunc && !match(&I, m_c_BinOp(m_OneUse(m_Value()), m_Value())))
1293 if (match(&I, m_c_Add(m_Value(A), m_OneUse(m_SExt(m_Value(B))))) &&
1420 if (!match(&I, m_c_FAdd(m_OneUse(m_c_FMul(m_Value(Y),
1421 m_OneUse(m_FSub(m_FPOne(),
1423 m_OneUse(m_c_FMul(m_Value(X), m_Deferred(Z))))))
1446 if ((match(Op0, m_OneUse(m_FMul(m_Value(X), m_Value(Z)))) &&
1447 match(Op1, m_OneUse(m_c_FMul(m_Value(Y), m_Specific(Z))))) ||
1448 (match(Op0, m_OneUse(m_FMul(m_Value(Z), m_Value(X)))) &&
1449 match(Op1, m_OneUse(m_c_FMul(m_Value(Y), m_Specific(Z))))))
1451 else if (match(Op0, m_OneUse(m_FDiv(m_Value(X), m_Value(Z)))) &&
1452 match(Op1, m_OneUse(m_FDiv(m_Value(Y), m_Specific(Z)))))
1498 if (match(&I, m_c_FAdd(m_OneUse(m_c_FMul(m_FNeg(m_Value(X)), m_Value(Y))),
1505 if (match(&I, m_c_FAdd(m_OneUse(m_FDiv(m_FNeg(m_Value(X)), m_Value(Y))),
1507 match(&I, m_c_FAdd(m_OneUse(m_FDiv(m_Value(X), m_FNeg(m_Value(Y)))),
1716 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_AllOnes()))))
1720 if (match(Op1, m_OneUse(m_Add(m_Value(X), m_One()))))
1724 if (match(Op1, m_OneUse(m_Not(m_Value(X))))) {
1879 if (match(Op0, m_OneUse(m_c_Or(m_Value(Y), m_Specific(Op1)))))
1997 match(Op0, m_OneUse(m_c_Xor(m_Specific(A), m_Specific(Op1))))) {
2039 if (match(&I, m_FNeg(m_OneUse(m_FMul(m_Value(X), m_Constant(C))))))
2042 if (match(&I, m_FNeg(m_OneUse(m_FDiv(m_Value(X), m_Constant(C))))))
2045 if (match(&I, m_FNeg(m_OneUse(m_FDiv(m_Constant(C), m_Value(X))))))
2058 if (match(FNeg, m_OneUse(m_FMul(m_Value(X), m_Value(Y)))))
2061 if (match(FNeg, m_OneUse(m_FDiv(m_Value(X), m_Value(Y)))))
2081 match(Op, m_OneUse(m_FSub(m_Value(X), m_Value(Y)))))
2121 if (match(Op1, m_OneUse(m_FSub(m_Value(X), m_Value(Y))))) {
2145 if (match(Op1, m_OneUse(m_FPTrunc(m_FNeg(m_Value(Y))))))
2149 if (match(Op1, m_OneUse(m_FPExt(m_FNeg(m_Value(Y))))))
2155 if (match(Op1, m_OneUse(m_c_FMul(m_FNeg(m_Value(X)), m_Value(Y))))) {
2161 if (match(Op1, m_OneUse(m_FDiv(m_FNeg(m_Value(X)), m_Value(Y)))) ||
2162 match(Op1, m_OneUse(m_FDiv(m_Value(X), m_FNeg(m_Value(Y)))))) {
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp 1468 if (match(I.getOperand(0), m_OneUse(m_Not(m_Value(A)))) &&
1469 match(I.getOperand(1), m_OneUse(m_Not(m_Value(B)))) &&
1511 if (match(Cast, m_OneUse(m_ZExt(m_Value(X))))) {
1521 if (match(Cast, m_OneUse(m_SExt(m_Value(X))))) {
1689 if (!match(Op0, m_OneUse(m_Add(m_Specific(Op1), m_Constant(C)))) &&
1690 !match(Op0, m_OneUse(m_Mul(m_Specific(Op1), m_Constant(C)))) &&
1691 !match(Op0, m_OneUse(m_LShr(m_Specific(Op1), m_Constant(C)))) &&
1692 !match(Op0, m_OneUse(m_Shl(m_Specific(Op1), m_Constant(C)))) &&
1693 !match(Op0, m_OneUse(m_Sub(m_Constant(C), m_Specific(Op1)))))
1754 if (match(Op0, m_OneUse(m_LogicalShift(m_One(), m_Value(X)))) &&
1763 if (match(Op0, m_OneUse(m_Xor(m_Value(X), m_APInt(XorC))))) {
1772 if (match(Op0, m_OneUse(m_Or(m_Value(X), m_APInt(OrC))))) {
1788 if (match(Op0, m_OneUse(m_Xor(m_Value(X), m_Value(Y)))) ||
1789 match(Op0, m_OneUse(m_Or(m_Value(X), m_Value(Y))))) {
1828 if (match(Op0I, m_OneUse(m_c_BinOp(m_OneUse(m_ZExt(m_Value(X))),
1828 if (match(Op0I, m_OneUse(m_c_BinOp(m_OneUse(m_ZExt(m_Value(X))),
1879 if (match(Op1, m_OneUse(m_c_Xor(m_Specific(Op0), m_Value(B)))))
1882 if (match(Op0, m_OneUse(m_c_Xor(m_Specific(Op1), m_Value(B)))))
1924 if (LHS && match(Op1, m_OneUse(m_And(m_Value(X), m_Value(Y))))) {
1932 if (RHS && match(Op0, m_OneUse(m_And(m_Value(X), m_Value(Y))))) {
1955 if (match(Op0, m_OneUse(m_SExt(m_Value(A)))) &&
1958 if (match(Op1, m_OneUse(m_SExt(m_Value(A)))) &&
1967 if (match(&I, m_c_And(m_OneUse(m_AShr(m_NSWSub(m_Value(Y), m_Value(X)),
2043 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(ShVal), m_Value(ShAmt0)))) ||
2044 !match(Or1, m_OneUse(m_LogicalShift(m_Specific(ShVal), m_Value(ShAmt1)))))
2140 match(B, m_OneUse(m_Not(m_Value(NotB))))) {
2486 if (match(&I, m_c_Or(m_OneUse(m_Xor(m_Value(X), m_APInt(CV))), m_Value(Y))) &&
2649 if (LHS && match(Op1, m_OneUse(m_Or(m_Value(X), m_Value(Y))))) {
2657 if (RHS && match(Op0, m_OneUse(m_Or(m_Value(X), m_Value(Y))))) {
2679 if (match(Op0, m_OneUse(m_SExt(m_Value(A)))) &&
2682 if (match(Op1, m_OneUse(m_SExt(m_Value(A)))) &&
2718 if (match(&I, m_c_Or(m_OneUse(m_AShr(m_NSWSub(m_Value(Y), m_Value(X)),
2912 m_OneUse(m_c_And(
2948 if (!match(&I, m_Not(m_OneUse(m_Xor(m_Value(X), m_Value(Y))))))
3010 if (match(&I, m_Not(m_OneUse(m_c_And(m_Not(m_Value(X)), m_Value(Y)))))) {
3016 if (match(&I, m_Not(m_OneUse(m_c_Or(m_Not(m_Value(X)), m_Value(Y)))))) {
3078 if (match(Op0, m_OneUse(m_Or(m_Not(m_Value(X)), m_Constant(C2))))) {
3083 if (match(Op0, m_OneUse(m_And(m_Not(m_Value(X)), m_Constant(C2))))) {
3092 if (match(&I, m_Not(m_OneUse(m_Cmp(Pred, m_Value(), m_Value()))))) {
3159 if (match(Op1, m_OneUse(m_c_Or(m_Value(X), m_Specific(Op0)))))
3163 if (match(Op0, m_OneUse(m_c_Or(m_Value(X), m_Specific(Op1)))))
3168 if (match(Op1, m_OneUse(m_c_And(m_Value(X), m_Specific(Op0)))))
3176 match(Op0, m_OneUse(m_c_And(m_Value(X), m_Specific(Op1)))))
3181 if (match(&I, m_c_Xor(m_OneUse(m_Xor(m_Value(A), m_Value(B))),
3182 m_OneUse(m_c_Or(m_Deferred(A), m_Value(C))))))
3187 if (match(&I, m_c_Xor(m_OneUse(m_Xor(m_Value(A), m_Value(B))),
3188 m_OneUse(m_c_Or(m_Deferred(B), m_Value(C))))))
3227 match(Op0, m_OneUse(m_c_Add(m_Specific(A), m_Specific(Op1))))) {
lib/Transforms/InstCombine/InstCombineCalls.cpp 2301 if (match(II->getArgOperand(0), m_OneUse(m_FPExt(m_Value(ExtSrc))))) {
2322 if (match(II->getArgOperand(0), m_OneUse(m_FNeg(m_Value(X))))) {
2612 if ((match(Arg0, m_OneUse(m_FSub(m_Value(A), m_Value(B)))) &&
lib/Transforms/InstCombine/InstCombineCasts.cpp 510 if (!match(Trunc.getOperand(0), m_OneUse(m_Or(m_Value(Or0), m_Value(Or1)))))
514 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(ShVal), m_Value(ShAmt0)))) ||
515 !match(Or1, m_OneUse(m_LogicalShift(m_Specific(ShVal), m_Value(ShAmt1)))))
528 if (match(R, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(L)))))
586 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp))))
739 if (match(Src, m_OneUse(m_LShr(m_Value(X), m_APInt(C))))) {
745 if (match(Src, m_OneUse(m_c_Or(m_LShr(m_Value(X), m_APInt(C)),
1207 match(SrcI, m_OneUse(m_And(m_Trunc(m_Value(X)), m_Constant(C)))) &&
1213 if (SrcI && match(SrcI, m_OneUse(m_Xor(m_Value(And), m_Constant(C)))) &&
1214 match(And, m_OneUse(m_And(m_Trunc(m_Value(X)), m_Specific(C)))) &&
1405 if (match(Src, m_OneUse(m_Trunc(m_Value(X)))) && X->getType() == DestTy) {
2061 !match(BitCast.getOperand(0), m_OneUse(m_BinOp(BO))) ||
2072 if (match(BO->getOperand(0), m_OneUse(m_BitCast(m_Value(X)))) &&
2079 if (match(BO->getOperand(1), m_OneUse(m_BitCast(m_Value(X)))) &&
2106 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal)))))
2128 if (match(TVal, m_OneUse(m_BitCast(m_Value(X)))) && X->getType() == DestTy &&
2135 if (match(FVal, m_OneUse(m_BitCast(m_Value(X)))) && X->getType() == DestTy &&
lib/Transforms/InstCombine/InstCombineCompares.cpp 1348 if (!match(&I, m_ICmp(Pred, m_OneUse(m_IRem(m_Value(X), m_Value(Y))),
1765 if (match(And->getOperand(0), m_OneUse(m_Trunc(m_Value(W)))) &&
1926 if (match(OrOp0, m_OneUse(m_Xor(m_Value(X1), m_Value(X2)))) &&
1927 match(OrOp1, m_OneUse(m_Xor(m_Value(X3), m_Value(X4))))) {
3386 m_OneUse(m_AShr(m_Shl(m_Value(X), m_APInt(C0)),
3503 m_c_And(m_OneUse(m_AnyLogicalShift), m_Value())))
3610 match(&I, m_c_ICmp(Pred, m_OneUse(m_UDiv(m_AllOnes(), m_Value(X))),
3631 m_OneUse(m_UDiv(m_CombineAnd(m_c_Mul(m_Deferred(Y),
3682 if (match(Op0, m_OneUse(m_c_Add(m_Specific(Op1), m_Value(X)))) &&
3686 if (match(Op1, m_OneUse(m_c_Add(m_Specific(Op0), m_Value(X)))) &&
4163 if (match(Op0, m_OneUse(m_And(m_Value(A), m_Value(B)))) &&
4164 match(Op1, m_OneUse(m_And(m_Value(C), m_Value(D))))) {
4209 if ((match(Op0, m_OneUse(m_LShr(m_Value(A), m_ConstantInt(Cst1)))) &&
4210 match(Op1, m_OneUse(m_LShr(m_Value(B), m_Specific(Cst1))))) ||
4211 (match(Op0, m_OneUse(m_AShr(m_Value(A), m_ConstantInt(Cst1)))) &&
4212 match(Op1, m_OneUse(m_AShr(m_Value(B), m_Specific(Cst1)))))) {
4225 if (match(Op0, m_OneUse(m_Shl(m_Value(A), m_ConstantInt(Cst1)))) &&
4226 match(Op1, m_OneUse(m_Shl(m_Value(B), m_Specific(Cst1))))) {
4242 match(Op0, m_Trunc(m_OneUse(m_LShr(m_Value(A), m_ConstantInt(ShAmt))))) &&
4274 if (!match(Op0, m_OneUse(m_c_And(m_Add(m_Value(A), m_AllOnes()),
4281 if (match(Op0, m_OneUse(m_c_And(m_Neg(m_Specific(Op1)), m_Specific(Op1)))))
4284 m_OneUse(m_c_And(m_Neg(m_Specific(Op0)), m_Specific(Op0)))))
5311 m_c_ICmp(Pred, m_OneUse(m_Shl(m_One(), m_Value(Y))), m_Value(X)))) {
5327 m_OneUse(m_CombineOr(
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp 61 if (match(V, m_LShr(m_OneUse(m_Shl(m_Value(One), m_Value(A))), m_Value(B))) &&
138 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_One(), m_AllOnes())),
144 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_AllOnes(), m_One())),
150 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(1.0),
160 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(-1.0),
268 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_Constant(C1))))) {
295 if (match(&I, m_c_Mul(m_OneUse(m_Neg(m_Value(X))), m_Value(Y))))
439 if (match(Op0, m_OneUse(m_FDiv(m_Constant(C1), m_Value(X))))) {
461 if (match(Op0, m_OneUse(m_FAdd(m_Value(X), m_Constant(C1))))) {
467 if (match(Op0, m_OneUse(m_FSub(m_Constant(C1), m_Value(X))))) {
476 if (match(&I, m_c_FMul(m_OneUse(m_FDiv(m_Value(X), m_Value(Y))),
487 match(Op0, m_OneUse(m_Intrinsic<Intrinsic::sqrt>(m_Value(X)))) &&
488 match(Op1, m_OneUse(m_Intrinsic<Intrinsic::sqrt>(m_Value(Y))))) {
540 if (match(Op0, m_OneUse(m_c_FMul(m_Specific(Op1), m_Value(Y)))) &&
545 if (match(Op1, m_OneUse(m_c_FMul(m_Specific(Op0), m_Value(Y)))) &&
555 if (match(Op0, m_OneUse(m_Intrinsic<Intrinsic::log2>(
556 m_OneUse(m_FMul(m_Value(X), m_SpecificFP(0.5))))))) {
560 if (match(Op1, m_OneUse(m_Intrinsic<Intrinsic::log2>(
561 m_OneUse(m_FMul(m_Value(X), m_SpecificFP(0.5))))))) {
935 if ((match(N, m_OneUse(m_ZExt(m_Value(X)))) && match(D, m_Constant(C))) ||
936 (match(D, m_OneUse(m_ZExt(m_Value(X)))) && match(N, m_Constant(C)))) {
1084 if (match(Op0, m_OneUse(m_SExt(m_Value(Op0Src)))) &&
1111 if (match(&I, m_SDiv(m_OneUse(m_NSWSub(m_Zero(), m_Value(X))), m_Value(Y))))
1230 if (match(Op0, m_OneUse(m_FDiv(m_Value(X), m_Value(Y)))) &&
1236 if (match(Op1, m_OneUse(m_FDiv(m_Value(X), m_Value(Y)))) &&
1419 if (match(&I, m_SRem(m_OneUse(m_NSWSub(m_Zero(), m_Value(X))), m_Value(Y))))
lib/Transforms/InstCombine/InstCombineSelect.cpp 511 if (!match(TVal, m_OneUse(m_And(m_Value(B), m_One()))))
516 const bool HasShift = match(B, m_OneUse(m_LShr(m_Value(X), m_Value(Z))));
623 if (!match(CmpLHS, m_OneUse(m_Trunc(m_Value(V)))))
1321 if (!match(&Cmp, m_OneUse(m_ICmp(
1846 if (!match(Cond, m_OneUse(m_ExtractElement(m_Value(), m_ConstantInt()))))
2143 if (!match(Sel.getFalseValue(), m_OneUse(m_Or(m_Value(Or0), m_Value(Or1)))))
2148 if (!match(Or0, m_OneUse(m_LogicalShift(m_Specific(TVal), m_Value(SA0)))) ||
2149 !match(Or1, m_OneUse(m_LogicalShift(m_Specific(TVal), m_Value(SA1)))))
2167 if (match(SA1, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA0)))))
2169 else if (match(SA0, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA1)))))
2177 if (!match(Cond, m_OneUse(m_ICmp(Pred, m_Specific(ShAmt), m_ZeroInt()))) ||
2227 if (match(CondVal, m_OneUse(m_ICmp(Pred, m_Value(), m_Value()))) &&
2587 if (match(TrueVal, m_OneUse(m_BinOp(TrueBO))) &&
2607 if (match(FalseVal, m_OneUse(m_BinOp(FalseBO))) &&
lib/Transforms/InstCombine/InstCombineShifts.cpp 79 !match(Sh0, m_c_BinOp(m_OneUse(m_Value()), m_Value())))
292 if (match(Op1, m_OneUse(m_SExt(m_Value(Y))))) {
712 m_And(m_OneUse(m_Shr(m_Value(V1), m_Specific(Op1))),
746 m_And(m_OneUse(m_Shr(m_Value(V1), m_Value(V2))),
805 if (match(Op0, m_Select(m_Value(Cond), m_OneUse(m_BinOp(TBO)),
825 m_OneUse(m_BinOp(FBO))))) {
872 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) {
933 if (match(Op0, m_OneUse(m_Shr(m_Value(X), m_Specific(Op1))))) {
944 if (match(Op0, m_OneUse(m_Shl(m_Constant(C2), m_Value(X)))))
1035 if (match(Op0, m_OneUse(m_ZExt(m_Value(X)))) &&
1087 if (match(Op0, m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))))) {
1150 if (HadTrunc && !match(&OldAShr, m_c_BinOp(m_OneUse(m_Value()), m_Value())))
1222 if (match(Op0, m_OneUse(m_SExt(m_Value(X)))) &&
lib/Transforms/InstCombine/InstCombineVectorOps.cpp 63 if (match(V, m_OneUse(m_Load(m_Value()))))
67 if (match(V, m_OneUse(m_BinOp(m_Value(V0), m_Value(V1)))))
73 if (match(V, m_OneUse(m_Cmp(UnusedPred, m_Value(V0), m_Value(V1)))))
1533 if (!match(Op0, m_OneUse(m_InsertElement(m_Undef(), m_Value(X),
1695 m_OneUse(m_Select(m_Value(Cond), m_Value(X), m_Value(Y)))))
1702 if (!match(Cond, m_OneUse(m_ShuffleVector(m_Value(NarrowCond), m_Undef(),
lib/Transforms/InstCombine/InstructionCombining.cpp 436 match(Op0, m_OneUse(m_BinOp(m_Value(A), m_Constant(C1)))) &&
437 match(Op1, m_OneUse(m_BinOp(m_Value(B), m_Constant(C2))))) {
1490 m_OneUse(m_ShuffleVector(m_Value(V1), m_Undef(), m_Constant(Mask))),
2578 if (match(&BI, m_Br(m_OneUse(m_Cmp(Pred, m_Value(), m_Value())),
lib/Transforms/Scalar/Reassociate.cpp 1949 if (!match(V, m_OneUse(m_Instruction(I))))
2057 if (match(I, m_FAdd(m_Value(X), m_OneUse(m_Instruction(Op)))))
2060 if (match(I, m_FAdd(m_OneUse(m_Instruction(Op)), m_Value(X))))
2063 if (match(I, m_FSub(m_Value(X), m_OneUse(m_Instruction(Op)))))
lib/Transforms/Utils/SimplifyLibCalls.cpp 1369 if (match(Call->getArgOperand(0), m_OneUse(m_FNeg(m_Value(X)))))
unittests/IR/PatternMatch.cpp 61 EXPECT_TRUE(m_OneUse(m_Value(V)).match(One));
64 EXPECT_FALSE(m_OneUse(m_Value()).match(Two));
65 EXPECT_FALSE(m_OneUse(m_Value()).match(Leaf));