]> granicus.if.org Git - clang/commitdiff
Minor refactoring. No intended change in behavior.
authorFariborz Jahanian <fjahanian@apple.com>
Fri, 24 Apr 2009 21:07:43 +0000 (21:07 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Fri, 24 Apr 2009 21:07:43 +0000 (21:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69988 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGObjCMac.cpp

index 7bcb82b6cb35cd1179bb2abd164084cc76f8fcf3..5c2dbf8110767eb30674e3954ec03c629881d6d2 100644 (file)
@@ -1389,10 +1389,8 @@ CodeGen::RValue CGObjCMac::GenerateMessageSend(CodeGen::CodeGenFunction &CGF,
                                                llvm::Value *Receiver,
                                                bool IsClassMessage,
                                                const CallArgList &CallArgs) {
-  llvm::Value *Arg0 = 
-    CGF.Builder.CreateBitCast(Receiver, ObjCTypes.ObjectPtrTy, "tmp");
   return EmitMessageSend(CGF, ResultType, Sel,
-                         Arg0, CGF.getContext().getObjCIdType(),
+                         Receiver, CGF.getContext().getObjCIdType(),
                          false, CallArgs);
 }
 
@@ -1404,6 +1402,8 @@ CodeGen::RValue CGObjCMac::EmitMessageSend(CodeGen::CodeGenFunction &CGF,
                                            bool IsSuper,
                                            const CallArgList &CallArgs) {
   CallArgList ActualArgs;
+  if (!IsSuper)
+    Arg0 = CGF.Builder.CreateBitCast(Arg0, ObjCTypes.ObjectPtrTy, "tmp");
   ActualArgs.push_back(std::make_pair(RValue::get(Arg0), Arg0Ty));
   ActualArgs.push_back(std::make_pair(RValue::get(EmitSelector(CGF.Builder, 
                                                                Sel)),