/external/llvm/lib/Transforms/InstCombine/ |
D | InstCombineSelect.cpp | 74 if ((CmpLHS == TrueVal && match(FalseVal, m_Neg(m_Specific(CmpLHS)))) || in MatchSelectPattern() 75 (CmpLHS == FalseVal && match(TrueVal, m_Neg(m_Specific(CmpLHS))))) { in MatchSelectPattern() 417 if (match(TrueVal, m_Specific(X))) { in foldSelectICmpAndOr() 419 if (match(FalseVal, m_Xor(m_Specific(X), m_APInt(C2))) && C1 == C2) in foldSelectICmpAndOr() 422 if (match(FalseVal, m_And(m_Specific(X), m_APInt(C2))) && *C1 == ~(*C2)) in foldSelectICmpAndOr() 424 } else if (match(FalseVal, m_Specific(X))) { in foldSelectICmpAndOr() 426 if (match(TrueVal, m_Xor(m_Specific(X), m_APInt(C2))) && C1 == C2) in foldSelectICmpAndOr() 429 if (match(TrueVal, m_And(m_Specific(X), m_APInt(C2))) && *C1 == ~(*C2)) in foldSelectICmpAndOr() 432 if (match(TrueVal, m_Or(m_Specific(X), m_APInt(C2))) && C1 == C2) in foldSelectICmpAndOr() 437 bool OrOnFalseVal = match(FalseVal, m_Or(m_Specific(TrueVal), m_Power2(C2))); in foldSelectICmpAndOr() [all …]
|
D | InstCombineAndOrXor.cpp | 845 match(Val, m_And(m_Specific(V), m_ConstantInt(AndCst)))) { in FoldAndOfICmps() 849 match(Val2, m_And(m_Specific(V), m_ConstantInt(AndCst)))) { in FoldAndOfICmps() 1280 if (match(Op0, m_Or(m_Not(m_Specific(Op1)), m_Value(A))) || in visitAnd() 1281 match(Op0, m_Or(m_Value(A), m_Not(m_Specific(Op1))))) in visitAnd() 1283 if (match(Op1, m_Or(m_Not(m_Specific(Op0)), m_Value(A))) || in visitAnd() 1284 match(Op1, m_Or(m_Value(A), m_Not(m_Specific(Op0))))) in visitAnd() 1543 if (match(D, m_Not(m_SExt(m_Specific(Cond))))) in MatchSelectFromAndOr() 1545 if (match(D, m_SExt(m_Not(m_Specific(Cond))))) in MatchSelectFromAndOr() 1549 if (match(B, m_Not(m_SExt(m_Specific(Cond))))) in MatchSelectFromAndOr() 1551 if (match(B, m_SExt(m_Not(m_Specific(Cond))))) in MatchSelectFromAndOr() [all …]
|
D | InstCombineAddSub.cpp | 1199 if (match(FV, m_Zero()) && match(TV, m_Sub(m_Value(N), m_Specific(A)))) in visitAdd() 1203 if (match(TV, m_Zero()) && match(FV, m_Sub(m_Value(N), m_Specific(A)))) in visitAdd() 1247 (match(LHS, m_And(m_Specific(A), m_Specific(B))) || in visitAdd() 1248 match(LHS, m_And(m_Specific(B), m_Specific(A))))) in visitAdd() 1252 (match(RHS, m_And(m_Specific(A), m_Specific(B))) || in visitAdd() 1253 match(RHS, m_And(m_Specific(B), m_Specific(A))))) in visitAdd() 1530 if (match(Op1, m_Add(m_Specific(Op0), m_Value(Y))) || in visitSub() 1531 match(Op1, m_Add(m_Value(Y), m_Specific(Op0)))) in visitSub() 1535 if (match(Op0, m_Sub(m_Specific(Op1), m_Value(Y)))) in visitSub() 1551 if (match(Op1, m_And(m_Value(Y), m_Specific(Op0))) || in visitSub() [all …]
|
D | InstCombineShifts.cpp | 421 m_Specific(Op1)))) { in FoldShiftByConstant() 440 m_And(m_OneUse(m_Shr(m_Value(V1), m_Specific(Op1))), in FoldShiftByConstant() 457 m_Specific(Op1)))) { in FoldShiftByConstant() 791 if (match(Op0, m_Shl(m_Value(X), m_Specific(Op1)))) { in visitAShr()
|
D | InstCombineMulDivRem.cpp | 776 if ((isSigned && match(Z, m_SRem(m_Specific(X), m_Specific(Op1)))) || in commonIDivTransforms() 777 (!isSigned && match(Z, m_URem(m_Specific(X), m_Specific(Op1))))) in commonIDivTransforms()
|
D | InstCombineCompares.cpp | 3235 match(Op1, m_OneUse(m_LShr(m_Value(B), m_Specific(Cst1))))) || in visitICmpInst() 3237 match(Op1, m_OneUse(m_AShr(m_Value(B), m_Specific(Cst1)))))) { in visitICmpInst()
|
D | InstCombineCasts.cpp | 875 match(And, m_OneUse(m_And(m_Trunc(m_Value(X)), m_Specific(C)))) && in visitZExt()
|
D | InstructionCombining.cpp | 1883 if (!match(TI, m_Br(m_ICmp(Pred, m_Specific(Op), m_Zero()), TrueBB, FalseBB))) in tryToMoveFreeBeforeNullTest()
|
/external/llvm/lib/Analysis/ |
D | InstructionSimplify.cpp | 545 if (match(Op1, m_Sub(m_Value(Y), m_Specific(Op0))) || in SimplifyAddInst() 546 match(Op0, m_Sub(m_Value(Y), m_Specific(Op1)))) in SimplifyAddInst() 550 if (match(Op0, m_Not(m_Specific(Op1))) || in SimplifyAddInst() 551 match(Op1, m_Not(m_Specific(Op0)))) in SimplifyAddInst() 805 if (match(Op1, m_FSub(m_AnyZero(), m_Specific(Op0)))) in SimplifyFAddInst() 807 else if (match(Op0, m_FSub(m_AnyZero(), m_Specific(Op1)))) in SimplifyFAddInst() 912 if (match(Op0, m_Exact(m_IDiv(m_Value(X), m_Specific(Op1)))) || // (X / Y) * Y in SimplifyMulInst() 913 match(Op1, m_Exact(m_IDiv(m_Value(X), m_Specific(Op0))))) // Y * (X / Y) in SimplifyMulInst() 1027 if ((isSigned && match(Op0, m_SRem(m_Value(), m_Specific(Op1)))) || in SimplifyDiv() 1028 (!isSigned && match(Op0, m_URem(m_Value(), m_Specific(Op1))))) in SimplifyDiv() [all …]
|
D | ValueTracking.cpp | 862 if (match(X, m_Neg(m_Specific(Y))) || match(Y, m_Neg(m_Specific(X)))) in isKnownToBeAPowerOfTwo() 872 if (match(X, m_And(m_Specific(Y), m_Value())) || in isKnownToBeAPowerOfTwo() 873 match(X, m_And(m_Value(), m_Specific(Y)))) in isKnownToBeAPowerOfTwo() 876 if (match(Y, m_And(m_Specific(X), m_Value())) || in isKnownToBeAPowerOfTwo() 877 match(Y, m_And(m_Value(), m_Specific(X)))) in isKnownToBeAPowerOfTwo()
|
D | LazyValueInfo.cpp | 819 match(ICI->getOperand(0), m_Add(m_Specific(Val), in getEdgeValueLocal()
|
/external/llvm/lib/Transforms/Scalar/ |
D | StructurizeCFG.cpp | 331 if (I->getParent() == Parent && match(I, m_Not(m_Specific(Condition)))) in invert()
|
/external/llvm/include/llvm/IR/ |
D | PatternMatch.h | 323 inline specificval_ty m_Specific(const Value *V) { return V; } in m_Specific() function
|