reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1203 if (Value *V = SimplifyFDivInst(I.getOperand(0), I.getOperand(1), 1203 if (Value *V = SimplifyFDivInst(I.getOperand(0), I.getOperand(1), 1204 I.getFastMathFlags(), 1205 SQ.getWithInstruction(&I))) 1206 return replaceInstUsesWith(I, V); 1208 if (Instruction *X = foldVectorBinop(I)) 1211 if (Instruction *R = foldFDivConstantDivisor(I)) 1214 if (Instruction *R = foldFDivConstantDividend(I)) 1217 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 1217 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 1220 if (Instruction *R = FoldOpIntoSelect(I, SI)) 1225 if (Instruction *R = FoldOpIntoSelect(I, SI)) 1228 if (I.hasAllowReassoc() && I.hasAllowReciprocal()) { 1228 if (I.hasAllowReassoc() && I.hasAllowReciprocal()) { 1233 Value *YZ = Builder.CreateFMulFMF(Y, Op1, &I); 1234 return BinaryOperator::CreateFDivFMF(X, YZ, &I); 1239 Value *YZ = Builder.CreateFMulFMF(Y, Op0, &I); 1240 return BinaryOperator::CreateFDivFMF(YZ, X, &I); 1244 if (I.hasAllowReassoc() && Op0->hasOneUse() && Op1->hasOneUse()) { 1255 hasFloatFn(&TLI, I.getType(), LibFunc_tan, LibFunc_tanf, LibFunc_tanl)) { 1256 IRBuilder<> B(&I); 1258 B.setFastMathFlags(I.getFastMathFlags()); 1264 Res = B.CreateFDiv(ConstantFP::get(I.getType(), 1.0), Res); 1265 return replaceInstUsesWith(I, Res); 1272 I.setOperand(0, X); 1273 I.setOperand(1, Y); 1274 return &I; 1280 if (I.hasNoNaNs() && I.hasAllowReassoc() && 1280 if (I.hasNoNaNs() && I.hasAllowReassoc() && 1282 I.setOperand(0, ConstantFP::get(I.getType(), 1.0)); 1282 I.setOperand(0, ConstantFP::get(I.getType(), 1.0)); 1283 I.setOperand(1, Y); 1284 return &I; 1289 if (I.hasNoNaNs() && I.hasNoInfs() && 1289 if (I.hasNoNaNs() && I.hasNoInfs() && 1290 (match(&I, 1292 match(&I, m_FDiv(m_Intrinsic<Intrinsic::fabs>(m_Value(X)), 1295 Intrinsic::copysign, ConstantFP::get(I.getType(), 1.0), X, &I); 1295 Intrinsic::copysign, ConstantFP::get(I.getType(), 1.0), X, &I); 1296 return replaceInstUsesWith(I, V);