Home
last modified time | relevance | path

Searched refs:hasNoUnsignedWrap (Results 1 – 25 of 71) sorted by relevance

123

/freebsd-head/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
HDInstCombineMulDivRem.cpp81 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 …]
HDInstCombineShifts.cpp154 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 …]
HDInstCombineAddSub.cpp918 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 …]
HDInstCombineSimplifyDemanded.cpp564 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()
HDInstructionCombining.cpp306 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 …]
HDInstCombineCompares.cpp1252 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/
HDSimplifyQuery.h36 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/
HDInstruction.cpp387 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()
HDOperator.cpp28 return OBO->hasNoUnsignedWrap() || OBO->hasNoSignedWrap(); in hasPoisonGeneratingFlags()
32 return TI->hasNoUnsignedWrap() || TI->hasNoSignedWrap(); in hasPoisonGeneratingFlags()
/freebsd-head/contrib/llvm-project/llvm/include/llvm/IR/
HDOperator.h104 bool hasNoUnsignedWrap() const { in hasNoUnsignedWrap() function
117 if (hasNoUnsignedWrap()) in getNoWrapKind()
417 bool hasNoUnsignedWrap() const {
418 return getNoWrapFlags().hasNoUnsignedWrap();
HDGEPNoWrapFlags.h65 bool hasNoUnsignedWrap() const { return Flags & NUWFlag; } in hasNoUnsignedWrap() function
HDInstruction.h489 bool hasNoUnsignedWrap() const LLVM_READONLY;
/freebsd-head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
HDPoisonChecking.cpp115 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/
HDLocal.cpp30 bool NUW = GEPOp->hasNoUnsignedWrap() && !NoAssumptions; in emitGEPOffset()
HDPHITransAddr.cpp247 bool isNUW = cast<BinaryOperator>(Inst)->hasNoUnsignedWrap(); in translateSubExpr()
417 Res->setHasNoUnsignedWrap(cast<BinaryOperator>(Inst)->hasNoUnsignedWrap()); in insertTranslatedSubExpr()
HDValueTracking.cpp1262 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 …]
HDInstructionSimplify.cpp1156 (!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 …]
HDDemandedBits.cpp186 else if (S->hasNoUnsignedWrap()) in determineLiveOperandBits()
HDScalarEvolution.cpp309 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/
HDSimplifyIndVar.cpp1417 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()
HDScalarEvolutionExpander.cpp53 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()
HDLoopUnroll.cpp405 Inst.setHasNoUnsignedWrap(Inst.hasNoUnsignedWrap() && in simplifyLoopAfterUnroll()
406 InnerOBO->hasNoUnsignedWrap()); in simplifyLoopAfterUnroll()
HDSCCPSolver.cpp115 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()
HDFunctionComparator.cpp456 cmpNumbers(OBOL->hasNoUnsignedWrap(), OBOR->hasNoUnsignedWrap())) in cmpConstants()
/freebsd-head/contrib/llvm-project/llvm/lib/Target/WebAssembly/
HDWebAssemblyISelDAGToDAG.cpp341 if (N.getOpcode() == ISD::ADD && !N.getNode()->getFlags().hasNoUnsignedWrap()) in SelectAddrAddOperands()

123