Lines Matching defs:ivar

818 static void emitStructGetterCall(CodeGenFunction &CGF, ObjCIvarDecl *ivar,
823 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0)
834 CharUnits size = CGF.getContext().getTypeSizeInChars(ivar->getType());
926 // Evaluate the ivar's size and alignment.
927 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
928 QualType ivarType = ivar->getType();
952 // acceptable if the ivar is __strong, which won't be true if
985 if (ivar->isBitField()) {
1000 // Compute whether the ivar has strong members.
1014 // alignment of the ivar.
1016 // If the size of the ivar is not a power of two, give up. We don't
1034 // If the ivar's size exceeds the architecture's maximum atomic
1066 // Sema only makes only of these when the ivar has a C++ class type,
1086 /// copy the ivar into the resturn slot.
1089 ObjCIvarDecl *ivar,
1098 // The 2nd argument is the address of the ivar.
1100 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0)
1140 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
1142 if (ivar->getType().isNonTrivialToPrimitiveCopy() == QualType::PCK_Struct) {
1145 EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, 0);
1146 LValue Dst = MakeAddrLValue(ReturnValue, ivar->getType());
1149 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
1151 ivar, AtomicHelperFn);
1165 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
1167 ivar, AtomicHelperFn);
1184 LValue LV = EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, 0);
1223 // Return (ivar-type) objc_getProperty((id) self, _cmd, offset, true).
1229 EmitIvarOffsetAsPointerDiff(classImpl->getClassInterface(), ivar);
1263 emitStructGetterCall(*this, ivar, strategy.isAtomic(),
1269 LValue LV = EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, 0);
1271 QualType ivarType = ivar->getType();
1323 /// from the first formal parameter into the given ivar.
1325 ObjCIvarDecl *ivar) {
1330 // The first argument is the address of the ivar.
1332 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0)
1347 CGF.CGM.getSize(CGF.getContext().getTypeSizeInChars(ivar->getType()));
1365 /// the value from the first formal parameter into the given ivar, using
1369 ObjCIvarDecl *ivar,
1375 // The first argument is the address of the ivar.
1377 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0)
1405 // Sema only makes only of these when the ivar has a C++ class type,
1435 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
1438 if (ivar->getType().isNonTrivialToPrimitiveCopy() == QualType::PCK_Struct) {
1443 LValue Dst = EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar,
1445 LValue Src = MakeAddrLValue(GetAddrOfLocalVar(PVD), ivar->getType());
1449 emitCPPObjectAtomicSetterCall(*this, setterMethod, ivar, AtomicHelperFn);
1464 emitCPPObjectAtomicSetterCall(*this, setterMethod, ivar,
1479 EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, /*quals*/ 0);
1528 EmitIvarOffsetAsPointerDiff(classImpl->getClassInterface(), ivar);
1560 emitStructSetterCall(*this, setterMethod, ivar);
1574 ObjCIvarRefExpr ivarRef(ivar, ivar->getType().getNonReferenceType(),
1586 // The property type can differ from the ivar type in some situations with
1645 const ObjCIvarDecl *ivar;
1649 DestroyIvar(llvm::Value *addr, const ObjCIvarDecl *ivar,
1652 : addr(addr), ivar(ivar), destroyer(destroyer),
1657 = CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), addr, ivar, /*CVR*/ 0);
1658 CGF.emitDestroy(lvalue.getAddress(), ivar->getType(), destroyer,
1679 for (const ObjCIvarDecl *ivar = iface->all_declared_ivar_begin();
1680 ivar; ivar = ivar->getNextIvar()) {
1681 QualType type = ivar->getType();
1683 // Check whether the ivar is a destructible type.
1701 CGF.EHStack.pushCleanup<DestroyIvar>(cleanupKind, self, ivar, destroyer,