reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1673 if (Value *V = SimplifySubInst(I.getOperand(0), I.getOperand(1), 1673 if (Value *V = SimplifySubInst(I.getOperand(0), I.getOperand(1), 1674 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), 1674 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), 1675 SQ.getWithInstruction(&I))) 1676 return replaceInstUsesWith(I, V); 1678 if (Instruction *X = foldVectorBinop(I)) 1682 if (Value *V = SimplifyUsingDistributiveLaws(I)) 1683 return replaceInstUsesWith(I, V); 1686 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 1686 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 1693 if (BO->hasNoSignedWrap() && I.hasNoSignedWrap()) 1696 if (cast<Constant>(Op1)->isNotMinSignedValue() && I.hasNoSignedWrap()) 1703 if (I.getType()->isIntOrIntVectorTy(1)) 1726 Builder.CreateAdd(Op0, ConstantInt::get(I.getType(), 1)), X); 1736 return CastInst::CreateSExtOrBitCast(X, I.getType()); 1743 return CastInst::CreateZExtOrBitCast(X, I.getType()); 1753 if (Instruction *R = FoldOpIntoSelect(I, SI)) 1758 if (Instruction *R = foldOpIntoPhi(I, PN)) 1817 return replaceInstUsesWith(I, Op1); 1825 KnownBits RHSKnown = computeKnownBits(Op1, 0, &I); 1903 Constant *NegDivC = ConstantInt::get(I.getType(), -(*DivC)); 1919 Value *Zext = Builder.CreateZExt(Y, I.getType()); 1921 Add->setHasNoSignedWrap(I.hasNoSignedWrap()); 1978 if (Value *Res = OptimizePointerDifference(LHSOp, RHSOp, I.getType())) 1979 return replaceInstUsesWith(I, Res); 1984 if (Value *Res = OptimizePointerDifference(LHSOp, RHSOp, I.getType())) 1985 return replaceInstUsesWith(I, Res); 1994 Type *Ty = I.getType(); 2003 Value *Neg = Builder.CreateNeg(A, "", I.hasNoUnsignedWrap(), 2004 I.hasNoSignedWrap()); 2009 canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract(I)) 2012 if (Instruction *Ext = narrowMathIfNoOverflow(I)) 2016 if (!I.hasNoSignedWrap() && willNotOverflowSignedSub(Op0, Op1, I)) { 2016 if (!I.hasNoSignedWrap() && willNotOverflowSignedSub(Op0, Op1, I)) { 2018 I.setHasNoSignedWrap(true); 2020 if (!I.hasNoUnsignedWrap() && willNotOverflowUnsignedSub(Op0, Op1, I)) { 2020 if (!I.hasNoUnsignedWrap() && willNotOverflowUnsignedSub(Op0, Op1, I)) { 2022 I.setHasNoUnsignedWrap(true); 2025 return Changed ? &I : nullptr;