Home | History | Annotate | Download | only in InstCombine

Lines Matching full:mulval

2229 /// \param MulVal Result of 'mult' instruction.  It is one of the arguments of
2234 static Instruction *ProcessUMulZExtIdiom(ICmpInst &I, Value *MulVal,
2238 if (!isa<IntegerType>(MulVal->getType()))
2241 assert(I.getOperand(0) == MulVal || I.getOperand(1) == MulVal);
2243 Instruction *MulInstr = cast<Instruction>(MulVal);
2269 if (MulVal->hasNUsesOrMore(2))
2270 for (User *U : MulVal->users()) {
2298 // mulval = mul(zext A, zext B)
2299 // cmp eq/neq mulval, zext trunc mulval
2309 // mulval = mul(zext A, zext B)
2310 // cmp eq/neq mulval, and(mulval, mask), mask selects low MulWidth bits.
2314 if (ValToMask != MulVal)
2327 // mulval = mul(zext A, zext B)
2328 // cmp ugt mulval, max
2339 // mulval = mul(zext A, zext B)
2340 // cmp uge mulval, max+1
2350 // mulval = mul(zext A, zext B)
2351 // cmp ule mulval, max
2362 // mulval = mul(zext A, zext B)
2363 // cmp ule mulval, max + 1
2393 if (MulVal->hasNUsesOrMore(2)) {
2395 for (User *U : MulVal->users()) {
2433 if (I.getOperand(0) == MulVal)
2439 if (I.getOperand(1) == MulVal)