reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGObjCMac.cpp
 2065     CGF.CreateTempAlloca(ObjCTypes.SuperTy, CGF.getPointerAlign(),
 2068     CGF.Builder.CreateBitCast(Receiver, ObjCTypes.ObjectPtrTy);
 2083       Target = CGF.Builder.CreateStructGEP(ObjCTypes.ClassTy, Target, 0);
 2088           CGF.Builder.CreateStructGEP(ObjCTypes.ClassTy, MetaClassPtr, 1);
 2097     ClassPtr = CGF.Builder.CreateStructGEP(ObjCTypes.ClassTy, ClassPtr, 1);
 2108                          ObjCSuper.getPointer(), ObjCTypes.SuperPtrCTy,
 2109                          true, CallArgs, Method, Class, ObjCTypes);
 2124                          false, CallArgs, Method, Class, ObjCTypes);
 2992                                         ObjCTypes.getExternalProtocolPtrTy());
 3064   auto values = builder.beginStruct(ObjCTypes.ProtocolTy);
 3099     Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ProtocolTy,
 3133                             ObjCTypes);
 3137                      ObjCTypes, false);
 3140                      PD, ObjCTypes, true);
 3148     return llvm::Constant::getNullValue(ObjCTypes.ProtocolExtensionPtrTy);
 3152     CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ProtocolExtensionTy);
 3155   auto values = builder.beginStruct(ObjCTypes.ProtocolExtensionTy);
 3156   values.addInt(ObjCTypes.IntTy, size);
 3181     return llvm::Constant::getNullValue(ObjCTypes.ProtocolListPtrTy);
 3187   values.addNullPointer(ObjCTypes.ProtocolListPtrTy);
 3192   auto refsArray = values.beginArray(ObjCTypes.ProtocolPtrTy);
 3199   refsArray.addNullPointer(ObjCTypes.ProtocolPtrTy);
 3202   values.fillPlaceholderWithInt(countSlot, ObjCTypes.LongTy, count);
 3210   return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.ProtocolListPtrTy);
 3351   unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.CategoryTy);
 3366   auto Values = Builder.beginStruct(ObjCTypes.CategoryTy);
 3391     Values.addNullPointer(ObjCTypes.ProtocolListPtrTy);
 3393   Values.addInt(ObjCTypes.IntTy, Size);
 3398                                 OCD, Category, ObjCTypes, false));
 3400                                 OCD, Category, ObjCTypes, true));
 3402     Values.addNullPointer(ObjCTypes.PropertyListPtrTy);
 3403     Values.addNullPointer(ObjCTypes.PropertyListPtrTy);
 3574   auto values = builder.beginStruct(ObjCTypes.ClassTy);
 3581                       ObjCTypes.ClassPtrTy);
 3583     values.addNullPointer(ObjCTypes.ClassPtrTy);
 3587   values.addInt(ObjCTypes.LongTy, 0);
 3588   values.addInt(ObjCTypes.LongTy, Flags);
 3589   values.addInt(ObjCTypes.LongTy, Size.getQuantity());
 3594   values.addNullPointer(ObjCTypes.CachePtrTy);
 3606     assert(GV->getType()->getElementType() == ObjCTypes.ClassTy &&
 3624   unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ClassTy);
 3630   auto values = builder.beginStruct(ObjCTypes.ClassTy);
 3636                     ObjCTypes.ClassPtrTy);
 3642                       ObjCTypes.ClassPtrTy);
 3644     values.addNullPointer(ObjCTypes.ClassPtrTy);
 3648   values.addInt(ObjCTypes.LongTy, 0);
 3649   values.addInt(ObjCTypes.LongTy, Flags);
 3650   values.addInt(ObjCTypes.LongTy, Size);
 3655   values.addNullPointer(ObjCTypes.CachePtrTy);
 3658   values.addNullPointer(ObjCTypes.Int8PtrTy);
 3669     assert(GV->getType()->getElementType() == ObjCTypes.ClassTy &&
 3696     GV = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassTy, false,
 3700   assert(GV->getType()->getElementType() == ObjCTypes.ClassTy &&
 3710     GV = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassTy, false,
 3714   assert(GV->getType()->getElementType() == ObjCTypes.ClassTy &&
 3748                      ID, ID->getClassInterface(), ObjCTypes, isMetaclass);
 3752     return llvm::Constant::getNullValue(ObjCTypes.ClassExtensionPtrTy);
 3756     CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ClassExtensionTy);
 3759   auto values = builder.beginStruct(ObjCTypes.ClassExtensionTy);
 3760   values.addInt(ObjCTypes.IntTy, size);
 3789     return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy);
 3796   auto ivars = ivarList.beginArray(ObjCTypes.IvarTy);
 3804     auto ivar = ivars.beginStruct(ObjCTypes.IvarTy);
 3807     ivar.addInt(ObjCTypes.IntTy, ComputeIvarBaseOffset(CGM, OID, IVD));
 3816     return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy);
 3820   ivarList.fillPlaceholderWithInt(countSlot, ObjCTypes.IntTy, count);
 3832   return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.IvarListPtrTy);
 3843   auto description = builder.beginStruct(ObjCTypes.MethodDescriptionTy);
 3845                          ObjCTypes.SelectorPtrTy);
 3862   auto method = builder.beginStruct(ObjCTypes.MethodTy);
 3864                     ObjCTypes.SelectorPtrTy);
 3866   method.addBitCast(fn, ObjCTypes.Int8PtrTy);
 3934                                         ? ObjCTypes.MethodDescriptionListPtrTy
 3935                                         : ObjCTypes.MethodListPtrTy);
 3942     values.addInt(ObjCTypes.IntTy, methods.size());
 3943     auto methodArray = values.beginArray(ObjCTypes.MethodDescriptionTy);
 3952                                           ObjCTypes.MethodDescriptionListPtrTy);
 3958   values.addNullPointer(ObjCTypes.Int8PtrTy);
 3959   values.addInt(ObjCTypes.IntTy, methods.size());
 3960   auto methodArray = values.beginArray(ObjCTypes.MethodTy);
 3968   return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.MethodListPtrTy);
 4078   return ObjCTypes.getGetPropertyFn();
 4082   return ObjCTypes.getSetPropertyFn();
 4087   return ObjCTypes.getOptimizedSetPropertyFn(atomic, copy);
 4091   return ObjCTypes.getCopyStructFn();
 4095   return ObjCTypes.getCopyStructFn();
 4099   return ObjCTypes.getCppAtomicObjectFunction();
 4103   return ObjCTypes.getCppAtomicObjectFunction();
 4107   return ObjCTypes.getEnumerationMutationFn();
 4464     SyncArg = CGF.Builder.CreateBitCast(SyncArg, ObjCTypes.ObjectPtrTy);
 4465     CGF.EmitNounwindRuntimeCall(ObjCTypes.getSyncEnterFn(), SyncArg);
 4474   Address ExceptionData = CGF.CreateTempAlloca(ObjCTypes.ExceptionDataTy,
 4505                                                  &ObjCTypes);
 4510   CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionTryEnterFn(),
 4517       ObjCTypes.ExceptionDataTy, ExceptionData.getPointer(), GEPIndexes,
 4520       ObjCTypes.getSetJmpFn(), SetJmpBuffer, "setjmp_result");
 4557       CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionExtractFn(),
 4580       CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionTryEnterFn(),
 4584         CGF.EmitNounwindRuntimeCall(ObjCTypes.getSetJmpFn(),
 4657         CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionMatchFn(),
 4715         CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionExtractFn(),
 4747         CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionExtractFn(),
 4752     CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionThrowFn(),
 4768       CGF.Builder.CreateBitCast(Exception, ObjCTypes.ObjectPtrTy);
 4775   CGF.EmitRuntimeCall(ObjCTypes.getExceptionThrowFn(), ExceptionAsObject)
 4791                                           ObjCTypes.PtrObjectPtrTy);
 4793     CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcReadWeakFn(),
 4810     src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy);
 4812   src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy);
 4813   dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy);
 4815   CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignWeakFn(),
 4831     src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy);
 4833   src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy);
 4834   dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy);
 4837     CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignGlobalFn(),
 4840     CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignThreadLocalFn(),
 4857     src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy);
 4859   src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy);
 4860   dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy);
 4862   CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignIvarFn(), args);
 4876     src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy);
 4878   src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy);
 4879   dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy);
 4881   CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignStrongCastFn(),
 4889   SrcPtr = CGF.Builder.CreateBitCast(SrcPtr, ObjCTypes.Int8PtrTy);
 4890   DestPtr = CGF.Builder.CreateBitCast(DestPtr, ObjCTypes.Int8PtrTy);
 4892   CGF.EmitNounwindRuntimeCall(ObjCTypes.GcMemmoveCollectableFn(), args);
 5031   uint64_t Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ModuleTy);
 5034   auto values = builder.beginStruct(ObjCTypes.ModuleTy);
 5035   values.addInt(ObjCTypes.LongTy, ModuleVersion);
 5036   values.addInt(ObjCTypes.LongTy, Size);
 5051     return llvm::Constant::getNullValue(ObjCTypes.SymtabPtrTy);
 5055   values.addInt(ObjCTypes.LongTy, 0);
 5056   values.addNullPointer(ObjCTypes.SelectorPtrTy);
 5057   values.addInt(ObjCTypes.ShortTy, NumClasses);
 5058   values.addInt(ObjCTypes.ShortTy, NumCategories);
 5062   auto array = values.beginArray(ObjCTypes.Int8PtrTy);
 5071     array.addBitCast(DefinedClasses[i], ObjCTypes.Int8PtrTy);
 5074     array.addBitCast(DefinedCategories[i], ObjCTypes.Int8PtrTy);
 5081   return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.SymtabPtrTy);
 5093                                    ObjCTypes.ClassPtrTy);
 5108     return EmitClassRefViaRuntime(CGF, ID, ObjCTypes);
 5131                                      ObjCTypes.SelectorPtrTy);
 5567     auto values = builder.beginStruct(ObjCTypes.ProtocolTy);
 5568     values.addNullPointer(ObjCTypes.ProtocolExtensionPtrTy);
 5570     values.addNullPointer(ObjCTypes.ProtocolListPtrTy);
 5571     values.addNullPointer(ObjCTypes.MethodDescriptionListPtrTy);
 5572     values.addNullPointer(ObjCTypes.MethodDescriptionListPtrTy);