Home | History | Annotate | Download | only in CodeGen

Lines Matching full:ivar

840   // gc ivar
940 /// BuildIvarLayout - Builds ivar layout bitmap for the class
981 /// ivar layout bitmap.
1091 /// to store the weak ivar layout and properties. The return value
1108 /// EmitIvarList - Emit the ivar list for the given
1261 llvm::Value *BaseValue, const ObjCIvarDecl *Ivar,
1265 const ObjCIvarDecl *Ivar) override;
1331 /// EmitIvarList - Emit the ivar list for the given
1339 const ObjCIvarDecl *Ivar,
1394 /// ObjCIvarOffsetVariable - Returns the ivar offset variable for
1395 /// the given ivar.
1399 const ObjCIvarDecl *Ivar);
1441 // and ivar belongs to instance method's class and one of its super class.
1442 // This check is needed because the ivar offset is a lazily
1447 // base of the ivar access is a parameter to an Objective C method.
1554 Ivar,
1558 const ObjCIvarDecl *Ivar) override;
1808 // isa" is the first ivar in a class (which it must be).
3278 // When emitting the root class GCC emits ivar entries for the
3293 llvm::Constant *Ivar[] = {
3299 Ivars.push_back(llvm::ConstantStruct::get(ObjCTypes.IvarTy, Ivar));
4232 /// EmitObjCValueForIvar - Code Gen for ivar reference.
4237 const ObjCIvarDecl *Ivar,
4241 return EmitValueForIvarAtOffset(CGF, ID, BaseValue, Ivar, CVRQualifiers,
4242 EmitIvarOffset(CGF, ID, Ivar));
4247 const ObjCIvarDecl *Ivar) {
4248 uint64_t Offset = ComputeIvarBaseOffset(CGM, Interface, Ivar);
4474 /// ivar layout bitmap.
4656 /// the computations and returning the layout bitmap (for ivar or blocks) in
4715 // Compute number of bytes to skip at the tail end of the last ivar scanned.
4785 /// BuildIvarLayout - Builds ivar layout bitmap for the class
4787 /// The layout map displays which words in ivar list must be skipped
4837 // the ivar list.
4847 printf("\n%s ivar layout for class '%s': ",
5027 // arm64 targets use "int" ivar offset variables. All others,
5028 // including OS X x86_64 and Windows x86_64, use "long" ivar offsets.
5339 // unsigned [long] int *offset; // pointer to ivar offset location
6090 /// ObjCIvarOffsetVariable - Returns the ivar offset variable for
6091 /// the given ivar.
6094 const ObjCIvarDecl *Ivar) {
6095 const ObjCInterfaceDecl *Container = Ivar->getContainingInterface();
6097 '.' + Ivar->getNameAsString();
6109 const ObjCIvarDecl *Ivar,
6111 llvm::GlobalVariable *IvarOffsetGV = ObjCIvarOffsetVariable(ID, Ivar);
6119 if (Ivar->getAccessControl() == ObjCIvarDecl::Private ||
6120 Ivar->getAccessControl() == ObjCIvarDecl::Package ||
6129 /// EmitIvarList - Emit the ivar list for the given
6133 /// unsigned [long] int *offset; // pointer to ivar offset location
6161 llvm::Constant *Ivar[5];
6162 Ivar[0] = EmitIvarOffsetVar(ID->getClassInterface(), IVD,
6164 Ivar[1] = GetMethodVarName(IVD->getIdentifier());
6165 Ivar[2] = GetMethodVarType(IVD);
6172 Ivar[3] = llvm::ConstantInt::get(ObjCTypes.IntTy, Align);
6178 Ivar[4] = llvm::ConstantInt::get(ObjCTypes.IntTy, Size);
6179 Ivars.push_back(llvm::ConstantStruct::get(ObjCTypes.IvarnfABITy, Ivar));
6436 /// EmitObjCValueForIvar - Code Gen for nonfragile ivar reference.
6439 /// (type *)((char *)base + _OBJC_IVAR_$_.ivar;
6446 const ObjCIvarDecl *Ivar,
6449 llvm::Value *Offset = EmitIvarOffset(CGF, ID, Ivar);
6450 return EmitValueForIvarAtOffset(CGF, ID, BaseValue, Ivar, CVRQualifiers,
6457 const ObjCIvarDecl *Ivar) {
6458 llvm::Value *IvarOffsetValue = ObjCIvarOffsetVariable(Interface, Ivar);
6459 IvarOffsetValue = CGF.Builder.CreateLoad(IvarOffsetValue, "ivar");
6460 if (IsIvarOffsetKnownIdempotent(CGF, Ivar))
6466 // Cast it to 64bit integer value, if it is a 32bit integer ivar offset value
6470 IvarOffsetValue, ObjCTypes.LongTy, true, "ivar.conv");