| /openbsd/src/gnu/llvm/llvm/lib/Transforms/InstCombine/ |
| D | 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() 191 simplifyMulInst(Op0, Op1, I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), in visitMul() 210 const bool HasNUW = I.hasNoUnsignedWrap(); in visitMul() 230 if (HasNUW && Mul->hasNoUnsignedWrap()) in visitMul() 302 (BOp0->getOpcode() == Instruction::Or || BOp0->hasNoUnsignedWrap()); in visitMul() 890 bool HasNUW = Mul->hasNoUnsignedWrap() && Shl->hasNoUnsignedWrap(); in foldIDivShl() 915 ((Shl0->hasNoUnsignedWrap() && Shl1->hasNoUnsignedWrap()) || in foldIDivShl() [all …]
|
| D | InstCombineShifts.cpp | 149 NewShift->setHasNoUnsignedWrap(Sh0->hasNoUnsignedWrap() && in reassociateShiftAmtsOfTwoSameDirectionShifts() 150 Sh1->hasNoUnsignedWrap()); in reassociateShiftAmtsOfTwoSameDirectionShifts() 431 return (I.hasNoSignedWrap() || I.hasNoUnsignedWrap()) && in commonShiftTransforms() 446 NewShiftOp->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); in commonShiftTransforms() 914 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), Q)) in visitShl() 958 NewShl->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); in visitShl() 979 NewShl->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); in visitShl() 1092 if (!I.hasNoUnsignedWrap() && in visitShl() 1140 if (!I.hasNoUnsignedWrap() && !ConstantOne->containsUndefElement()) { in visitShl() 1193 if (cast<BinaryOperator>(Op0)->hasNoUnsignedWrap()) { in visitLShr() [all …]
|
| D | InstCombineAddSub.cpp | 911 if (Add.hasNoSignedWrap() || Add.hasNoUnsignedWrap()) in foldAddWithConstant() 1104 BOp->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); in canonicalizeLowbitMask() 1284 bool HasNUW = I.hasNoUnsignedWrap() && Op0->hasNoUnsignedWrap() && in factorizeMathWithShlOps() 1285 Op1->hasNoUnsignedWrap(); in factorizeMathWithShlOps() 1340 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), in visitAdd() 1378 Shl->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); in visitAdd() 1485 I.hasNoUnsignedWrap(), I.hasNoSignedWrap()); in visitAdd() 1547 if (!I.hasNoUnsignedWrap() && willNotOverflowUnsignedAdd(LHS, RHS, I)) { in visitAdd() 1919 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), in visitSub() 1972 if (!I.hasNoUnsignedWrap() && willNotOverflowUnsignedSub(Op0, Op1, I)) { in visitSub() [all …]
|
| D | InstructionCombining.cpp | 301 static bool hasNoUnsignedWrap(BinaryOperator &I) { in hasNoUnsignedWrap() function 303 return OBO && OBO->hasNoUnsignedWrap(); in hasNoUnsignedWrap() 436 bool IsNUW = hasNoUnsignedWrap(I) && hasNoUnsignedWrap(*Op0); in SimplifyAssociativeOrCommutative() 535 bool IsNUW = hasNoUnsignedWrap(I) && in SimplifyAssociativeOrCommutative() 536 hasNoUnsignedWrap(*Op0) && in SimplifyAssociativeOrCommutative() 537 hasNoUnsignedWrap(*Op1); in SimplifyAssociativeOrCommutative() 704 HasNUW = I.hasNoUnsignedWrap(); in tryFactorization() 708 HasNUW &= LOBO->hasNoUnsignedWrap(); in tryFactorization() 713 HasNUW &= ROBO->hasNoUnsignedWrap(); in tryFactorization()
|
| D | InstCombineCompares.cpp | 1955 (Mul->hasNoUnsignedWrap() || Mul->hasNoSignedWrap())) in foldICmpMulConstant() 1972 if (MulC->isZero() || (!Mul->hasNoSignedWrap() && !Mul->hasNoUnsignedWrap())) in foldICmpMulConstant() 1984 if (Mul->hasNoUnsignedWrap() && C.urem(*MulC).isZero()) { in foldICmpMulConstant() 2009 assert(Mul->hasNoUnsignedWrap() && "Expected mul nuw"); in foldICmpMulConstant() 2120 if (Shl->hasNoUnsignedWrap()) { in foldICmpShlConstant() 2647 bool HasNUW = Sub->hasNoUnsignedWrap(); in foldICmpSubConstant() 2730 (Add->hasNoUnsignedWrap() && in foldICmpAddConstant() 4103 (CmpInst::isUnsigned(Pred) && BO0->hasNoUnsignedWrap()) || in foldICmpBinOp() 4108 (CmpInst::isUnsigned(Pred) && BO1->hasNoUnsignedWrap()) || in foldICmpBinOp() 4240 bool HasNUW = BO0->hasNoUnsignedWrap() && Diff.ule(*AP1); in foldICmpBinOp() [all …]
|
| D | InstCombineSimplifyDemanded.cpp | 638 else if (IOp->hasNoUnsignedWrap()) in SimplifyDemandedUseBits() 1207 New->setHasNoUnsignedWrap(Orig->hasNoUnsignedWrap()); in simplifyShrShlDemandedBits()
|
| /openbsd/src/gnu/llvm/llvm/lib/Transforms/Instrumentation/ |
| D | PoisonChecking.cpp | 114 if (I.hasNoUnsignedWrap()) { in generateCreationChecksForBinOp() 127 if (I.hasNoUnsignedWrap()) { in generateCreationChecksForBinOp() 140 if (I.hasNoUnsignedWrap()) { in generateCreationChecksForBinOp()
|
| /openbsd/src/gnu/llvm/llvm/tools/llvm-reduce/deltas/ |
| D | ReduceInstructionFlags.cpp | 28 if (OBO->hasNoUnsignedWrap() && !O.shouldKeep()) in reduceFlagsInModule()
|
| /openbsd/src/gnu/llvm/llvm/lib/IR/ |
| D | Instruction.cpp | 173 bool Instruction::hasNoUnsignedWrap() const { in hasNoUnsignedWrap() function in Instruction 174 return cast<OverflowingBinaryOperator>(this)->hasNoUnsignedWrap(); in hasNoUnsignedWrap() 353 setHasNoUnsignedWrap(OB->hasNoUnsignedWrap()); in copyIRFlags() 376 setHasNoUnsignedWrap(hasNoUnsignedWrap() && OB->hasNoUnsignedWrap()); in andIRFlags()
|
| D | Operator.cpp | 28 return OBO->hasNoUnsignedWrap() || OBO->hasNoSignedWrap(); in hasPoisonGeneratingFlags()
|
| /openbsd/src/gnu/llvm/llvm/include/llvm/Analysis/ |
| D | InstructionSimplify.h | 74 template <class InstT> bool hasNoUnsignedWrap(const InstT *Op) const { in hasNoUnsignedWrap() function 76 return Op->hasNoUnsignedWrap(); in hasNoUnsignedWrap()
|
| D | ScalarEvolutionExpressions.h | 209 bool hasNoUnsignedWrap() const { in hasNoUnsignedWrap() function
|
| /openbsd/src/gnu/llvm/llvm/lib/Analysis/ |
| D | PHITransAddr.cpp | 260 bool isNUW = cast<BinaryOperator>(Inst)->hasNoUnsignedWrap(); in PHITranslateSubExpr() 434 Res->setHasNoUnsignedWrap(cast<BinaryOperator>(Inst)->hasNoUnsignedWrap()); in InsertPHITranslatedSubExpr()
|
| D | ValueTracking.cpp | 2080 return (OrZero || Q.IIQ.hasNoUnsignedWrap(BO) || in isPowerOfTwoRecurrence() 2096 return OrZero || Q.IIQ.hasNoUnsignedWrap(BO) || Q.IIQ.hasNoSignedWrap(BO); in isPowerOfTwoRecurrence() 2171 if (OrZero || Q.IIQ.hasNoUnsignedWrap(VOBO) || in isKnownToBeAPowerOfTwo() 2424 return BO->hasNoUnsignedWrap() || in isNonZeroRecurrence() 2428 return (BO->hasNoUnsignedWrap() || BO->hasNoSignedWrap()) && in isNonZeroRecurrence() 2431 return BO->hasNoUnsignedWrap() || BO->hasNoSignedWrap(); in isNonZeroRecurrence() 2594 if (Q.IIQ.hasNoUnsignedWrap(BO)) in isKnownNonZero() 2680 if ((Q.IIQ.hasNoSignedWrap(BO) || Q.IIQ.hasNoUnsignedWrap(BO)) && in isKnownNonZero() 2775 if ((!OBO1->hasNoUnsignedWrap() || !OBO2->hasNoUnsignedWrap()) && in getInvertibleOperands() 2791 if ((!OBO1->hasNoUnsignedWrap() || !OBO2->hasNoUnsignedWrap()) && in getInvertibleOperands() [all …]
|
| D | InstructionSimplify.cpp | 1067 (!IsSigned && Q.IIQ.hasNoUnsignedWrap(Mul)) || in simplifyDivRem() 1748 bool IsNUW = IIQ.hasNoUnsignedWrap(AddInst); in simplifyAndOfICmpsWithAdd() 1905 bool IsNUW = IIQ.hasNoUnsignedWrap(AddInst); in simplifyOrOfICmpsWithAdd() 3277 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(LBO))) || in simplifyICmpWithBinOp() 3287 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(RBO))) || in simplifyICmpWithBinOp() 3378 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(LBO)) || in simplifyICmpWithBinOp() 3427 bool NUW = Q.IIQ.hasNoUnsignedWrap(LBO) && Q.IIQ.hasNoUnsignedWrap(RBO); in simplifyICmpWithBinOp() 6606 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q); in simplifyInstructionWithOperands() 6612 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q); in simplifyInstructionWithOperands() 6618 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q); in simplifyInstructionWithOperands() [all …]
|
| D | DemandedBits.cpp | 212 else if (S->hasNoUnsignedWrap()) in determineLiveOperandBits()
|
| D | ScalarEvolution.cpp | 308 if (AR->hasNoUnsignedWrap()) in print() 353 if (NAry->hasNoUnsignedWrap()) in print() 1687 if (!AR->hasNoUnsignedWrap()) { in getZeroExtendExprImpl() 1694 if (AR->hasNoUnsignedWrap()) { in getZeroExtendExprImpl() 1778 if (AR->hasNoUnsignedWrap()) { in getZeroExtendExprImpl() 1851 if (SA->hasNoUnsignedWrap()) { in getZeroExtendExprImpl() 1884 if (SM->hasNoUnsignedWrap()) { in getZeroExtendExprImpl() 2405 if (OBO->hasNoUnsignedWrap() && OBO->hasNoSignedWrap()) in getStrengthenedNoWrapFlagsFromBinOp() 2410 if (OBO->hasNoUnsignedWrap()) in getStrengthenedNoWrapFlagsFromBinOp() 2427 if (!OBO->hasNoUnsignedWrap() && in getStrengthenedNoWrapFlagsFromBinOp() [all …]
|
| /openbsd/src/gnu/llvm/llvm/lib/Target/WebAssembly/ |
| D | WebAssemblyISelDAGToDAG.cpp | 304 if (N.getOpcode() == ISD::ADD && !N.getNode()->getFlags().hasNoUnsignedWrap()) in SelectAddrAddOperands()
|
| /openbsd/src/gnu/llvm/llvm/include/llvm/IR/ |
| D | Operator.h | 99 bool hasNoUnsignedWrap() const { in hasNoUnsignedWrap() function
|
| D | Instruction.h | 373 bool hasNoUnsignedWrap() const LLVM_READONLY;
|
| /openbsd/src/gnu/llvm/llvm/lib/Target/AMDGPU/ |
| D | AMDGPUCodeGenPrepare.cpp | 290 return I.hasNoUnsignedWrap(); in promotedOpIsNSW() 304 return I.hasNoUnsignedWrap(); in promotedOpIsNUW()
|
| /openbsd/src/gnu/llvm/llvm/lib/FuzzMutate/ |
| D | IRMutator.cpp | 230 [&Inst]() { Inst.setHasNoUnsignedWrap(!Inst.hasNoUnsignedWrap()); }); in mutate()
|
| /openbsd/src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| D | IndVarSimplify.cpp | 1106 if (BO->hasNoUnsignedWrap()) in linearFunctionTestReplace() 1107 BO->setHasNoUnsignedWrap(AR->hasNoUnsignedWrap()); in linearFunctionTestReplace()
|
| /openbsd/src/gnu/llvm/llvm/lib/CodeGen/ |
| D | TypePromotion.cpp | 408 return I->hasNoUnsignedWrap(); in isPromotedResultSafe()
|
| /openbsd/src/gnu/llvm/llvm/tools/llvm-reduce/ |
| D | ReducerWorkItem.cpp | 612 if (OverflowOp->hasNoUnsignedWrap()) in computeIRComplexityScoreImpl()
|