Lines Matching refs:Select
378 SelectInst *Select = nullptr; in isMinMaxSelectCmpPattern() local
383 if (!Cmp->hasOneUse() || !(Select = dyn_cast<SelectInst>(*I->user_begin()))) in isMinMaxSelectCmpPattern()
385 return InstDesc(Select, Prev.getMinMaxKind()); in isMinMaxSelectCmpPattern()
389 if (!(Select = dyn_cast<SelectInst>(I))) in isMinMaxSelectCmpPattern()
401 if (m_UMin(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) in isMinMaxSelectCmpPattern()
402 return InstDesc(Select, MRK_UIntMin); in isMinMaxSelectCmpPattern()
403 else if (m_UMax(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) in isMinMaxSelectCmpPattern()
404 return InstDesc(Select, MRK_UIntMax); in isMinMaxSelectCmpPattern()
405 else if (m_SMax(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) in isMinMaxSelectCmpPattern()
406 return InstDesc(Select, MRK_SIntMax); in isMinMaxSelectCmpPattern()
407 else if (m_SMin(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) in isMinMaxSelectCmpPattern()
408 return InstDesc(Select, MRK_SIntMin); in isMinMaxSelectCmpPattern()
409 else if (m_OrdFMin(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) in isMinMaxSelectCmpPattern()
410 return InstDesc(Select, MRK_FloatMin); in isMinMaxSelectCmpPattern()
411 else if (m_OrdFMax(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) in isMinMaxSelectCmpPattern()
412 return InstDesc(Select, MRK_FloatMax); in isMinMaxSelectCmpPattern()
413 else if (m_UnordFMin(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) in isMinMaxSelectCmpPattern()
414 return InstDesc(Select, MRK_FloatMin); in isMinMaxSelectCmpPattern()
415 else if (m_UnordFMax(m_Value(CmpLeft), m_Value(CmpRight)).match(Select)) in isMinMaxSelectCmpPattern()
416 return InstDesc(Select, MRK_FloatMax); in isMinMaxSelectCmpPattern()
452 case Instruction::Select: in isRecurrenceInstr()
652 Value *Select = Builder.CreateSelect(Cmp, Left, Right, "rdx.minmax.select"); in createMinMaxOp() local
653 return Select; in createMinMaxOp()