| /freebsd-head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| HD | InstCombineMulDivRem.cpp | 81 if (I->getOpcode() == Instruction::Shl && !I->hasNoUnsignedWrap()) { in simplifyValueKnownNonZero() 107 bool HasAnyNoWrap = I.hasNoSignedWrap() || I.hasNoUnsignedWrap(); in foldMulSelectToNegate() 115 bool HasAnyNoWrap = I.hasNoSignedWrap() || I.hasNoUnsignedWrap(); in foldMulSelectToNegate() 152 const bool HasNUW = Mul.hasNoUnsignedWrap(); in foldMulShl1() 198 simplifyMulInst(Op0, Op1, I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), in visitMul() 217 const bool HasNUW = I.hasNoUnsignedWrap(); in visitMul() 239 if (HasNUW && Mul->hasNoUnsignedWrap()) in visitMul() 314 (BOp0->getOpcode() == Instruction::Or || BOp0->hasNoUnsignedWrap()); in visitMul() 1099 bool HasNUW = Mul->hasNoUnsignedWrap() && Shl->hasNoUnsignedWrap(); in foldIDivShl() 1124 ((Shl0->hasNoUnsignedWrap() && Shl1->hasNoUnsignedWrap()) || in foldIDivShl() [all …]
|
| HD | InstCombineShifts.cpp | 154 NewShift->setHasNoUnsignedWrap(Sh0->hasNoUnsignedWrap() && in reassociateShiftAmtsOfTwoSameDirectionShifts() 155 Sh1->hasNoUnsignedWrap()); in reassociateShiftAmtsOfTwoSameDirectionShifts() 448 NewShiftOp->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); in commonShiftTransforms() 473 return (I.hasNoSignedWrap() || I.hasNoUnsignedWrap()) && in commonShiftTransforms() 488 NewShiftOp->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); in commonShiftTransforms() 779 R->setHasNoUnsignedWrap(I.hasNoUnsignedWrap() && in FoldShiftByConstant() 780 BO0->hasNoUnsignedWrap()); in FoldShiftByConstant() 970 if (I.hasNoUnsignedWrap() && I.hasNoSignedWrap()) in setShiftFlags() 995 if (!I.hasNoUnsignedWrap() && MaxCnt <= KnownAmt.countMinLeadingZeros()) { in setShiftFlags() 1023 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), Q)) in visitShl() [all …]
|
| HD | InstCombineAddSub.cpp | 918 NewAdd->setHasNoUnsignedWrap(Add.hasNoUnsignedWrap()); in foldAddWithConstant() 930 if (Add.hasNoSignedWrap() || Add.hasNoUnsignedWrap()) in foldAddWithConstant() 1225 BOp->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); in canonicalizeLowbitMask() 1430 bool HasNUW = I.hasNoUnsignedWrap() && Op0->hasNoUnsignedWrap() && in factorizeMathWithShlOps() 1431 Op1->hasNoUnsignedWrap(); in factorizeMathWithShlOps() 1488 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), in visitAdd() 1532 Shl->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); in visitAdd() 1657 I.hasNoUnsignedWrap(), I.hasNoSignedWrap()); in visitAdd() 1757 if (!I.hasNoUnsignedWrap() && in visitAdd() 2114 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), in visitSub() [all …]
|
| HD | InstCombineSimplifyDemanded.cpp | 564 bool NUW = cast<OverflowingBinaryOperator>(I)->hasNoUnsignedWrap(); in SimplifyDemandedUseBits() 598 bool NUW = cast<OverflowingBinaryOperator>(I)->hasNoUnsignedWrap(); in SimplifyDemandedUseBits() 692 else if (IOp->hasNoUnsignedWrap()) in SimplifyDemandedUseBits() 700 /* NUW */ IOp->hasNoUnsignedWrap(), in SimplifyDemandedUseBits() 1235 bool NUW = cast<OverflowingBinaryOperator>(I)->hasNoUnsignedWrap(); in SimplifyMultipleUseDemandedBits() 1252 bool NUW = cast<OverflowingBinaryOperator>(I)->hasNoUnsignedWrap(); in SimplifyMultipleUseDemandedBits() 1365 New->setHasNoUnsignedWrap(Orig->hasNoUnsignedWrap()); in simplifyShrShlDemandedBits()
|
| HD | InstructionCombining.cpp | 306 static bool hasNoUnsignedWrap(BinaryOperator &I) { in hasNoUnsignedWrap() function 308 return OBO && OBO->hasNoUnsignedWrap(); in hasNoUnsignedWrap() 455 bool IsNUW = hasNoUnsignedWrap(I) && hasNoUnsignedWrap(*Op0); in SimplifyAssociativeOrCommutative() 554 bool IsNUW = hasNoUnsignedWrap(I) && in SimplifyAssociativeOrCommutative() 555 hasNoUnsignedWrap(*Op0) && in SimplifyAssociativeOrCommutative() 556 hasNoUnsignedWrap(*Op1); in SimplifyAssociativeOrCommutative() 732 HasNUW = I.hasNoUnsignedWrap(); in tryFactorization() 736 HasNUW &= LOBO->hasNoUnsignedWrap(); in tryFactorization() 741 HasNUW &= ROBO->hasNoUnsignedWrap(); in tryFactorization() 3779 if (Shl->hasNoUnsignedWrap() || Shl->hasNoSignedWrap() || in visitSwitchInst() [all …]
|
| HD | InstCombineCompares.cpp | 1252 if (BO0->hasNoUnsignedWrap() || BO0->hasNoSignedWrap()) { in foldICmpWithZero() 1424 if (!Cmp.isSigned() && Trunc->hasNoUnsignedWrap()) in foldICmpTruncConstant() 2150 (Mul->hasNoUnsignedWrap() || Mul->hasNoSignedWrap())) in foldICmpMulConstant() 2186 if ((*MulC & 1).isOne() || Mul->hasNoUnsignedWrap()) { in foldICmpMulConstant() 2214 } else if (Mul->hasNoUnsignedWrap() && ICmpInst::isUnsigned(Pred)) { in foldICmpMulConstant() 2287 if (C.sle(0) && Shl->hasNoUnsignedWrap() && Shl->hasNoSignedWrap()) in foldICmpShlConstant() 2293 (Shl->hasNoUnsignedWrap() || Shl->hasNoSignedWrap())) in foldICmpShlConstant() 2348 if (Shl->hasNoUnsignedWrap()) { in foldICmpShlConstant() 2905 bool HasNUW = Sub->hasNoUnsignedWrap(); in foldICmpSubConstant() 3066 (Add->hasNoUnsignedWrap() && in foldICmpAddConstant() [all …]
|
| /freebsd-head/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| HD | SimplifyQuery.h | 36 template <class InstT> bool hasNoUnsignedWrap(const InstT *Op) const { in hasNoUnsignedWrap() function 38 return Op->hasNoUnsignedWrap(); in hasNoUnsignedWrap()
|
| /freebsd-head/contrib/llvm-project/llvm/lib/IR/ |
| HD | Instruction.cpp | 387 bool Instruction::hasNoUnsignedWrap() const { in hasNoUnsignedWrap() function in Instruction 389 return Inst->hasNoUnsignedWrap(); in hasNoUnsignedWrap() 391 return cast<TruncInst>(this)->hasNoUnsignedWrap(); in hasNoUnsignedWrap() 624 setHasNoUnsignedWrap(OB->hasNoUnsignedWrap()); in copyIRFlags() 631 setHasNoUnsignedWrap(TI->hasNoUnsignedWrap()); in copyIRFlags() 663 setHasNoUnsignedWrap(hasNoUnsignedWrap() && OB->hasNoUnsignedWrap()); in andIRFlags() 670 setHasNoUnsignedWrap(hasNoUnsignedWrap() && TI->hasNoUnsignedWrap()); in andIRFlags()
|
| HD | Operator.cpp | 28 return OBO->hasNoUnsignedWrap() || OBO->hasNoSignedWrap(); in hasPoisonGeneratingFlags() 32 return TI->hasNoUnsignedWrap() || TI->hasNoSignedWrap(); in hasPoisonGeneratingFlags()
|
| /freebsd-head/contrib/llvm-project/llvm/include/llvm/IR/ |
| HD | Operator.h | 104 bool hasNoUnsignedWrap() const { in hasNoUnsignedWrap() function 117 if (hasNoUnsignedWrap()) in getNoWrapKind() 417 bool hasNoUnsignedWrap() const { 418 return getNoWrapFlags().hasNoUnsignedWrap();
|
| HD | GEPNoWrapFlags.h | 65 bool hasNoUnsignedWrap() const { return Flags & NUWFlag; } in hasNoUnsignedWrap() function
|
| HD | Instruction.h | 489 bool hasNoUnsignedWrap() const LLVM_READONLY;
|
| /freebsd-head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
| HD | PoisonChecking.cpp | 115 if (I.hasNoUnsignedWrap()) { in generateCreationChecksForBinOp() 128 if (I.hasNoUnsignedWrap()) { in generateCreationChecksForBinOp() 141 if (I.hasNoUnsignedWrap()) { in generateCreationChecksForBinOp()
|
| /freebsd-head/contrib/llvm-project/llvm/lib/Analysis/ |
| HD | Local.cpp | 30 bool NUW = GEPOp->hasNoUnsignedWrap() && !NoAssumptions; in emitGEPOffset()
|
| HD | PHITransAddr.cpp | 247 bool isNUW = cast<BinaryOperator>(Inst)->hasNoUnsignedWrap(); in translateSubExpr() 417 Res->setHasNoUnsignedWrap(cast<BinaryOperator>(Inst)->hasNoUnsignedWrap()); in insertTranslatedSubExpr()
|
| HD | ValueTracking.cpp | 1262 bool NUW = Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(I)); in computeKnownBitsFromOperator() 1302 bool NUW = Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(I)); in computeKnownBitsFromOperator() 1309 bool NUW = Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(I)); in computeKnownBitsFromOperator() 2188 return (OrZero || Q.IIQ.hasNoUnsignedWrap(BO) || in isPowerOfTwoRecurrence() 2204 return OrZero || Q.IIQ.hasNoUnsignedWrap(BO) || Q.IIQ.hasNoSignedWrap(BO); in isPowerOfTwoRecurrence() 2261 if (OrZero || Q.IIQ.hasNoUnsignedWrap(I) || Q.IIQ.hasNoSignedWrap(I)) in isKnownToBeAPowerOfTwo() 2291 if (OrZero || Q.IIQ.hasNoUnsignedWrap(VOBO) || in isKnownToBeAPowerOfTwo() 2319 if (OrZero || Q.IIQ.hasNoUnsignedWrap(VOBO)) in isKnownToBeAPowerOfTwo() 2398 if (!GEP->hasNoUnsignedWrap() && in isGEPKnownNonNull() 2580 return BO->hasNoUnsignedWrap() || in isNonZeroRecurrence() [all …]
|
| HD | InstructionSimplify.cpp | 1156 (!IsSigned && Q.IIQ.hasNoUnsignedWrap(Mul)) || in simplifyDivRem() 1721 bool IsNUW = IIQ.hasNoUnsignedWrap(AddInst); in simplifyAndOfICmpsWithAdd() 1812 bool IsNUW = IIQ.hasNoUnsignedWrap(AddInst); in simplifyOrOfICmpsWithAdd() 3279 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(LBO))) || in simplifyICmpWithBinOp() 3289 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(RBO))) || in simplifyICmpWithBinOp() 3380 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(LBO)) || in simplifyICmpWithBinOp() 3407 bool NUW = Q.IIQ.hasNoUnsignedWrap(LBO) && Q.IIQ.hasNoUnsignedWrap(RBO); in simplifyICmpWithBinOp() 3479 bool NUW = Q.IIQ.hasNoUnsignedWrap(LBO) && Q.IIQ.hasNoUnsignedWrap(RBO); in simplifyICmpWithBinOp() 7084 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse); in simplifyInstructionWithOperands() 7091 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse); in simplifyInstructionWithOperands() [all …]
|
| HD | DemandedBits.cpp | 186 else if (S->hasNoUnsignedWrap()) in determineLiveOperandBits()
|
| HD | ScalarEvolution.cpp | 309 if (AR->hasNoUnsignedWrap()) in print() 354 if (NAry->hasNoUnsignedWrap()) in print() 1627 if (AR->hasNoUnsignedWrap()) { in getZeroExtendExprImpl() 1712 if (AR->hasNoUnsignedWrap()) { in getZeroExtendExprImpl() 1785 if (SA->hasNoUnsignedWrap()) { in getZeroExtendExprImpl() 1818 if (SM->hasNoUnsignedWrap()) { in getZeroExtendExprImpl() 2380 if (OBO->hasNoUnsignedWrap() && OBO->hasNoSignedWrap()) in getStrengthenedNoWrapFlagsFromBinOp() 2385 if (OBO->hasNoUnsignedWrap()) in getStrengthenedNoWrapFlagsFromBinOp() 2402 if (!OBO->hasNoUnsignedWrap() && in getStrengthenedNoWrapFlagsFromBinOp() 3601 if (!Mul || !Mul->hasNoUnsignedWrap()) in getUDivExactExpr() [all …]
|
| /freebsd-head/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| HD | SimplifyIndVar.cpp | 1417 IsNUW = OBO->hasNoUnsignedWrap(); 1454 bool IsNUW = Op->hasNoUnsignedWrap(); in matchBinaryOp() 1680 bool CanZeroExtend = ExtKind == ExtendKind::Zero && OBO->hasNoUnsignedWrap(); in widenWithVariantUse() 1941 DU.NarrowUse->hasNoUnsignedWrap() != WideInc->hasNoUnsignedWrap() || in widenIVUse() 2119 WideInc->setHasNoUnsignedWrap(WideInc->hasNoUnsignedWrap() || in createWideIV() 2120 OrigInc->hasNoUnsignedWrap()); in createWideIV()
|
| HD | ScalarEvolutionExpander.cpp | 53 NUW = OBO->hasNoUnsignedWrap(); in PoisonFlags() 63 NUW = TI->hasNoUnsignedWrap(); in PoisonFlags() 278 if (I->hasNoUnsignedWrap() != (Flags & SCEV::FlagNUW)) in InsertBinop() 1152 if (!S->hasNoUnsignedWrap()) in expandAddRecExprLiterally() 1627 OBOIncV->hasNoUnsignedWrap() && OBOIsomorphic->hasNoUnsignedWrap(); in replaceCongruentIVInc() 1644 OrigInc->setHasNoUnsignedWrap(OBOIncV->hasNoUnsignedWrap() || BothHaveNUW); in replaceCongruentIVInc()
|
| HD | LoopUnroll.cpp | 405 Inst.setHasNoUnsignedWrap(Inst.hasNoUnsignedWrap() && in simplifyLoopAfterUnroll() 406 InnerOBO->hasNoUnsignedWrap()); in simplifyLoopAfterUnroll()
|
| HD | SCCPSolver.cpp | 115 if (Inst.hasNoSignedWrap() && Inst.hasNoUnsignedWrap()) in refineInstruction() 120 if (!Inst.hasNoUnsignedWrap()) { in refineInstruction() 145 if (TI->hasNoSignedWrap() && TI->hasNoUnsignedWrap()) in refineInstruction() 150 if (!TI->hasNoUnsignedWrap()) { in refineInstruction()
|
| HD | FunctionComparator.cpp | 456 cmpNumbers(OBOL->hasNoUnsignedWrap(), OBOR->hasNoUnsignedWrap())) in cmpConstants()
|
| /freebsd-head/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
| HD | WebAssemblyISelDAGToDAG.cpp | 341 if (N.getOpcode() == ISD::ADD && !N.getNode()->getFlags().hasNoUnsignedWrap()) in SelectAddrAddOperands()
|