Home
last modified time | relevance | path

Searched refs:HasNUW (Results 1 – 20 of 20) sorted by relevance

/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DReassociate.h68 bool HasNUW; member
76 : HasNUW(true), HasNSW(true), AllKnownNonNegative(true), in OverflowTracking()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DConstantFolder.h69 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument
75 if (HasNUW) in FoldNoWrapBinOp()
H A DIRBuilder.h1279 bool HasNUW, bool HasNSW) { in CreateInsertNUWNSWBinOp() argument
1281 if (HasNUW) BO->setHasNoUnsignedWrap(); in CreateInsertNUWNSWBinOp()
1333 bool HasNUW = false, bool HasNSW = false) {
1335 Folder.FoldNoWrapBinOp(Instruction::Add, LHS, RHS, HasNUW, HasNSW))
1337 return CreateInsertNUWNSWBinOp(Instruction::Add, LHS, RHS, Name, HasNUW,
1350 bool HasNUW = false, bool HasNSW = false) {
1352 Folder.FoldNoWrapBinOp(Instruction::Sub, LHS, RHS, HasNUW, HasNSW))
1354 return CreateInsertNUWNSWBinOp(Instruction::Sub, LHS, RHS, Name, HasNUW,
1367 bool HasNUW = false, bool HasNSW = false) {
1369 Folder.FoldNoWrapBinOp(Instruction::Mul, LHS, RHS, HasNUW, HasNSW))
[all …]
H A DIRBuilderFolder.h43 Value *RHS, bool HasNUW,
H A DNoFolder.h59 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument
H A DConstants.h1118 static Constant *getAdd(Constant *C1, Constant *C2, bool HasNUW = false,
1120 static Constant *getSub(Constant *C1, Constant *C2, bool HasNUW = false,
1122 static Constant *getMul(Constant *C1, Constant *C2, bool HasNUW = false,
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTargetFolder.h80 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument
86 if (HasNUW) in FoldNoWrapBinOp()
H A DInstSimplifyFolder.h61 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineMulDivRem.cpp152 const bool HasNUW = Mul.hasNoUnsignedWrap(); in foldMulShl1() local
158 return Builder.CreateShl(X, Z, Mul.getName(), HasNUW, PropagateNSW); in foldMulShl1()
172 Value *Shl = Builder.CreateShl(FrX, Z, "mulshl", HasNUW, PropagateNSW); in foldMulShl1()
173 return Builder.CreateAdd(Shl, FrX, Mul.getName(), HasNUW, PropagateNSW); in foldMulShl1()
217 const bool HasNUW = I.hasNoUnsignedWrap(); in visitMul() local
239 if (HasNUW && Mul->hasNoUnsignedWrap()) in visitMul()
251 if (HasNUW) in visitMul()
317 if (HasNUW && Op0NUW) { in visitMul()
544 Shl->setHasNoUnsignedWrap(HasNUW); in visitMul()
553 Shl->setHasNoUnsignedWrap(HasNUW); in visitMul()
[all …]
H A DInstCombineAddSub.cpp1430 bool HasNUW = I.hasNoUnsignedWrap() && Op0->hasNoUnsignedWrap() && in factorizeMathWithShlOps() local
1437 NewI->setHasNoUnsignedWrap(HasNUW); in factorizeMathWithShlOps()
1441 NewShl->setHasNoUnsignedWrap(HasNUW); in factorizeMathWithShlOps()
2236 bool HasNUW = I.hasNoUnsignedWrap() && LHSSub->hasNoUnsignedWrap(); in visitSub() local
2237 bool HasNSW = HasNUW && I.hasNoSignedWrap() && LHSSub->hasNoSignedWrap(); in visitSub()
2238 Value *Add = Builder.CreateAdd(Y, Op1, "", /* HasNUW */ HasNUW, in visitSub()
2241 Sub->setHasNoUnsignedWrap(HasNUW); in visitSub()
H A DInstructionCombining.cpp729 bool HasNUW = false; in tryFactorization() local
732 HasNUW = I.hasNoUnsignedWrap(); in tryFactorization()
736 HasNUW &= LOBO->hasNoUnsignedWrap(); in tryFactorization()
741 HasNUW &= ROBO->hasNoUnsignedWrap(); in tryFactorization()
757 cast<Instruction>(RetVal)->setHasNoUnsignedWrap(HasNUW); in tryFactorization()
H A DInstCombineCompares.cpp2905 bool HasNUW = Sub->hasNoUnsignedWrap(); in foldICmpSubConstant() local
2907 ((Cmp.isUnsigned() && HasNUW) || (Cmp.isSigned() && HasNSW)) && in foldICmpSubConstant()
2965 HasNUW, HasNSW); in foldICmpSubConstant()
4971 bool &HasNSW, bool &HasNUW) -> bool { in foldICmpBinOp() argument
4973 HasNUW = BO.hasNoUnsignedWrap(); in foldICmpBinOp()
4976 (CmpInst::isUnsigned(Pred) && HasNUW) || in foldICmpBinOp()
4979 HasNUW = true; in foldICmpBinOp()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlan.h978 char HasNUW : 1; member
981 WrapFlagsTy(bool HasNUW, bool HasNSW) : HasNUW(HasNUW), HasNSW(HasNSW) {} in WrapFlagsTy()
1123 WrapFlags.HasNUW = false; in dropPoisonGeneratingFlags()
1152 I->setHasNoUnsignedWrap(WrapFlags.HasNUW); in setFlags()
1205 return WrapFlags.HasNUW; in hasNoUnsignedWrap()
H A DLoopVectorize.cpp8349 static void addCanonicalIVRecipes(VPlan &Plan, Type *IdxTy, bool HasNUW, in addCanonicalIVRecipes() argument
8363 Instruction::Add, {CanonicalIVPHI, &Plan.getVFxUF()}, {HasNUW, false}, DL, in addCanonicalIVRecipes()
8491 bool HasNUW = Style == TailFoldingStyle::None; in tryToBuildVPlanWithVPRecipes() local
8492 addCanonicalIVRecipes(*Plan, Legal->getWidestInductionType(), HasNUW, DL); in tryToBuildVPlanWithVPRecipes()
8747 bool HasNUW = true; in buildVPlan() local
8748 addCanonicalIVRecipes(*Plan, Legal->getWidestInductionType(), HasNUW, in buildVPlan()
H A DVPlanRecipes.cpp1022 if (WrapFlags.HasNUW) in printFlags()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DReassociate.cpp433 Flags.HasNUW &= I->hasNoUnsignedWrap(); in LinearizeExprTree()
546 (Flags.HasNUW || (Flags.HasNSW && Flags.AllKnownNonNegative))) { in LinearizeExprTree()
738 if (Flags.HasNUW) in RewriteExprTree()
740 if (Flags.HasNSW && (Flags.AllKnownNonNegative || Flags.HasNUW)) in RewriteExprTree()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DConstants.cpp2600 bool HasNUW, bool HasNSW) { in getAdd() argument
2601 unsigned Flags = (HasNUW ? OverflowingBinaryOperator::NoUnsignedWrap : 0) | in getAdd()
2607 bool HasNUW, bool HasNSW) { in getSub() argument
2608 unsigned Flags = (HasNUW ? OverflowingBinaryOperator::NoUnsignedWrap : 0) | in getSub()
2614 bool HasNUW, bool HasNSW) { in getMul() argument
2615 unsigned Flags = (HasNUW ? OverflowingBinaryOperator::NoUnsignedWrap : 0) | in getMul()
H A DCore.cpp3735 void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW) { in LLVMSetNUW() argument
3737 cast<Instruction>(P)->setHasNoUnsignedWrap(HasNUW); in LLVMSetNUW()
/freebsd/contrib/llvm-project/llvm/include/llvm-c/
H A DCore.h4349 void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW);
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DValueTracking.cpp9326 bool HasNUW = IIQ.hasNoUnsignedWrap(&BO); in setLimitsForBinOp() local
9332 if (PreferSignedRange && HasNSW && HasNUW) in setLimitsForBinOp()
9333 HasNUW = false; in setLimitsForBinOp()
9335 if (HasNUW) { in setLimitsForBinOp()