Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Ivar

569 static void emitStructGetterCall(CodeGenFunction &CGF, ObjCIvarDecl *ivar, 
574 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0)
578 // sizeof (Type of Ivar), isAtomic, false);
587 CharUnits size = CGF.getContext().getTypeSizeInChars(ivar->getType());
676 // Evaluate the ivar's size and alignment.
677 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
678 QualType ivarType = ivar->getType();
700 // acceptable if the ivar is __strong, which won't be true if
733 if (ivar->isBitField()) {
748 // Compute whether the ivar has strong members.
762 // alignment of the ivar.
764 // If the size of the ivar is not a power of two, give up. We don't
782 // If the ivar's size exceeds the architecture's maximum atomic
815 // Sema only makes only of these when the ivar has a C++ class type,
835 /// copy the ivar into the resturn slot.
838 ObjCIvarDecl *ivar,
847 // The 2nd argument is the address of the ivar.
850 CGF.LoadObjCSelf(), ivar, 0).getPointer();
879 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
881 ivar, AtomicHelperFn);
890 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
900 LValue LV = EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, 0);
933 // Return (ivar-type) objc_getProperty((id) self, _cmd, offset, true).
940 EmitIvarOffset(classImpl->getClassInterface(), ivar);
976 emitStructGetterCall(*this, ivar, strategy.isAtomic(),
982 LValue LV = EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, 0);
984 QualType ivarType = ivar->getType();
1035 /// from the first formal parameter into the given ivar.
1037 ObjCIvarDecl *ivar) {
1042 // The first argument is the address of the ivar.
1044 CGF.LoadObjCSelf(), ivar, 0)
1059 CGF.CGM.getSize(CGF.getContext().getTypeSizeInChars(ivar->getType()));
1078 /// the value from the first formal parameter into the given ivar, using
1082 ObjCIvarDecl *ivar,
1088 // The first argument is the address of the ivar.
1091 CGF.LoadObjCSelf(), ivar, 0).getPointer();
1120 // Sema only makes only of these when the ivar has a C++ class type,
1151 ObjCIvarDecl *ivar = propImpl->getPropertyIvarDecl();
1162 emitCPPObjectAtomicSetterCall(*this, setterMethod, ivar,
1177 EmitLValueForIvar(TypeOfSelfObject(), LoadObjCSelf(), ivar, /*quals*/ 0);
1230 EmitIvarOffset(classImpl->getClassInterface(), ivar);
1264 emitStructSetterCall(*this, setterMethod, ivar);
1278 ObjCIvarRefExpr ivarRef(ivar, ivar->getType().getNonReferenceType(),
1289 // The property type can differ from the ivar type in some situations with
1345 const ObjCIvarDecl *ivar;
1349 DestroyIvar(llvm::Value *addr, const ObjCIvarDecl *ivar,
1352 : addr(addr), ivar(ivar), destroyer(destroyer),
1357 = CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), addr, ivar, /*CVR*/ 0);
1358 CGF.emitDestroy(lvalue.getAddress(), ivar->getType(), destroyer,
1379 for (const ObjCIvarDecl *ivar = iface->all_declared_ivar_begin();
1380 ivar; ivar = ivar->getNextIvar()) {
1381 QualType type = ivar->getType();
1383 // Check whether the ivar is a destructible type.
1401 CGF.EHStack.pushCleanup<DestroyIvar>(cleanupKind, self, ivar, destroyer,
1421 ObjCIvarDecl *Ivar = cast<ObjCIvarDecl>(Field);
1423 LoadObjCSelf(), Ivar, 0);