Lines Matching refs:Shl

81     if (I->getOpcode() == Instruction::Shl && !I->hasNoUnsignedWrap()) {  in simplifyValueKnownNonZero()
172 Value *Shl = Builder.CreateShl(FrX, Z, "mulshl", HasNUW, PropagateNSW); in foldMulShl1() local
173 return Builder.CreateAdd(Shl, FrX, Mul.getName(), HasNUW, PropagateNSW); in foldMulShl1()
185 Value *Shl = Builder.CreateShl(FrX, Z, "mulshl"); in foldMulShl1() local
186 return Builder.CreateSub(Shl, FrX, Mul.getName()); in foldMulShl1()
234 Constant *Shl = in visitMul() local
235 ConstantFoldBinaryOpOperands(Instruction::Shl, C1, C2, DL); in visitMul()
236 assert(Shl && "Constant folding of immediate constants failed"); in visitMul()
238 BinaryOperator *BO = BinaryOperator::CreateMul(NewOp, Shl); in visitMul()
241 if (HasNSW && Mul->hasNoSignedWrap() && Shl->isNotMinSignedValue()) in visitMul()
249 BinaryOperator *Shl = BinaryOperator::CreateShl(NewOp, NewCst); in visitMul() local
252 Shl->setHasNoUnsignedWrap(); in visitMul()
256 Shl->setHasNoSignedWrap(); in visitMul()
259 return Shl; in visitMul()
542 BinaryOperator *Shl = BinaryOperator::CreateShl(Op1, Res); in visitMul() local
544 Shl->setHasNoUnsignedWrap(HasNUW); in visitMul()
545 return Shl; in visitMul()
551 BinaryOperator *Shl = BinaryOperator::CreateShl(Op0, Res); in visitMul() local
553 Shl->setHasNoUnsignedWrap(HasNUW); in visitMul()
554 return Shl; in visitMul()
1098 auto *Shl = cast<OverflowingBinaryOperator>(Op1); in foldIDivShl() local
1099 bool HasNUW = Mul->hasNoUnsignedWrap() && Shl->hasNoUnsignedWrap(); in foldIDivShl()
1100 bool HasNSW = Mul->hasNoSignedWrap() && Shl->hasNoSignedWrap(); in foldIDivShl()
1108 Value *Shl = Builder.CreateShl(ConstantInt::get(Ty, 1), Z); in foldIDivShl() local
1109 return Builder.CreateSDiv(Y, Shl, "", I.isExact()); in foldIDivShl()