/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineNegator.cpp | 126 [[nodiscard]] Value *Negator::visitImpl(Value *V, bool IsNSW, unsigned Depth) { in visitImpl() argument 241 IsNSW && I->hasNoSignedWrap()); in visitImpl() 306 Value *NegOp = negate(I->getOperand(0), IsNSW, Depth + 1); in visitImpl() 317 negate(std::get<0>(I), IsNSW, Depth + 1))) // Early return. in visitImpl() 352 Value *NegOp1 = negate(I->getOperand(1), IsNSW, Depth + 1); in visitImpl() 355 Value *NegOp2 = negate(I->getOperand(2), IsNSW, Depth + 1); in visitImpl() 365 Value *NegOp0 = negate(I->getOperand(0), IsNSW, Depth + 1); in visitImpl() 368 Value *NegOp1 = negate(I->getOperand(1), IsNSW, Depth + 1); in visitImpl() 377 Value *NegVector = negate(EEI->getVectorOperand(), IsNSW, Depth + 1); in visitImpl() 387 Value *NegVector = negate(IEI->getOperand(0), IsNSW, Depth + 1); in visitImpl() [all …]
|
H A D | InstCombineInternal.h | 358 bool IsNSW = false) const { 359 return computeOverflowForUnsignedMul(LHS, RHS, &CxtI, IsNSW) == 801 [[nodiscard]] Value *visitImpl(Value *V, bool IsNSW, unsigned Depth); 803 [[nodiscard]] Value *negate(Value *V, bool IsNSW, unsigned Depth); 807 [[nodiscard]] std::optional<Result> run(Value *Root, bool IsNSW); 817 [[nodiscard]] static Value *Negate(bool LHSIsZero, bool IsNSW, Value *Root,
|
H A D | InstructionCombining.cpp | 456 bool IsNSW = maintainNoSignedWrap(I, B, C) && hasNoSignedWrap(*Op0); in SimplifyAssociativeOrCommutative() local 468 if (IsNSW) in SimplifyAssociativeOrCommutative()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | BasicAliasAnalysis.cpp | 372 bool IsNSW; member 375 const APInt &Offset, bool IsNSW) in LinearExpression() 376 : Val(Val), Scale(Scale), Offset(Offset), IsNSW(IsNSW) {} in LinearExpression() 378 LinearExpression(const CastedValue &Val) : Val(Val), IsNSW(true) { in LinearExpression() 387 bool NSW = IsNSW && (Other.isOne() || (MulIsNSW && Offset.isZero())); in mul() 440 E.IsNSW &= NSW; in GetLinearExpression() 447 E.IsNSW &= NSW; in GetLinearExpression() 468 E.IsNSW &= NSW; in GetLinearExpression() 513 bool IsNSW; member 536 << ", nsw=" << IsNSW in print() [all …]
|
H A D | InstructionSimplify.cpp | 635 static Value *simplifyAddInst(Value *Op0, Value *Op1, bool IsNSW, bool IsNUW, in simplifyAddInst() argument 672 if ((IsNSW || IsNUW) && match(Op1, m_SignMask()) && in simplifyAddInst() 702 Value *llvm::simplifyAddInst(Value *Op0, Value *Op1, bool IsNSW, bool IsNUW, in simplifyAddInst() argument 704 return ::simplifyAddInst(Op0, Op1, IsNSW, IsNUW, Query, RecursionLimit); in simplifyAddInst() 787 static Value *simplifySubInst(Value *Op0, Value *Op1, bool IsNSW, bool IsNUW, in simplifySubInst() argument 820 if (IsNSW) in simplifySubInst() 923 Value *llvm::simplifySubInst(Value *Op0, Value *Op1, bool IsNSW, bool IsNUW, in simplifySubInst() argument 925 return ::simplifySubInst(Op0, Op1, IsNSW, IsNUW, Q, RecursionLimit); in simplifySubInst() 930 static Value *simplifyMulInst(Value *Op0, Value *Op1, bool IsNSW, bool IsNUW, in simplifyMulInst() argument 959 if (IsNSW) in simplifyMulInst() [all …]
|
H A D | ScalarEvolution.cpp | 3830 const SCEV *ScalarEvolution::getAbsExpr(const SCEV *Op, bool IsNSW) { in getAbsExpr() argument 3831 SCEV::NoWrapFlags Flags = IsNSW ? SCEV::FlagNSW : SCEV::FlagAnyWrap; in getAbsExpr() 5245 bool IsNSW = false; member 5256 IsNSW = OBO->hasNoSignedWrap(); in BinaryOp() 5261 explicit BinaryOp(unsigned Opcode, Value *LHS, Value *RHS, bool IsNSW = false, in BinaryOp() 5263 : Opcode(Opcode), LHS(LHS), RHS(RHS), IsNSW(IsNSW), IsNUW(IsNUW) {} in BinaryOp() 5775 if (BO->IsNSW) in createSimpleAffineAddRec() 5881 if (BO->IsNSW) in createAddRecFromPHI() 7526 if (BO->Op && (BO->IsNSW || BO->IsNUW)) { in getOperandsToCreate() 8028 if (BO->Opcode == Instruction::Sub && BO->IsNSW) { in createSCEV()
|
H A D | ValueTracking.cpp | 6972 bool IsNSW) { in computeOverflowForUnsignedMul() argument 6977 if (IsNSW && LHSKnown.isNonNegative() && RHSKnown.isNonNegative()) in computeOverflowForUnsignedMul()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | InstructionSimplify.h | 61 Value *simplifyAddInst(Value *LHS, Value *RHS, bool IsNSW, bool IsNUW, 65 Value *simplifySubInst(Value *LHS, Value *RHS, bool IsNSW, bool IsNUW, 69 Value *simplifyMulInst(Value *LHS, Value *RHS, bool IsNSW, bool IsNUW, 135 Value *simplifyShlInst(Value *Op0, Value *Op1, bool IsNSW, bool IsNUW,
|
H A D | ValueTracking.h | 910 bool IsNSW = false);
|
H A D | ScalarEvolution.h | 639 const SCEV *getAbsExpr(const SCEV *Op, bool IsNSW);
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | SimplifyIndVar.cpp | 1409 bool IsNSW = false; member 1416 IsNSW = OBO->hasNoSignedWrap(); 1422 bool IsNSW = false, bool IsNUW = false) in BinaryOp() 1423 : Opcode(Opcode), Operands({LHS, RHS}), IsNSW(IsNSW), IsNUW(IsNUW) {} in BinaryOp() 1455 bool IsNSW = Op->hasNoSignedWrap() && in matchBinaryOp() local 1461 return BinaryOp(Instruction::Mul, Op->getOperand(0), X, IsNSW, IsNUW); in matchBinaryOp() 1493 if (!(ExtKind == ExtendKind::Sign && Op->IsNSW) && in getExtendedOperandRecurrence() 1502 if (Op->IsNSW) { in getExtendedOperandRecurrence()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/InstCombine/ |
H A D | InstCombiner.h | 465 bool IsNSW = false) const { 467 LHS, RHS, SQ.getWithInstruction(CxtI), IsNSW);
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | IRBuilder.h | 2013 bool IsNUW = false, bool IsNSW = false) { 2021 if (IsNSW)
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
H A D | TargetLowering.cpp | 1878 bool IsNSW = Known.countMinSignBits() > HalfWidth; in SimplifyDemandedBits() local 1880 Flags.setNoSignedWrap(IsNSW); in SimplifyDemandedBits()
|