HomeSort by: relevance | last modified time | path
    Searched refs:NSW (Results 1 - 14 of 14) sorted by relevancy

  /src/external/apache2/llvm/dist/llvm/lib/DebugInfo/PDB/Native/
PDBFileBuilder.cpp 290 BinaryStreamWriter NSW(*NS);
291 if (auto EC = NSW.writeBytes(arrayRefFromStringRef(NSE.second)))
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
CorrelatedValuePropagation.cpp 449 // Notably, INT_MIN can belong to either range, regardless of the NSW,
525 bool NSW = WO->isSigned();
530 setDeducedOverflowingFlags(NewOp, Opcode, NSW, NUW);
550 bool NSW = SI->isSigned();
555 setDeducedOverflowingFlags(BinOp, Opcode, NSW, NUW);
936 bool NSW = BinOp->hasNoSignedWrap();
938 if (NSW && NUW)
956 if (!NSW) {
Reassociate.cpp 337 // TODO: Reduce the weight by exploiting nsw/nuw?
352 // TODO: Reduce the weight by exploiting nsw/nuw? (Could do much better than
647 // nsw flags.
1087 // nuw nsw shl into a nuw nsw mul. However, nsw in isolation requires special
1090 bool NSW = cast<BinaryOperator>(Shl)->hasNoSignedWrap();
1093 if (NSW && (NUW || SA->getValue().ult(BitWidth - 1)))
  /src/external/apache2/llvm/dist/llvm/lib/Support/
KnownBits.cpp 57 KnownBits KnownBits::computeForAddSub(bool Add, bool NSW,
73 if (NSW) {
  /src/external/apache2/llvm/dist/llvm/include/llvm/Support/
KnownBits.h 298 static KnownBits computeForAddSub(bool Add, bool NSW, const KnownBits &LHS,
  /src/external/apache2/llvm/dist/llvm/lib/Analysis/
BasicAliasAnalysis.cpp 274 bool canDistributeOver(bool NUW, bool NSW) const {
276 // sext(x op<nsw> y) == sext(x) op<nsw> sext(y)
277 return (!ZExtBits || NUW) && (!SExtBits || NSW);
316 // case where it is both nuw and nsw.
317 bool NUW = true, NSW = true;
320 NSW &= BOp->hasNoSignedWrap();
322 if (!Val.canDistributeOver(NUW, NSW))
ValueTracking.cpp 393 bool NSW, const APInt &DemandedElts,
400 if (KnownOut.isUnknown() && !NSW)
404 KnownOut = KnownBits::computeForAddSub(Add, NSW, Known2, KnownOut);
407 static void computeKnownBitsMul(const Value *Op0, const Value *Op1, bool NSW,
417 if (NSW) {
1094 bool NSW = Q.IIQ.hasNoSignedWrap(cast<OverflowingBinaryOperator>(I));
1095 computeKnownBitsMul(I->getOperand(0), I->getOperand(1), NSW, DemandedElts,
1138 // If the negate has an NSW flag we can assume the sign bit of the result
1199 bool NSW = Q.IIQ.hasNoSignedWrap(cast<OverflowingBinaryOperator>(I));
1200 auto KF = [NSW](const KnownBits &KnownVal, const KnownBits &KnownAmt)
    [all...]
InstructionSimplify.cpp 643 // add nsw/nuw (xor Y, signmask), signmask --> Y
757 // Op1 is either 0 or the minimum signed value. If the sub is NSW, then
1279 // Check for nsw shl leading to a poison value.
1281 assert(Opcode == Instruction::Shl && "Expected shl for nsw instruction");
1334 // undef << X -> undef if (if it's NSW/NUW)
2782 // (mul nuw/nsw X, MulC) != C --> true (if C is not a multiple of MulC)
2783 // (mul nuw/nsw X, MulC) == C --> false (if C is not a multiple of MulC)
2901 // If only one of the icmp's operands has NSW flags, try to prove that:
2903 // icmp slt (x + C1), (x +nsw C2)
2909 // which is true if x + C2 has the NSW flags set and
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/IR/
InstrTypes.h 357 DEFINE_HELPERS(Add, NSW) // CreateNSWAdd
359 DEFINE_HELPERS(Sub, NSW) // CreateNSWSub
361 DEFINE_HELPERS(Mul, NSW) // CreateNSWMul
363 DEFINE_HELPERS(Shl, NSW) // CreateNSWShl
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/
InstructionCombining.cpp 400 // preserved by the reassociation. Reset nsw/nuw based on the above
654 // Check if we can add NSW/NUW flags to SimplifiedInst. If so, set them.
676 // We can propagate 'nsw' if we know that
677 // %Y = mul nsw i16 %X, C
678 // %Z = add nsw i16 %Y, %X
680 // %Z = mul nsw i16 %X, C+1
1330 // Then to work back up correcting nsw flags.
1461 // trunc (Y * sext Scale) does not, so nsw flags need to be cleared
1503 // Now work back up the expression correcting nsw flags. The logic is based
1512 // If the multiplication wasn't nsw then we can't say anything about th
    [all...]
InstCombineSimplifyDemanded.cpp 503 // Disable the nsw and nuw flags here: We can no longer guarantee that
504 // we won't wrap after simplification. Removing the nsw/nuw flags is
525 bool NSW = cast<OverflowingBinaryOperator>(I)->hasNoSignedWrap();
527 NSW, LHSKnown, RHSKnown);
543 // If the shift is NUW/NSW, then it does demand the high bits.
562 // If this shift has "nsw" keyword, then the result is either a poison
579 // We can't guarantee that nsw/nuw hold after simplifying the operand.
InstCombineCompares.cpp 1969 // (mul nsw X, MulC) == C --> X == C /s MulC
2068 // NSW guarantees that we are only shifting out sign bits from the high bits,
2073 // icmp Pred (shl nsw X, ShiftAmt), C --> icmp Pred X, (C >>s ShiftAmt)
2556 // (icmp P (sub nuw|nsw C2, Y), C) -> (icmp swap(P) Y, C2-C)
2570 // (icmp sgt (sub nsw X, Y), -1) -> (icmp sge X, Y)
2574 // (icmp sgt (sub nsw X, Y), 0) -> (icmp sgt X, Y)
2578 // (icmp slt (sub nsw X, Y), 0) -> (icmp slt X, Y)
2582 // (icmp slt (sub nsw X, Y), 1) -> (icmp sle X, Y)
2632 // icmp Pred (add nsw X, C2), C --> icmp Pred X, (C - C2)
4114 bool NSW = BO0->hasNoSignedWrap() && BO1->hasNoSignedWrap()
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/AsmParser/
LLParser.cpp 3752 bool NSW = false;
3762 NSW = true;
3806 if (NSW) Flags |= OverflowingBinaryOperator::NoSignedWrap;
6202 bool NSW = EatIfPresent(lltok::kw_nsw);
6209 if (NSW) cast<BinaryOperator>(Inst)->setHasNoSignedWrap(true);
  /src/external/apache2/llvm/dist/llvm/lib/Target/X86/
X86ISelLowering.cpp     [all...]

Completed in 58 milliseconds