Lines Matching refs:Receiver
76 // Generate a reference to the class pointer, which will be the receiver.
81 llvm::Value *Receiver = Runtime.GetClass(*this, ClassDecl);
114 *this, ReturnValueSlot(), BoxingMethod->getReturnType(), Sel, Receiver,
216 // Generate a reference to the class pointer, which will be the receiver.
224 llvm::Value *Receiver = Runtime.GetClass(*this, Class);
229 Receiver, Args, Class, MethodWithObjects);
284 /// Decide whether to extend the lifetime of the receiver of a
291 // receiver is loaded from a variable with precise lifetime.
293 const Expr *receiver = message->getInstanceReceiver();
296 if (auto opaque = dyn_cast<OpaqueValueExpr>(receiver)) {
298 receiver = opaque->getSourceExpr()->IgnoreParens();
301 const ImplicitCastExpr *ice = dyn_cast<ImplicitCastExpr>(receiver);
303 receiver = ice->getSubExpr()->IgnoreParens();
306 if (auto opaque = dyn_cast<OpaqueValueExpr>(receiver)) {
308 receiver = opaque->getSourceExpr()->IgnoreParens();
312 if (receiver->getType().getObjCLifetime() != Qualifiers::OCL_Strong)
316 if (isa<MemberExpr>(receiver) || isa<ObjCIvarRefExpr>(receiver))
341 llvm_unreachable("invalid receiver kind");
375 llvm::Value *Receiver,
392 return CGF.EmitObjCAlloc(Receiver, CGF.ConvertType(ResultType));
400 return CGF.EmitObjCAllocWithZone(Receiver,
411 return CGF.EmitObjCAutorelease(Receiver, CGF.ConvertType(ResultType));
418 return CGF.EmitObjCRetainNonBlock(Receiver, CGF.ConvertType(ResultType));
425 CGF.EmitObjCRelease(Receiver, ARCPreciseLifetime);
438 Selector Sel, llvm::Value *Receiver, const CallArgList &Args,
442 tryGenerateSpecializedMessageSend(CGF, ResultType, Receiver, Args,
446 return GenerateMessageSend(CGF, Return, ResultType, Sel, Receiver, Args, OID,
535 // Okay, this is '[receiver init]', check if 'receiver' is '[cls alloc]'
547 llvm::Value *Receiver = nullptr;
552 Receiver = CGF.EmitScalarExpr(SubOME->getInstanceReceiver());
560 Receiver = CGF.CGM.getObjCRuntime().GetClass(CGF, ID);
568 return CGF.EmitObjCAllocInit(Receiver, CGF.ConvertType(OME->getType()));
574 // implementation vary between runtimes. We can get the receiver and
581 // If the method is -retain, and the receiver's being loaded from
595 // We don't retain the receiver in delegate init calls, and this is
596 // safe because the receiver value is always loaded from 'self',
609 // Find the receiver
611 llvm::Value *Receiver = nullptr;
619 Receiver = ter.getPointer();
622 Receiver = EmitScalarExpr(E->getInstanceReceiver());
629 Receiver = Runtime.GetClass(*this, OID);
636 Receiver = LoadObjCSelf();
642 Receiver = LoadObjCSelf();
649 Receiver = EmitARCRetainNonBlock(Receiver);
657 Receiver = EmitARCRetainAutorelease(ReceiverType, Receiver);
690 Receiver,
697 *this, Return, ResultType, E->getSelector(), Receiver, Args, OID,
2696 llvm::Value *Receiver = Runtime.EmitNSAutoreleasePoolClassRef(*this);
2704 AllocSel, Receiver, Args);
2706 // [Receiver init]
2707 Receiver = AllocRV.getScalarVal();
2713 InitSel, Receiver, Args);
2970 // whether the receiver of a message is null.