reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGExprComplex.cpp
  579   if (Op.LHS.first->getType()->isFloatingPointTy()) {
  580     ResR = Builder.CreateFAdd(Op.LHS.first,  Op.RHS.first,  "add.r");
  581     if (Op.LHS.second && Op.RHS.second)
  582       ResI = Builder.CreateFAdd(Op.LHS.second, Op.RHS.second, "add.i");
  584       ResI = Op.LHS.second ? Op.LHS.second : Op.RHS.second;
  584       ResI = Op.LHS.second ? Op.LHS.second : Op.RHS.second;
  587     ResR = Builder.CreateAdd(Op.LHS.first,  Op.RHS.first,  "add.r");
  588     assert(Op.LHS.second && Op.RHS.second &&
  590     ResI = Builder.CreateAdd(Op.LHS.second, Op.RHS.second, "add.i");
  597   if (Op.LHS.first->getType()->isFloatingPointTy()) {
  598     ResR = Builder.CreateFSub(Op.LHS.first, Op.RHS.first, "sub.r");
  599     if (Op.LHS.second && Op.RHS.second)
  600       ResI = Builder.CreateFSub(Op.LHS.second, Op.RHS.second, "sub.i");
  602       ResI = Op.LHS.second ? Op.LHS.second
  602       ResI = Op.LHS.second ? Op.LHS.second
  606     ResR = Builder.CreateSub(Op.LHS.first, Op.RHS.first, "sub.r");
  607     assert(Op.LHS.second && Op.RHS.second &&
  609     ResI = Builder.CreateSub(Op.LHS.second, Op.RHS.second, "sub.i");
  618   Args.add(RValue::get(Op.LHS.first),
  620   Args.add(RValue::get(Op.LHS.second),
  681   if (Op.LHS.first->getType()->isFloatingPointTy()) {
  690     if (Op.LHS.second && Op.RHS.second) {
  701       Value *AC = Builder.CreateFMul(Op.LHS.first, Op.RHS.first, "mul_ac");
  702       Value *BD = Builder.CreateFMul(Op.LHS.second, Op.RHS.second, "mul_bd");
  703       Value *AD = Builder.CreateFMul(Op.LHS.first, Op.RHS.second, "mul_ad");
  704       Value *BC = Builder.CreateFMul(Op.LHS.second, Op.RHS.first, "mul_bc");
  735           getComplexMultiplyLibCallName(Op.LHS.first->getType()), Op);
  751     assert((Op.LHS.second || Op.RHS.second) &&
  757     ResR = Builder.CreateFMul(Op.LHS.first, Op.RHS.first, "mul.rl");
  759     ResI = Op.LHS.second
  760                ? Builder.CreateFMul(Op.LHS.second, Op.RHS.first, "mul.il")
  761                : Builder.CreateFMul(Op.LHS.first, Op.RHS.second, "mul.ir");
  763     assert(Op.LHS.second && Op.RHS.second &&
  765     Value *ResRl = Builder.CreateMul(Op.LHS.first, Op.RHS.first, "mul.rl");
  766     Value *ResRr = Builder.CreateMul(Op.LHS.second, Op.RHS.second, "mul.rr");
  769     Value *ResIl = Builder.CreateMul(Op.LHS.second, Op.RHS.first, "mul.il");
  770     Value *ResIr = Builder.CreateMul(Op.LHS.first, Op.RHS.second, "mul.ir");
  779   llvm::Value *LHSr = Op.LHS.first, *LHSi = Op.LHS.second;
  779   llvm::Value *LHSr = Op.LHS.first, *LHSi = Op.LHS.second;
  795         LibCallOp.LHS.second = llvm::Constant::getNullValue(LHSr->getType());
  839     assert(Op.LHS.second && Op.RHS.second &&
  872     Ops.LHS = ComplexPairTy(CGF.EmitScalarExpr(E->getLHS()), nullptr);
  874     Ops.LHS = Visit(E->getLHS());
  921     OpInfo.LHS = EmitComplexToComplexCast(LHSVal, LHSTy, OpInfo.Ty, Loc);
  929       OpInfo.LHS = ComplexPairTy(LHSVal, nullptr);
  931       OpInfo.LHS = EmitScalarToComplexCast(LHSVal, LHSTy, OpInfo.Ty, Loc);