/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | Reassociate.h | 68 bool HasNUW; member 76 : HasNUW(true), HasNSW(true), AllKnownNonNegative(true), in OverflowTracking()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | ConstantFolder.h | 69 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument 75 if (HasNUW) in FoldNoWrapBinOp()
|
H A D | IRBuilder.h | 1279 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 D | IRBuilderFolder.h | 43 Value *RHS, bool HasNUW,
|
H A D | NoFolder.h | 59 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument
|
H A D | Constants.h | 1118 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 D | TargetFolder.h | 80 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument 86 if (HasNUW) in FoldNoWrapBinOp()
|
H A D | InstSimplifyFolder.h | 61 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineMulDivRem.cpp | 152 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 D | InstCombineAddSub.cpp | 1430 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 D | InstructionCombining.cpp | 729 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 D | InstCombineCompares.cpp | 2905 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 D | VPlan.h | 978 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 D | LoopVectorize.cpp | 8349 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 D | VPlanRecipes.cpp | 1022 if (WrapFlags.HasNUW) in printFlags()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | Reassociate.cpp | 433 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 D | Constants.cpp | 2600 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 D | Core.cpp | 3735 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 D | Core.h | 4349 void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW);
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | ValueTracking.cpp | 9326 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()
|