Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DIRBuilder.h1268 bool HasNUW, bool HasNSW) { in CreateInsertNUWNSWBinOp() argument
1270 if (HasNUW) BO->setHasNoUnsignedWrap(); in CreateInsertNUWNSWBinOp()
1322 bool HasNUW = false, bool HasNSW = false) {
1339 bool HasNUW = false, bool HasNSW = false) {
1356 bool HasNUW = false, bool HasNSW = false) {
1411 bool HasNUW = false, bool HasNSW = false) {
1416 HasNUW, HasNSW);
1420 bool HasNUW = false, bool HasNSW = false) {
1422 HasNUW, HasNSW);
1426 bool HasNUW = false, bool HasNSW = false) {
[all …]
H A DConstantFolder.h69 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument
75 if (HasNUW) in FoldNoWrapBinOp()
H A DIRBuilderFolder.h42 Value *RHS, bool HasNUW,
H A DConstants.h1034 static Constant *getNeg(Constant *C, bool HasNUW = false,
1037 static Constant *getAdd(Constant *C1, Constant *C2, bool HasNUW = false,
1039 static Constant *getSub(Constant *C1, Constant *C2, bool HasNUW = false,
1041 static Constant *getMul(Constant *C1, Constant *C2, bool HasNUW = false,
1044 static Constant *getShl(Constant *C1, Constant *C2, bool HasNUW = false,
H A DNoFolder.h59 bool HasNUW, bool HasNSW) const override { in FoldNoWrapBinOp() argument
/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()
213 const bool HasNUW = I.hasNoUnsignedWrap(); in visitMul() local
233 if (HasNUW && Mul->hasNoUnsignedWrap()) in visitMul()
245 if (HasNUW) in visitMul()
311 if (HasNUW && Op0NUW) { in visitMul()
514 Shl->setHasNoUnsignedWrap(HasNUW); in visitMul()
523 Shl->setHasNoUnsignedWrap(HasNUW); in visitMul()
533 if (!HasNUW && willNotOverflowUnsignedMul(Op0, Op1, I)) { in visitMul()
966 if (!IsSigned && HasNUW) in foldIDivShl()
[all …]
H A DInstCombineAddSub.cpp1388 bool HasNUW = I.hasNoUnsignedWrap() && Op0->hasNoUnsignedWrap() && in factorizeMathWithShlOps() local
1395 NewI->setHasNoUnsignedWrap(HasNUW); in factorizeMathWithShlOps()
1399 NewShl->setHasNoUnsignedWrap(HasNUW); in factorizeMathWithShlOps()
2243 bool HasNUW = I.hasNoUnsignedWrap() && LHSSub->hasNoUnsignedWrap(); in visitSub() local
2244 bool HasNSW = HasNUW && I.hasNoSignedWrap() && LHSSub->hasNoSignedWrap(); in visitSub()
2245 Value *Add = Builder.CreateAdd(Y, Op1, "", /* HasNUW */ HasNUW, in visitSub()
2248 Sub->setHasNoUnsignedWrap(HasNUW); in visitSub()
H A DInstructionCombining.cpp709 bool HasNUW = false; in tryFactorization() local
712 HasNUW = I.hasNoUnsignedWrap(); in tryFactorization()
716 HasNUW &= LOBO->hasNoUnsignedWrap(); in tryFactorization()
721 HasNUW &= ROBO->hasNoUnsignedWrap(); in tryFactorization()
737 cast<Instruction>(RetVal)->setHasNoUnsignedWrap(HasNUW); in tryFactorization()
H A DInstCombineCompares.cpp2814 bool HasNUW = Sub->hasNoUnsignedWrap(); in foldICmpSubConstant() local
2816 ((Cmp.isUnsigned() && HasNUW) || (Cmp.isSigned() && HasNSW)) && in foldICmpSubConstant()
2874 HasNUW, HasNSW); in foldICmpSubConstant()
4640 bool &HasNSW, bool &HasNUW) -> bool { in foldICmpBinOp() argument
4642 HasNUW = BO.hasNoUnsignedWrap(); in foldICmpBinOp()
4645 (CmpInst::isUnsigned(Pred) && HasNUW) || in foldICmpBinOp()
4648 HasNUW = true; in foldICmpBinOp()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DReassociate.cpp470 bool &HasNUW) { in LinearizeExprTree() argument
520 HasNUW &= I->hasNoUnsignedWrap(); in LinearizeExprTree()
665 bool HasNUW) { in RewriteExprTree() argument
833 if (HasNUW && ExpressionChangedStart->getOpcode() == Instruction::Add) in RewriteExprTree()
1189 bool HasNUW = true; in RemoveFactorFromExpression() local
1190 MadeChange |= LinearizeExprTree(BO, Tree, RedoInsts, HasNUW); in RemoveFactorFromExpression()
1232 RewriteExprTree(BO, Factors, HasNUW); in RemoveFactorFromExpression()
1244 RewriteExprTree(BO, Factors, HasNUW); in RemoveFactorFromExpression()
2369 bool HasNUW = true; in ReassociateExpression() local
2370 MadeChange |= LinearizeExprTree(I, Tree, RedoInsts, HasNUW); in ReassociateExpression()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DReassociate.h106 bool HasNUW);
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DConstants.cpp2441 Constant *ConstantExpr::getNeg(Constant *C, bool HasNUW, bool HasNSW) { in getNeg() argument
2444 return getSub(ConstantInt::get(C->getType(), 0), C, HasNUW, HasNSW); in getNeg()
2454 bool HasNUW, bool HasNSW) { in getAdd() argument
2455 unsigned Flags = (HasNUW ? OverflowingBinaryOperator::NoUnsignedWrap : 0) | in getAdd()
2461 bool HasNUW, bool HasNSW) { in getSub() argument
2462 unsigned Flags = (HasNUW ? OverflowingBinaryOperator::NoUnsignedWrap : 0) | in getSub()
2468 bool HasNUW, bool HasNSW) { in getMul() argument
2469 unsigned Flags = (HasNUW ? OverflowingBinaryOperator::NoUnsignedWrap : 0) | in getMul()
2479 bool HasNUW, bool HasNSW) { in getShl() argument
2480 unsigned Flags = (HasNUW ? OverflowingBinaryOperator::NoUnsignedWrap : 0) | in getShl()
H A DCore.cpp3519 void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW) { in LLVMSetNUW() argument
3521 cast<Instruction>(P)->setHasNoUnsignedWrap(HasNUW); in LLVMSetNUW()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlan.h902 char HasNUW : 1; member
905 WrapFlagsTy(bool HasNUW, bool HasNSW) : HasNUW(HasNUW), HasNSW(HasNSW) {} in WrapFlagsTy()
1028 WrapFlags.HasNUW = false; in dropPoisonGeneratingFlags()
1057 I->setHasNoUnsignedWrap(WrapFlags.HasNUW); in setFlags()
1107 return WrapFlags.HasNUW; in hasNoUnsignedWrap()
H A DLoopVectorize.cpp8615 static void addCanonicalIVRecipes(VPlan &Plan, Type *IdxTy, bool HasNUW, in addCanonicalIVRecipes() argument
8630 {HasNUW, false}, DL, "index.next"); in addCanonicalIVRecipes()
8729 bool HasNUW = Style == TailFoldingStyle::None; in tryToBuildVPlanWithVPRecipes() local
8730 addCanonicalIVRecipes(*Plan, Legal->getWidestInductionType(), HasNUW, DL); in tryToBuildVPlanWithVPRecipes()
8948 bool HasNUW = true; in buildVPlan() local
8949 addCanonicalIVRecipes(*Plan, Legal->getWidestInductionType(), HasNUW, in buildVPlan()
H A DVPlanRecipes.cpp729 if (WrapFlags.HasNUW) in printFlags()
/freebsd/contrib/llvm-project/llvm/include/llvm-c/
H A DCore.h4084 void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW);
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DValueTracking.cpp8531 bool HasNUW = IIQ.hasNoUnsignedWrap(&BO); in setLimitsForBinOp() local
8537 if (PreferSignedRange && HasNSW && HasNUW) in setLimitsForBinOp()
8538 HasNUW = false; in setLimitsForBinOp()
8540 if (HasNUW) { in setLimitsForBinOp()