Lines Matching defs:NSW
345 bool canDistributeOver(bool NUW, bool NSW) const {
349 return (!ZExtBits || NUW) && (!SExtBits || NSW);
371 /// True if all operations in this expression are NSW.
387 bool NSW = IsNSW && (Other.isOne() || (MulIsNSW && Offset.isZero()));
388 return LinearExpression(Val, Scale * Other, Offset * Other, NSW);
411 bool NUW = true, NSW = true;
414 NSW &= BOp->hasNoSignedWrap();
416 if (!Val.canDistributeOver(NUW, NSW))
422 NUW = NSW = false;
440 E.IsNSW &= NSW;
447 E.IsNSW &= NSW;
453 .mul(RHS, NSW);
464 E = GetLinearExpression(Val.withValue(BOp->getOperand(0), NSW), DL,
468 E.IsNSW &= NSW;
512 /// True if all operations in this expression are NSW.
516 /// negate the Scale, to avoid losing the NSW flag: X - INT_MIN*1 may be
1852 // Normalize IsNegated if we're going to lose the NSW flag anyway.