Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Ivar

486 static void emitStructGetterCall(CodeGenFunction &CGF, ObjCIvarDecl *ivar, 
492 ivar, 0).getAddress();
495 // sizeof (Type of Ivar), isAtomic, false);
504 CharUnits size = CGF.getContext().getTypeSizeInChars(ivar->getType());
593 // Evaluate the ivar's size and alignment.
594 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
595 QualType ivarType = ivar->getType();
641 if (ivar->isBitField()) {
656 // Compute whether the ivar has strong members.
670 // alignment of the ivar.
672 // If the size of the ivar is not a power of two, give up. We don't
690 // If the ivar's size exceeds the architecture's maximum atomic
722 // Sema only makes only of these when the ivar has a C++ class type,
742 /// copy the ivar into the resturn slot.
745 ObjCIvarDecl *ivar,
754 // The 2nd argument is the address of the ivar.
757 CGF.LoadObjCSelf(), ivar, 0).getAddress();
784 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
786 ivar, AtomicHelperFn);
795 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
801 LValue LV = EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, 0);
835 // Return (ivar-type) objc_getProperty((id) self, _cmd, offset, true).
842 EmitIvarOffset(classImpl->getClassInterface(), ivar);
873 emitStructGetterCall(*this, ivar, strategy.isAtomic(),
879 LValue LV = EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, 0);
881 QualType ivarType = ivar->getType();
920 /// from the first formal parameter into the given ivar.
922 ObjCIvarDecl *ivar) {
927 // The first argument is the address of the ivar.
929 CGF.LoadObjCSelf(), ivar, 0)
944 CGF.CGM.getSize(CGF.getContext().getTypeSizeInChars(ivar->getType()));
962 /// the value from the first formal parameter into the given ivar, using
966 ObjCIvarDecl *ivar,
972 // The first argument is the address of the ivar.
975 CGF.LoadObjCSelf(), ivar, 0).getAddress();
1005 // Sema only makes only of these when the ivar has a C++ class type,
1041 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
1052 emitCPPObjectAtomicSetterCall(*this, setterMethod, ivar,
1063 EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, /*quals*/ 0);
1118 EmitIvarOffset(classImpl->getClassInterface(), ivar);
1151 emitStructSetterCall(*this, setterMethod, ivar);
1165 ObjCIvarRefExpr ivarRef(ivar, ivar->getType().getNonReferenceType(),
1175 // The property type can differ from the ivar type in some situations with
1230 const ObjCIvarDecl *ivar;
1234 DestroyIvar(llvm::Value *addr, const ObjCIvarDecl *ivar,
1237 : addr(addr), ivar(ivar), destroyer(destroyer),
1242 = CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), addr, ivar, /*CVR*/ 0);
1243 CGF.emitDestroy(lvalue.getAddress(), ivar->getType(), destroyer,
1264 for (const ObjCIvarDecl *ivar = iface->all_declared_ivar_begin();
1265 ivar; ivar = ivar->getNextIvar()) {
1266 QualType type = ivar->getType();
1268 // Check whether the ivar is a destructible type.
1286 CGF.EHStack.pushCleanup<DestroyIvar>(cleanupKind, self, ivar, destroyer,
1309 ObjCIvarDecl *Ivar = cast<ObjCIvarDecl>(Field);
1311 LoadObjCSelf(), Ivar, 0);