Lines Matching refs:ivar

744 static void emitStructGetterCall(CodeGenFunction &CGF, ObjCIvarDecl *ivar,
749 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0)
762 CharUnits size = CGF.getContext().getTypeSizeInChars(ivar->getType());
850 // Evaluate the ivar's size and alignment.
851 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
852 QualType ivarType = ivar->getType();
874 // acceptable if the ivar is __strong, which won't be true if
907 if (ivar->isBitField()) {
922 // Compute whether the ivar has strong members.
936 // alignment of the ivar.
938 // If the size of the ivar is not a power of two, give up. We don't
956 // If the ivar's size exceeds the architecture's maximum atomic
988 // Sema only makes only of these when the ivar has a C++ class type,
1008 /// copy the ivar into the resturn slot.
1011 ObjCIvarDecl *ivar,
1020 // The 2nd argument is the address of the ivar.
1022 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0)
1052 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
1054 ivar, AtomicHelperFn);
1063 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
1073 LValue LV = EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, 0);
1115 // Return (ivar-type) objc_getProperty((id) self, _cmd, offset, true).
1122 EmitIvarOffset(classImpl->getClassInterface(), ivar);
1156 emitStructGetterCall(*this, ivar, strategy.isAtomic(),
1162 LValue LV = EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, 0);
1164 QualType ivarType = ivar->getType();
1216 /// from the first formal parameter into the given ivar.
1218 ObjCIvarDecl *ivar) {
1223 // The first argument is the address of the ivar.
1225 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0)
1241 CGF.CGM.getSize(CGF.getContext().getTypeSizeInChars(ivar->getType()));
1259 /// the value from the first formal parameter into the given ivar, using
1263 ObjCIvarDecl *ivar,
1269 // The first argument is the address of the ivar.
1271 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0)
1301 // Sema only makes only of these when the ivar has a C++ class type,
1331 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
1342 emitCPPObjectAtomicSetterCall(*this, setterMethod, ivar,
1357 EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, /*quals*/ 0);
1409 EmitIvarOffset(classImpl->getClassInterface(), ivar);
1441 emitStructSetterCall(*this, setterMethod, ivar);
1455 ObjCIvarRefExpr ivarRef(ivar, ivar->getType().getNonReferenceType(),
1467 // The property type can differ from the ivar type in some situations with
1522 const ObjCIvarDecl *ivar;
1526 DestroyIvar(llvm::Value *addr, const ObjCIvarDecl *ivar,
1529 : addr(addr), ivar(ivar), destroyer(destroyer),
1534 = CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), addr, ivar, /*CVR*/ 0);
1535 CGF.emitDestroy(lvalue.getAddress(CGF), ivar->getType(), destroyer,
1556 for (const ObjCIvarDecl *ivar = iface->all_declared_ivar_begin();
1557 ivar; ivar = ivar->getNextIvar()) {
1558 QualType type = ivar->getType();
1560 // Check whether the ivar is a destructible type.
1578 CGF.EHStack.pushCleanup<DestroyIvar>(cleanupKind, self, ivar, destroyer,