Home | History | Annotate | Download | only in CodeGen

Lines Matching full:ivar

833   // gc ivar layout bitmap calculation helper caches.
930 /// BuildIvarLayout - Builds ivar layout bitmap for the class
971 /// ivar layout bitmap.
1083 /// to store the weak ivar layout and properties. The return value
1100 /// EmitIvarList - Emit the ivar list for the given
1261 const ObjCIvarDecl *Ivar,
1265 const ObjCIvarDecl *Ivar);
1329 /// EmitIvarList - Emit the ivar list for the given
1337 const ObjCIvarDecl *Ivar,
1391 /// ObjCIvarOffsetVariable - Returns the ivar offset variable for
1392 /// the given ivar.
1396 const ObjCIvarDecl *Ivar);
1439 // or a derived type, of the class containing the ivar within an ObjC
1440 // method. This check is needed because the ivar offset is a lazily
1445 // base of the ivar access is a parameter to an Objective C method.
1558 const ObjCIvarDecl *Ivar,
1562 const ObjCIvarDecl *Ivar);
1812 // isa" is the first ivar in a class (which it must be).
3308 // When emitting the root class GCC emits ivar entries for the
3323 llvm::Constant *Ivar[] = {
3329 Ivars.push_back(llvm::ConstantStruct::get(ObjCTypes.IvarTy, Ivar));
4262 /// EmitObjCValueForIvar - Code Gen for ivar reference.
4267 const ObjCIvarDecl *Ivar,
4271 return EmitValueForIvarAtOffset(CGF, ID, BaseValue, Ivar, CVRQualifiers,
4272 EmitIvarOffset(CGF, ID, Ivar));
4277 const ObjCIvarDecl *Ivar) {
4278 uint64_t Offset = ComputeIvarBaseOffset(CGM, Interface, Ivar);
4497 /// ivar layout bitmap.
4685 /// the computations and returning the layout bitmap (for ivar or blocks) in
4744 // Compute number of bytes to skip at the tail end of the last ivar scanned.
4814 /// BuildIvarLayout - Builds ivar layout bitmap for the class
4816 /// The layout map displays which words in ivar list must be skipped
4865 // the ivar list.
4875 printf("\n%s ivar layout for class '%s': ",
5359 // unsigned long int *offset; // pointer to ivar offset location
6106 /// ObjCIvarOffsetVariable - Returns the ivar offset variable for
6107 /// the given ivar.
6110 const ObjCIvarDecl *Ivar) {
6111 const ObjCInterfaceDecl *Container = Ivar->getContainingInterface();
6113 '.' + Ivar->getNameAsString();
6128 const ObjCIvarDecl *Ivar,
6130 llvm::GlobalVariable *IvarOffsetGV = ObjCIvarOffsetVariable(ID, Ivar);
6138 if (Ivar->getAccessControl() == ObjCIvarDecl::Private ||
6139 Ivar->getAccessControl() == ObjCIvarDecl::Package ||
6148 /// EmitIvarList - Emit the ivar list for the given
6152 /// unsigned long int *offset; // pointer to ivar offset location
6180 llvm::Constant *Ivar[5];
6181 Ivar[0] = EmitIvarOffsetVar(ID->getClassInterface(), IVD,
6183 Ivar[1] = GetMethodVarName(IVD->getIdentifier());
6184 Ivar[2] = GetMethodVarType(IVD);
6191 Ivar[3] = llvm::ConstantInt::get(ObjCTypes.IntTy, Align);
6197 Ivar[4] = llvm::ConstantInt::get(ObjCTypes.IntTy, Size);
6198 Ivars.push_back(llvm::ConstantStruct::get(ObjCTypes.IvarnfABITy, Ivar));
6457 /// EmitObjCValueForIvar - Code Gen for nonfragile ivar reference.
6460 /// (type *)((char *)base + _OBJC_IVAR_$_.ivar;
6467 const ObjCIvarDecl *Ivar,
6470 llvm::Value *Offset = EmitIvarOffset(CGF, ID, Ivar);
6472 if (IsIvarOffsetKnownIdempotent(CGF, ID, Ivar))
6477 return EmitValueForIvarAtOffset(CGF, ID, BaseValue, Ivar, CVRQualifiers,
6484 const ObjCIvarDecl *Ivar) {
6485 return CGF.Builder.CreateLoad(ObjCIvarOffsetVariable(Interface, Ivar),"ivar");