From: Chris Lattner Date: Sun, 26 Aug 2007 07:08:39 +0000 (+0000) Subject: remove uses of EmitConversion X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e937712379001def05bed3e21b4ade2be2fc210e;p=clang remove uses of EmitConversion git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41435 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/CodeGen/CGExprScalar.cpp b/CodeGen/CGExprScalar.cpp index f1989893e7..b1f26d61be 100644 --- a/CodeGen/CGExprScalar.cpp +++ b/CodeGen/CGExprScalar.cpp @@ -511,14 +511,13 @@ Value *ScalarExprEmitter::EmitCompoundAssign(const BinaryOperator *E, // FIXME: it's possible for the computation type to be complex if the RHS // is complex. Handle this! - OpInfo.LHS = CGF.EmitConversion(RValue::get(OpInfo.LHS), LHSTy, - ComputeType).getVal(); + OpInfo.LHS = EmitScalarConversion(OpInfo.LHS, LHSTy, ComputeType); // Do not merge types for -= where the LHS is a pointer. if (E->getOpcode() != BinaryOperator::SubAssign || !E->getLHS()->getType()->isPointerType()) { - OpInfo.RHS = CGF.EmitConversion(RValue::get(OpInfo.RHS), RHSTy, - ComputeType).getVal(); + // FIXME: the computation type may be complex. + OpInfo.RHS = EmitScalarConversion(OpInfo.RHS, RHSTy, ComputeType); } OpInfo.Ty = ComputeType; OpInfo.E = E; @@ -527,7 +526,7 @@ Value *ScalarExprEmitter::EmitCompoundAssign(const BinaryOperator *E, Value *Result = (this->*Func)(OpInfo); // Truncate the result back to the LHS type. - Result = CGF.EmitConversion(RValue::get(Result), ComputeType, LHSTy).getVal(); + Result = EmitScalarConversion(Result, ComputeType, LHSTy); // Store the result value into the LHS lvalue. CGF.EmitStoreThroughLValue(RValue::get(Result), LHSLV, E->getType());