Home | History | Annotate | Download | only in InstCombine

Lines Matching full:ici

370 static Value *foldSelectCttzCtlz(ICmpInst *ICI, Value *TrueVal, Value *FalseVal,
372 ICmpInst::Predicate Pred = ICI->getPredicate();
373 Value *CmpLHS = ICI->getOperand(0);
374 Value *CmpRHS = ICI->getOperand(1);
377 if (!ICI->isEquality() || !match(CmpRHS, m_Zero()))
416 ICmpInst *ICI) {
418 ICmpInst::Predicate Pred = ICI->getPredicate();
419 Value *CmpLHS = ICI->getOperand(0);
420 Value *CmpRHS = ICI->getOperand(1);
425 // can be adjusted to fit the min/max idiom. We may move or edit ICI
427 if (ICI->hasOneUse())
471 } else if (ICI->isUnsigned()) {
495 ICI->setPredicate(Pred);
496 ICI->setOperand(0, CmpLHS);
497 ICI->setOperand(1, CmpRHS);
501 // Move ICI instruction right before the select instruction. Otherwise
502 // the sext/zext value may be defined after the ICI instruction uses it.
503 ICI->moveBefore(&SI);
606 if (Value *V = foldSelectCttzCtlz(ICI, TrueVal, FalseVal, Builder))
1084 if (ICmpInst *ICI = dyn_cast<ICmpInst>(CondVal))
1085 if (Instruction *Result = visitSelectInstWithICmp(SI, ICI))