Minor refactoring. No intended change in behavior.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69988 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index 7bcb82b..5c2dbf8 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -1389,10 +1389,8 @@
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 @@
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)),