reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2091 if (Value *V = SimplifyFSubInst(I.getOperand(0), I.getOperand(1), 2091 if (Value *V = SimplifyFSubInst(I.getOperand(0), I.getOperand(1), 2092 I.getFastMathFlags(), 2093 SQ.getWithInstruction(&I))) 2094 return replaceInstUsesWith(I, V); 2096 if (Instruction *X = foldVectorBinop(I)) 2101 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 2101 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 2102 if (I.hasNoSignedZeros() && match(Op0, m_PosZeroFP())) 2103 return BinaryOperator::CreateFNegFMF(Op1, &I); 2105 if (Instruction *X = foldFNegIntoConstant(I)) 2108 if (Instruction *R = hoistFNegAboveFMulFDiv(I, Builder)) 2120 if (I.hasNoSignedZeros() || CannotBeNegativeZero(Op0, SQ.TLI)) { 2122 Value *NewSub = Builder.CreateFSubFMF(Y, X, &I); 2123 return BinaryOperator::CreateFAddFMF(Op0, NewSub, &I); 2129 if (Instruction *NV = FoldOpIntoSelect(I, SI)) 2136 return BinaryOperator::CreateFAddFMF(Op0, ConstantExpr::getFNeg(C), &I); 2140 return BinaryOperator::CreateFAddFMF(Op0, Y, &I); 2144 Type *Ty = I.getType(); 2146 return BinaryOperator::CreateFAddFMF(Op0, Builder.CreateFPTrunc(Y, Ty), &I); 2150 return BinaryOperator::CreateFAddFMF(Op0, Builder.CreateFPExt(Y, Ty), &I); 2156 Value *FMul = Builder.CreateFMulFMF(X, Y, &I); 2157 return BinaryOperator::CreateFAddFMF(Op0, FMul, &I); 2163 Value *FDiv = Builder.CreateFDivFMF(X, Y, &I); 2164 return BinaryOperator::CreateFAddFMF(Op0, FDiv, &I); 2168 if (Value *V = SimplifySelectsFeedingBinaryOp(I, Op0, Op1)) 2169 return replaceInstUsesWith(I, V); 2171 if (I.hasAllowReassoc() && I.hasNoSignedZeros()) { 2171 if (I.hasAllowReassoc() && I.hasNoSignedZeros()) { 2174 return BinaryOperator::CreateFNegFMF(X, &I); 2179 return BinaryOperator::CreateFNegFMF(X, &I); 2184 return BinaryOperator::CreateFMulFMF(Op1, CSubOne, &I); 2189 return BinaryOperator::CreateFMulFMF(Op0, OneSubC, &I); 2192 if (Instruction *F = factorizeFAddFSub(I, Builder)) 2199 if (Value *V = FAddCombine(Builder).simplify(&I)) 2200 return replaceInstUsesWith(I, V);