]> granicus.if.org Git - clang/commitdiff
remove uses of EmitConversion
authorChris Lattner <sabre@nondot.org>
Sun, 26 Aug 2007 07:08:39 +0000 (07:08 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 26 Aug 2007 07:08:39 +0000 (07:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41435 91177308-0d34-0410-b5e6-96231b3b80d8

CodeGen/CGExprScalar.cpp

index f1989893e7867d6481e94261ed0d594f84d594bb..b1f26d61bea999aa3e3c1d1356fa29c9d20a6915 100644 (file)
@@ -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());