reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
471 if (!Cmp->hasOneUse() || !(Select = dyn_cast<SelectInst>(*I->user_begin()))) 473 return InstDesc(Select, Prev.getMinMaxKind()); 477 if (!(Select = dyn_cast<SelectInst>(I))) 489 if (m_UMin(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) 490 return InstDesc(Select, MRK_UIntMin); 491 else if (m_UMax(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) 492 return InstDesc(Select, MRK_UIntMax); 493 else if (m_SMax(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) 494 return InstDesc(Select, MRK_SIntMax); 495 else if (m_SMin(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) 496 return InstDesc(Select, MRK_SIntMin); 497 else if (m_OrdFMin(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) 498 return InstDesc(Select, MRK_FloatMin); 499 else if (m_OrdFMax(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) 500 return InstDesc(Select, MRK_FloatMax); 501 else if (m_UnordFMin(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) 502 return InstDesc(Select, MRK_FloatMin); 503 else if (m_UnordFMax(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) 504 return InstDesc(Select, MRK_FloatMax);