reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Analysis/InstructionSimplify.cpp
 2987   if (match(LHS, m_SMax(m_Value(A), m_Value(B))) && (A == RHS || B == RHS)) {
 2987   if (match(LHS, m_SMax(m_Value(A), m_Value(B))) && (A == RHS || B == RHS)) {
 2988     if (A != RHS)
 2989       std::swap(A, B);       // smax(A, B) pred A.
 2993   } else if (match(RHS, m_SMax(m_Value(A), m_Value(B))) &&
 2994              (A == LHS || B == LHS)) {
 2995     if (A != LHS)
 2996       std::swap(A, B);       // A pred smax(A, B).
 3000   } else if (match(LHS, m_SMin(m_Value(A), m_Value(B))) &&
 3001              (A == RHS || B == RHS)) {
 3002     if (A != RHS)
 3003       std::swap(A, B);       // smin(A, B) pred A.
 3008   } else if (match(RHS, m_SMin(m_Value(A), m_Value(B))) &&
 3009              (A == LHS || B == LHS)) {
 3010     if (A != LHS)
 3011       std::swap(A, B);       // A pred smin(A, B).
 3026       if (Value *V = ExtractEquivalentCondition(LHS, EqP, A, B))
 3028       if (Value *V = ExtractEquivalentCondition(RHS, EqP, A, B))
 3032         if (Value *V = SimplifyICmpInst(EqP, A, B, Q, MaxRecurse - 1))
 3040       if (Value *V = ExtractEquivalentCondition(LHS, InvEqP, A, B))
 3042       if (Value *V = ExtractEquivalentCondition(RHS, InvEqP, A, B))
 3046         if (Value *V = SimplifyICmpInst(InvEqP, A, B, Q, MaxRecurse - 1))
 3061   if (match(LHS, m_UMax(m_Value(A), m_Value(B))) && (A == RHS || B == RHS)) {
 3061   if (match(LHS, m_UMax(m_Value(A), m_Value(B))) && (A == RHS || B == RHS)) {
 3062     if (A != RHS)
 3063       std::swap(A, B);       // umax(A, B) pred A.
 3067   } else if (match(RHS, m_UMax(m_Value(A), m_Value(B))) &&
 3068              (A == LHS || B == LHS)) {
 3069     if (A != LHS)
 3070       std::swap(A, B);       // A pred umax(A, B).
 3074   } else if (match(LHS, m_UMin(m_Value(A), m_Value(B))) &&
 3075              (A == RHS || B == RHS)) {
 3076     if (A != RHS)
 3077       std::swap(A, B);       // umin(A, B) pred A.
 3082   } else if (match(RHS, m_UMin(m_Value(A), m_Value(B))) &&
 3083              (A == LHS || B == LHS)) {
 3084     if (A != LHS)
 3085       std::swap(A, B);       // A pred umin(A, B).
 3100       if (Value *V = ExtractEquivalentCondition(LHS, EqP, A, B))
 3102       if (Value *V = ExtractEquivalentCondition(RHS, EqP, A, B))
 3106         if (Value *V = SimplifyICmpInst(EqP, A, B, Q, MaxRecurse - 1))
 3114       if (Value *V = ExtractEquivalentCondition(LHS, InvEqP, A, B))
 3116       if (Value *V = ExtractEquivalentCondition(RHS, InvEqP, A, B))
 3120         if (Value *V = SimplifyICmpInst(InvEqP, A, B, Q, MaxRecurse - 1))
 3135   if (match(LHS, m_SMax(m_Value(A), m_Value(B))) &&
 3137       (A == C || A == D || B == C || B == D)) {
 3137       (A == C || A == D || B == C || B == D)) {
 3145   } else if (match(LHS, m_SMin(m_Value(A), m_Value(B))) &&
 3147              (A == C || A == D || B == C || B == D)) {
 3147              (A == C || A == D || B == C || B == D)) {
 3155   } else if (match(LHS, m_UMax(m_Value(A), m_Value(B))) &&
 3157              (A == C || A == D || B == C || B == D)) {
 3157              (A == C || A == D || B == C || B == D)) {
 3165   } else if (match(LHS, m_UMin(m_Value(A), m_Value(B))) &&
 3167              (A == C || A == D || B == C || B == D)) {
 3167              (A == C || A == D || B == C || B == D)) {