reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1202 if (Value *V = SimplifyAddInst(I.getOperand(0), I.getOperand(1), 1202 if (Value *V = SimplifyAddInst(I.getOperand(0), I.getOperand(1), 1203 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), 1203 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), 1204 SQ.getWithInstruction(&I))) 1205 return replaceInstUsesWith(I, V); 1207 if (SimplifyAssociativeOrCommutative(I)) 1208 return &I; 1210 if (Instruction *X = foldVectorBinop(I)) 1214 if (Value *V = SimplifyUsingDistributiveLaws(I)) 1215 return replaceInstUsesWith(I, V); 1217 if (Instruction *X = foldAddWithConstant(I)) 1220 if (Instruction *X = foldNoWrapAdd(I, Builder)) 1225 Value *LHS = I.getOperand(0), *RHS = I.getOperand(1); 1225 Value *LHS = I.getOperand(0), *RHS = I.getOperand(1); 1226 Type *Ty = I.getType(); 1244 if (!MaskedValueIsZero(XorLHS, Mask, 0, &I)) 1257 KnownBits LHSKnown = computeKnownBits(XorLHS, 0, &I); 1276 Shl->setHasNoSignedWrap(I.hasNoSignedWrap()); 1277 Shl->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); 1293 if (match(&I, m_c_Add(m_Value(A), m_OneUse(m_SExt(m_Value(B))))) && 1301 if (Value *V = checkForNegativeOperand(I, Builder)) 1302 return replaceInstUsesWith(I, V); 1308 if (match(&I, m_c_BinOp(m_Add(m_Value(A), m_One()), m_Not(m_Value(B)))) || 1309 match(&I, m_BinOp(m_c_Add(m_Not(m_Value(B)), m_Value(A)), m_One()))) 1313 if (Value *V = SimplifyAddWithRemainder(I)) return replaceInstUsesWith(I, V); 1313 if (Value *V = SimplifyAddWithRemainder(I)) return replaceInstUsesWith(I, V); 1316 if (haveNoCommonBitsSet(LHS, RHS, DL, &AC, &I, &DT)) 1372 if (Instruction *Ext = narrowMathIfNoOverflow(I)) 1377 if (match(&I, m_c_BinOp(m_Xor(m_Value(A), m_Value(B)), 1383 if (match(&I, m_c_BinOp(m_Or(m_Value(A), m_Value(B)), 1385 I.setOperand(0, A); 1386 I.setOperand(1, B); 1387 return &I; 1394 if (!I.hasNoSignedWrap() && willNotOverflowSignedAdd(LHS, RHS, I)) { 1394 if (!I.hasNoSignedWrap() && willNotOverflowSignedAdd(LHS, RHS, I)) { 1396 I.setHasNoSignedWrap(true); 1398 if (!I.hasNoUnsignedWrap() && willNotOverflowUnsignedAdd(LHS, RHS, I)) { 1398 if (!I.hasNoUnsignedWrap() && willNotOverflowUnsignedAdd(LHS, RHS, I)) { 1400 I.setHasNoUnsignedWrap(true); 1403 if (Instruction *V = canonicalizeLowbitMask(I, Builder)) 1407 canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract(I)) 1410 if (Instruction *SatAdd = foldToUnsignedSaturatedAdd(I)) 1413 return Changed ? &I : nullptr;