Home
last modified time | relevance | path

Searched refs:IsNSW (Results 1 – 14 of 14) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineNegator.cpp126 [[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 DInstCombineInternal.h358 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 DInstructionCombining.cpp456 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 DBasicAliasAnalysis.cpp372 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 DInstructionSimplify.cpp635 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 DScalarEvolution.cpp3830 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 DValueTracking.cpp6972 bool IsNSW) { in computeOverflowForUnsignedMul() argument
6977 if (IsNSW && LHSKnown.isNonNegative() && RHSKnown.isNonNegative()) in computeOverflowForUnsignedMul()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DInstructionSimplify.h61 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 DValueTracking.h910 bool IsNSW = false);
H A DScalarEvolution.h639 const SCEV *getAbsExpr(const SCEV *Op, bool IsNSW);
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp1409 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 DInstCombiner.h465 bool IsNSW = false) const {
467 LHS, RHS, SQ.getWithInstruction(CxtI), IsNSW);
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DIRBuilder.h2013 bool IsNUW = false, bool IsNSW = false) {
2021 if (IsNSW)
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DTargetLowering.cpp1878 bool IsNSW = Known.countMinSignBits() > HalfWidth; in SimplifyDemandedBits() local
1880 Flags.setNoSignedWrap(IsNSW); in SimplifyDemandedBits()