Lines Matching refs:ObjCTypes

1007                                     const ObjCCommonTypesHelper &ObjCTypes);
1014 const ObjCCommonTypesHelper &ObjCTypes,
1021 const ObjCCommonTypesHelper &ObjCTypes);
1032 ObjCCommonTypesHelper &ObjCTypes);
1076 const ObjCCommonTypesHelper &ObjCTypes);
1216 ObjCTypesHelper ObjCTypes; member in __anon0f7b948f0111::CGObjCMac
1400 ObjCNonFragileABITypesHelper ObjCTypes; member in __anon0f7b948f0111::CGObjCNonFragileABIMac
1649 return ObjCTypes.getGetPropertyFn(); in GetPropertyGetFunction()
1652 return ObjCTypes.getSetPropertyFn(); in GetPropertySetFunction()
1657 return ObjCTypes.getOptimizedSetPropertyFn(atomic, copy); in GetOptimizedPropertySetFunction()
1661 return ObjCTypes.getCopyStructFn(); in GetSetStructFunction()
1665 return ObjCTypes.getCopyStructFn(); in GetGetStructFunction()
1669 return ObjCTypes.getCppAtomicObjectFunction(); in GetCppAtomicObjectSetFunction()
1673 return ObjCTypes.getCppAtomicObjectFunction(); in GetCppAtomicObjectGetFunction()
1677 return ObjCTypes.getEnumerationMutationFn(); in EnumerationMutationFunction()
1899 ObjCTypes(cgm) { in CGObjCMac()
2091 CGF.CreateTempAlloca(ObjCTypes.SuperTy, CGF.getPointerAlign(), in GenerateMessageSendSuper()
2094 CGF.Builder.CreateBitCast(Receiver, ObjCTypes.ObjectPtrTy); in GenerateMessageSendSuper()
2109 Target = CGF.Builder.CreateStructGEP(ObjCTypes.ClassTy, Target, 0); in GenerateMessageSendSuper()
2114 CGF.Builder.CreateStructGEP(ObjCTypes.ClassTy, MetaClassPtr, 1); in GenerateMessageSendSuper()
2123 ClassPtr = CGF.Builder.CreateStructGEP(ObjCTypes.ClassTy, ClassPtr, 1); in GenerateMessageSendSuper()
2133 ObjCTypes.SuperPtrCTy, true, CallArgs, Method, Class, in GenerateMessageSendSuper()
2134 ObjCTypes); in GenerateMessageSendSuper()
2148 Method, Class, ObjCTypes); in GenerateMessageSend()
2171 const ObjCCommonTypesHelper &ObjCTypes) { in EmitMessageSend() argument
2187 Arg0 = CGF.Builder.CreateBitCast(Arg0, ObjCTypes.ObjectPtrTy); in EmitMessageSend()
2234 Fn = (ObjCABI == 2) ? ObjCTypes.getSendStretFn2(IsSuper) in EmitMessageSend()
2235 : ObjCTypes.getSendStretFn(IsSuper); in EmitMessageSend()
2237 Fn = (ObjCABI == 2) ? ObjCTypes.getSendFpretFn2(IsSuper) in EmitMessageSend()
2238 : ObjCTypes.getSendFpretFn(IsSuper); in EmitMessageSend()
2240 Fn = (ObjCABI == 2) ? ObjCTypes.getSendFp2RetFn2(IsSuper) in EmitMessageSend()
2241 : ObjCTypes.getSendFp2retFn(IsSuper); in EmitMessageSend()
2247 Fn = (ObjCABI == 2) ? ObjCTypes.getSendFn2(IsSuper) in EmitMessageSend()
2248 : ObjCTypes.getSendFn(IsSuper); in EmitMessageSend()
3030 ObjCTypes.getExternalProtocolPtrTy()); in GenerateProtocolRef()
3055 ObjCCommonTypesHelper &ObjCTypes) { in EmitClassRefViaRuntime() argument
3056 llvm::FunctionCallee lookUpClassFn = ObjCTypes.getLookUpClassFn(); in EmitClassRefViaRuntime()
3103 auto values = builder.beginStruct(ObjCTypes.ProtocolTy); in GetOrEmitProtocol()
3138 Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ProtocolTy, in GetOrEmitProtocolRef()
3172 ObjCTypes); in EmitProtocolExtension()
3176 ObjCTypes, false); in EmitProtocolExtension()
3179 PD, ObjCTypes, true); in EmitProtocolExtension()
3187 return llvm::Constant::getNullValue(ObjCTypes.ProtocolExtensionPtrTy); in EmitProtocolExtension()
3191 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ProtocolExtensionTy); in EmitProtocolExtension()
3194 auto values = builder.beginStruct(ObjCTypes.ProtocolExtensionTy); in EmitProtocolExtension()
3195 values.addInt(ObjCTypes.IntTy, size); in EmitProtocolExtension()
3221 return llvm::Constant::getNullValue(ObjCTypes.ProtocolListPtrTy); in EmitProtocolList()
3227 values.addNullPointer(ObjCTypes.ProtocolListPtrTy); in EmitProtocolList()
3232 auto refsArray = values.beginArray(ObjCTypes.ProtocolPtrTy); in EmitProtocolList()
3239 refsArray.addNullPointer(ObjCTypes.ProtocolPtrTy); in EmitProtocolList()
3242 values.fillPlaceholderWithInt(countSlot, ObjCTypes.LongTy, count); in EmitProtocolList()
3250 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.ProtocolListPtrTy); in EmitProtocolList()
3285 const ObjCCommonTypesHelper &ObjCTypes, in EmitPropertyList() argument
3293 return llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy); in EmitPropertyList()
3333 return llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy); in EmitPropertyList()
3336 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.PropertyTy); in EmitPropertyList()
3340 values.addInt(ObjCTypes.IntTy, propertySize); in EmitPropertyList()
3341 values.addInt(ObjCTypes.IntTy, Properties.size()); in EmitPropertyList()
3342 auto propertiesArray = values.beginArray(ObjCTypes.PropertyTy); in EmitPropertyList()
3344 auto property = propertiesArray.beginStruct(ObjCTypes.PropertyTy); in EmitPropertyList()
3358 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.PropertyListPtrTy); in EmitPropertyList()
3364 const ObjCCommonTypesHelper &ObjCTypes) { in EmitProtocolMethodTypes() argument
3367 return llvm::Constant::getNullValue(ObjCTypes.Int8PtrPtrTy); in EmitProtocolMethodTypes()
3369 llvm::ArrayType *AT = llvm::ArrayType::get(ObjCTypes.Int8PtrTy, in EmitProtocolMethodTypes()
3379 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.Int8PtrPtrTy); in EmitProtocolMethodTypes()
3395 unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.CategoryTy); in GenerateCategory()
3410 auto Values = Builder.beginStruct(ObjCTypes.CategoryTy); in GenerateCategory()
3436 Values.addNullPointer(ObjCTypes.ProtocolListPtrTy); in GenerateCategory()
3438 Values.addInt(ObjCTypes.IntTy, Size); in GenerateCategory()
3443 OCD, Category, ObjCTypes, false)); in GenerateCategory()
3445 OCD, Category, ObjCTypes, true)); in GenerateCategory()
3447 Values.addNullPointer(ObjCTypes.PropertyListPtrTy); in GenerateCategory()
3448 Values.addNullPointer(ObjCTypes.PropertyListPtrTy); in GenerateCategory()
3620 auto values = builder.beginStruct(ObjCTypes.ClassTy); in GenerateClass()
3627 ObjCTypes.ClassPtrTy); in GenerateClass()
3629 values.addNullPointer(ObjCTypes.ClassPtrTy); in GenerateClass()
3633 values.addInt(ObjCTypes.LongTy, 0); in GenerateClass()
3634 values.addInt(ObjCTypes.LongTy, Flags); in GenerateClass()
3635 values.addInt(ObjCTypes.LongTy, Size.getQuantity()); in GenerateClass()
3640 values.addNullPointer(ObjCTypes.CachePtrTy); in GenerateClass()
3652 assert(GV->getValueType() == ObjCTypes.ClassTy && in GenerateClass()
3670 unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ClassTy); in EmitMetaClass()
3676 auto values = builder.beginStruct(ObjCTypes.ClassTy); in EmitMetaClass()
3682 ObjCTypes.ClassPtrTy); in EmitMetaClass()
3688 ObjCTypes.ClassPtrTy); in EmitMetaClass()
3690 values.addNullPointer(ObjCTypes.ClassPtrTy); in EmitMetaClass()
3694 values.addInt(ObjCTypes.LongTy, 0); in EmitMetaClass()
3695 values.addInt(ObjCTypes.LongTy, Flags); in EmitMetaClass()
3696 values.addInt(ObjCTypes.LongTy, Size); in EmitMetaClass()
3701 values.addNullPointer(ObjCTypes.CachePtrTy); in EmitMetaClass()
3704 values.addNullPointer(ObjCTypes.Int8PtrTy); in EmitMetaClass()
3715 assert(GV->getValueType() == ObjCTypes.ClassTy && in EmitMetaClass()
3742 GV = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassTy, false, in EmitMetaClassRef()
3746 assert(GV->getValueType() == ObjCTypes.ClassTy && in EmitMetaClassRef()
3756 GV = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassTy, false, in EmitSuperClassRef()
3760 assert(GV->getValueType() == ObjCTypes.ClassTy && in EmitSuperClassRef()
3794 ID, ID->getClassInterface(), ObjCTypes, isMetaclass); in EmitClassExtension()
3798 return llvm::Constant::getNullValue(ObjCTypes.ClassExtensionPtrTy); in EmitClassExtension()
3802 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ClassExtensionTy); in EmitClassExtension()
3805 auto values = builder.beginStruct(ObjCTypes.ClassExtensionTy); in EmitClassExtension()
3806 values.addInt(ObjCTypes.IntTy, size); in EmitClassExtension()
3835 return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy); in EmitIvarList()
3842 auto ivars = ivarList.beginArray(ObjCTypes.IvarTy); in EmitIvarList()
3850 auto ivar = ivars.beginStruct(ObjCTypes.IvarTy); in EmitIvarList()
3853 ivar.addInt(ObjCTypes.IntTy, ComputeIvarBaseOffset(CGM, OID, IVD)); in EmitIvarList()
3862 return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy); in EmitIvarList()
3866 ivarList.fillPlaceholderWithInt(countSlot, ObjCTypes.IntTy, count); in EmitIvarList()
3878 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.IvarListPtrTy); in EmitIvarList()
3889 auto description = builder.beginStruct(ObjCTypes.MethodDescriptionTy); in emitMethodDescriptionConstant()
3891 ObjCTypes.SelectorPtrTy); in emitMethodDescriptionConstant()
3908 auto method = builder.beginStruct(ObjCTypes.MethodTy); in emitMethodConstant()
3910 ObjCTypes.SelectorPtrTy); in emitMethodConstant()
3912 method.addBitCast(fn, ObjCTypes.Int8PtrTy); in emitMethodConstant()
3980 ? ObjCTypes.MethodDescriptionListPtrTy in emitMethodList()
3981 : ObjCTypes.MethodListPtrTy); in emitMethodList()
3988 values.addInt(ObjCTypes.IntTy, methods.size()); in emitMethodList()
3989 auto methodArray = values.beginArray(ObjCTypes.MethodDescriptionTy); in emitMethodList()
3998 ObjCTypes.MethodDescriptionListPtrTy); in emitMethodList()
4004 values.addNullPointer(ObjCTypes.Int8PtrTy); in emitMethodList()
4005 values.addInt(ObjCTypes.IntTy, methods.size()); in emitMethodList()
4006 auto methodArray = values.beginArray(ObjCTypes.MethodTy); in emitMethodList()
4015 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.MethodListPtrTy); in emitMethodList()
4262 return ObjCTypes.getGetPropertyFn(); in GetPropertyGetFunction()
4266 return ObjCTypes.getSetPropertyFn(); in GetPropertySetFunction()
4271 return ObjCTypes.getOptimizedSetPropertyFn(atomic, copy); in GetOptimizedPropertySetFunction()
4275 return ObjCTypes.getCopyStructFn(); in GetGetStructFunction()
4279 return ObjCTypes.getCopyStructFn(); in GetSetStructFunction()
4283 return ObjCTypes.getCppAtomicObjectFunction(); in GetCppAtomicObjectGetFunction()
4287 return ObjCTypes.getCppAtomicObjectFunction(); in GetCppAtomicObjectSetFunction()
4291 return ObjCTypes.getEnumerationMutationFn(); in EnumerationMutationFunction()
4309 ObjCTypesHelper &ObjCTypes; member
4314 ObjCTypesHelper *ObjCTypes) in PerformFragileFinally()
4316 ExceptionData(ExceptionData), ObjCTypes(*ObjCTypes) {} in PerformFragileFinally()
4329 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionTryExitFn(), in Emit()
4359 CGF.EmitNounwindRuntimeCall(ObjCTypes.getSyncExitFn(), SyncArg); in Emit()
4648 SyncArg = CGF.Builder.CreateBitCast(SyncArg, ObjCTypes.ObjectPtrTy); in EmitTryOrSynchronizedStmt()
4649 CGF.EmitNounwindRuntimeCall(ObjCTypes.getSyncEnterFn(), SyncArg); in EmitTryOrSynchronizedStmt()
4658 Address ExceptionData = CGF.CreateTempAlloca(ObjCTypes.ExceptionDataTy, in EmitTryOrSynchronizedStmt()
4689 &ObjCTypes); in EmitTryOrSynchronizedStmt()
4694 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionTryEnterFn(), in EmitTryOrSynchronizedStmt()
4701 ObjCTypes.ExceptionDataTy, ExceptionData.getPointer(), GEPIndexes, in EmitTryOrSynchronizedStmt()
4704 ObjCTypes.getSetJmpFn(), SetJmpBuffer, "setjmp_result"); in EmitTryOrSynchronizedStmt()
4741 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionExtractFn(), in EmitTryOrSynchronizedStmt()
4764 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionTryEnterFn(), in EmitTryOrSynchronizedStmt()
4768 CGF.EmitNounwindRuntimeCall(ObjCTypes.getSetJmpFn(), in EmitTryOrSynchronizedStmt()
4841 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionMatchFn(), in EmitTryOrSynchronizedStmt()
4899 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionExtractFn(), in EmitTryOrSynchronizedStmt()
4931 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionExtractFn(), in EmitTryOrSynchronizedStmt()
4936 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionThrowFn(), in EmitTryOrSynchronizedStmt()
4952 CGF.Builder.CreateBitCast(Exception, ObjCTypes.ObjectPtrTy); in EmitThrowStmt()
4959 CGF.EmitRuntimeCall(ObjCTypes.getExceptionThrowFn(), ExceptionAsObject) in EmitThrowStmt()
4975 ObjCTypes.PtrObjectPtrTy); in EmitObjCWeakRead()
4977 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcReadWeakFn(), in EmitObjCWeakRead()
4994 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCWeakAssign()
4996 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCWeakAssign()
4997 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCWeakAssign()
4999 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignWeakFn(), in EmitObjCWeakAssign()
5015 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCGlobalAssign()
5017 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCGlobalAssign()
5018 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCGlobalAssign()
5021 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignGlobalFn(), in EmitObjCGlobalAssign()
5024 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignThreadLocalFn(), in EmitObjCGlobalAssign()
5041 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCIvarAssign()
5043 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCIvarAssign()
5044 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCIvarAssign()
5046 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignIvarFn(), args); in EmitObjCIvarAssign()
5060 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCStrongCastAssign()
5062 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCStrongCastAssign()
5063 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCStrongCastAssign()
5065 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignStrongCastFn(), in EmitObjCStrongCastAssign()
5073 SrcPtr = CGF.Builder.CreateBitCast(SrcPtr, ObjCTypes.Int8PtrTy); in EmitGCMemmoveCollectable()
5074 DestPtr = CGF.Builder.CreateBitCast(DestPtr, ObjCTypes.Int8PtrTy); in EmitGCMemmoveCollectable()
5076 CGF.EmitNounwindRuntimeCall(ObjCTypes.GcMemmoveCollectableFn(), args); in EmitGCMemmoveCollectable()
5219 uint64_t Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ModuleTy); in EmitModuleInfo()
5222 auto values = builder.beginStruct(ObjCTypes.ModuleTy); in EmitModuleInfo()
5223 values.addInt(ObjCTypes.LongTy, ModuleVersion); in EmitModuleInfo()
5224 values.addInt(ObjCTypes.LongTy, Size); in EmitModuleInfo()
5239 return llvm::Constant::getNullValue(ObjCTypes.SymtabPtrTy); in EmitModuleSymbols()
5243 values.addInt(ObjCTypes.LongTy, 0); in EmitModuleSymbols()
5244 values.addNullPointer(ObjCTypes.SelectorPtrTy); in EmitModuleSymbols()
5245 values.addInt(ObjCTypes.ShortTy, NumClasses); in EmitModuleSymbols()
5246 values.addInt(ObjCTypes.ShortTy, NumCategories); in EmitModuleSymbols()
5250 auto array = values.beginArray(ObjCTypes.Int8PtrTy); in EmitModuleSymbols()
5259 array.addBitCast(DefinedClasses[i], ObjCTypes.Int8PtrTy); in EmitModuleSymbols()
5262 array.addBitCast(DefinedCategories[i], ObjCTypes.Int8PtrTy); in EmitModuleSymbols()
5269 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.SymtabPtrTy); in EmitModuleSymbols()
5281 ObjCTypes.ClassPtrTy); in EmitClassRefFromId()
5296 return EmitClassRefViaRuntime(CGF, ID, ObjCTypes); in EmitClassRef()
5319 ObjCTypes.SelectorPtrTy); in EmitSelectorAddr()
5348 const ObjCCommonTypesHelper &ObjCTypes) { in GetIvarLayoutName() argument
5349 return llvm::Constant::getNullValue(ObjCTypes.Int8PtrTy); in GetIvarLayoutName()
5742 auto values = builder.beginStruct(ObjCTypes.ProtocolTy); in FinishModule()
5743 values.addNullPointer(ObjCTypes.ProtocolExtensionPtrTy); in FinishModule()
5745 values.addNullPointer(ObjCTypes.ProtocolListPtrTy); in FinishModule()
5746 values.addNullPointer(ObjCTypes.MethodDescriptionListPtrTy); in FinishModule()
5747 values.addNullPointer(ObjCTypes.MethodDescriptionListPtrTy); in FinishModule()
5779 : CGObjCCommonMac(cgm), ObjCTypes(cgm), ObjCEmptyCacheVar(nullptr), in CGObjCNonFragileABIMac()
6236 ObjCTypes.Int8PtrTy); in AddModuleClassList()
6238 llvm::ConstantArray::get(llvm::ArrayType::get(ObjCTypes.Int8PtrTy, in AddModuleClassList()
6390 auto values = builder.beginStruct(ObjCTypes.ClassRonfABITy); in BuildClassRoTInitializer()
6392 values.addInt(ObjCTypes.IntTy, flags); in BuildClassRoTInitializer()
6393 values.addInt(ObjCTypes.IntTy, InstanceStart); in BuildClassRoTInitializer()
6394 values.addInt(ObjCTypes.IntTy, InstanceSize); in BuildClassRoTInitializer()
6396 ? GetIvarLayoutName(nullptr, ObjCTypes) in BuildClassRoTInitializer()
6426 values.addNullPointer(ObjCTypes.IvarListnfABIPtrTy); in BuildClassRoTInitializer()
6427 values.add(GetIvarLayoutName(nullptr, ObjCTypes)); in BuildClassRoTInitializer()
6430 ID, ID->getClassInterface(), ObjCTypes, true)); in BuildClassRoTInitializer()
6436 ID, ID->getClassInterface(), ObjCTypes, false)); in BuildClassRoTInitializer()
6466 auto values = builder.beginStruct(ObjCTypes.ClassnfABITy); in BuildClassObject()
6471 values.addNullPointer(ObjCTypes.ClassnfABIPtrTy); in BuildClassObject()
6484 CGM.getDataLayout().getABITypeAlignment(ObjCTypes.ClassnfABITy))); in BuildClassObject()
6537 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.CacheTy, false, in GenerateClass()
6547 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ImpnfABITy, false, in GenerateClass()
6552 llvm::ConstantPointerNull::get(ObjCTypes.ImpnfABITy->getPointerTo()); in GenerateClass()
6557 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ClassnfABITy); in GenerateClass()
6676 ObjCTypes.getExternalProtocolPtrTy()); in GenerateProtocolRef()
6721 auto values = builder.beginStruct(ObjCTypes.CategorynfABITy); in GenerateCategory()
6757 OCD, Category, ObjCTypes, false)); in GenerateCategory()
6759 OCD, Category, ObjCTypes, true)); in GenerateCategory()
6761 values.addNullPointer(ObjCTypes.ProtocolListnfABIPtrTy); in GenerateCategory()
6762 values.addNullPointer(ObjCTypes.PropertyListPtrTy); in GenerateCategory()
6763 values.addNullPointer(ObjCTypes.PropertyListPtrTy); in GenerateCategory()
6766 unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.CategorynfABITy); in GenerateCategory()
6767 values.addInt(ObjCTypes.IntTy, Size); in GenerateCategory()
6796 auto method = builder.beginStruct(ObjCTypes.MethodTy); in emitMethodConstant()
6798 ObjCTypes.SelectorPtrTy); in emitMethodConstant()
6803 method.addNullPointer(ObjCTypes.Int8PtrTy); in emitMethodConstant()
6807 method.addBitCast(fn, ObjCTypes.Int8PtrTy); in emitMethodConstant()
6826 return llvm::Constant::getNullValue(ObjCTypes.MethodListnfABIPtrTy); in emitMethodList()
6870 unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.MethodTy); in emitMethodList()
6871 values.addInt(ObjCTypes.IntTy, Size); in emitMethodList()
6873 values.addInt(ObjCTypes.IntTy, methods.size()); in emitMethodList()
6874 auto methodArray = values.beginArray(ObjCTypes.MethodTy); in emitMethodList()
6881 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.MethodListnfABIPtrTy); in emitMethodList()
6897 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.IvarOffsetVarTy, in ObjCIvarOffsetVariable()
6924 llvm::ConstantInt::get(ObjCTypes.IvarOffsetVarTy, Offset)); in EmitIvarOffsetVar()
6926 CGM.getDataLayout().getABITypeAlignment(ObjCTypes.IvarOffsetVarTy))); in EmitIvarOffsetVar()
6972 ivarList.addInt(ObjCTypes.IntTy, in EmitIvarList()
6973 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.IvarnfABITy)); in EmitIvarList()
6975 auto ivars = ivarList.beginArray(ObjCTypes.IvarnfABITy); in EmitIvarList()
6988 auto ivar = ivars.beginStruct(ObjCTypes.IvarnfABITy); in EmitIvarList()
6999 ivar.addInt(ObjCTypes.IntTy, Align); in EmitIvarList()
7005 ivar.addInt(ObjCTypes.IntTy, Size); in EmitIvarList()
7012 return llvm::Constant::getNullValue(ObjCTypes.IvarListnfABIPtrTy); in EmitIvarList()
7017 ivarList.fillPlaceholderWithInt(ivarCountSlot, ObjCTypes.IntTy, ivarCount); in EmitIvarList()
7023 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.IvarListnfABIPtrTy); in EmitIvarList()
7040 Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ProtocolnfABITy, in GetOrEmitProtocolRef()
7086 auto values = builder.beginStruct(ObjCTypes.ProtocolnfABITy); in GetOrEmitProtocol()
7089 values.addNullPointer(ObjCTypes.ObjectPtrTy); in GetOrEmitProtocol()
7105 nullptr, PD, ObjCTypes, false)); in GetOrEmitProtocol()
7107 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ProtocolnfABITy); in GetOrEmitProtocol()
7108 values.addInt(ObjCTypes.IntTy, Size); in GetOrEmitProtocol()
7109 values.addInt(ObjCTypes.IntTy, 0); in GetOrEmitProtocol()
7113 ObjCTypes)); in GetOrEmitProtocol()
7116 values.addNullPointer(ObjCTypes.Int8PtrTy); in GetOrEmitProtocol()
7120 nullptr, PD, ObjCTypes, true)); in GetOrEmitProtocol()
7149 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ProtocolnfABIPtrTy, in GetOrEmitProtocol()
7155 CGM.getDataLayout().getABITypeAlignment(ObjCTypes.ProtocolnfABIPtrTy))); in GetOrEmitProtocol()
7178 return llvm::Constant::getNullValue(ObjCTypes.ProtocolListnfABIPtrTy); in EmitProtocolList()
7189 return llvm::Constant::getNullValue(ObjCTypes.ProtocolListnfABIPtrTy); in EmitProtocolList()
7197 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.ProtocolListnfABIPtrTy); in EmitProtocolList()
7204 auto array = values.beginArray(ObjCTypes.ProtocolnfABIPtrTy); in EmitProtocolList()
7208 array.addNullPointer(ObjCTypes.ProtocolnfABIPtrTy); in EmitProtocolList()
7211 values.fillPlaceholderWithInt(countSlot, ObjCTypes.LongTy, count); in EmitProtocolList()
7216 ObjCTypes.ProtocolListnfABIPtrTy); in EmitProtocolList()
7244 ObjCTypes.IvarOffsetVarTy, in EmitIvarOffset()
7259 if (ObjCTypes.IvarOffsetVarTy == ObjCTypes.IntTy) in EmitIvarOffset()
7261 IvarOffsetValue, ObjCTypes.LongTy, true, "ivar.conv"); in EmitIvarOffset()
7303 arg0 = CGF.Builder.CreateBitCast(arg0, ObjCTypes.ObjectPtrTy); in EmitVTableMessageSend()
7308 args.add(RValue::get(nullptr), ObjCTypes.MessageRefCPtrTy); in EmitVTableMessageSend()
7327 fn = ObjCTypes.getMessageSendSuper2StretFixupFn(); in EmitVTableMessageSend()
7331 fn = ObjCTypes.getMessageSendStretFixupFn(); in EmitVTableMessageSend()
7335 fn = ObjCTypes.getMessageSendFpretFixupFn(); in EmitVTableMessageSend()
7339 fn = ObjCTypes.getMessageSendSuper2FixupFn(); in EmitVTableMessageSend()
7342 fn = ObjCTypes.getMessageSendFixupFn(); in EmitVTableMessageSend()
7381 Address(CGF.Builder.CreateBitCast(messageRef, ObjCTypes.MessageRefPtrTy), in EmitVTableMessageSend()
7415 false, CallArgs, Method, Class, ObjCTypes); in GenerateMessageSend()
7441 if (!GV || GV->getType() != ObjCTypes.ClassnfABITy->getPointerTo()) { in GetClassGlobal()
7442 auto *NewGV = new llvm::GlobalVariable(ObjCTypes.ClassnfABITy, false, L, in GetClassGlobal()
7469 ClassGV = llvm::ConstantExpr::getPointerCast(ClassGV, ObjCTypes.Int8PtrTy); in GetClassGlobalForClassRef()
7485 ObjCTypes.getLoadClassrefFn(), Entry, "load_classref_result"); in EmitLoadOfClassRef()
7505 assert(ClassGV->getType() == ObjCTypes.ClassnfABIPtrTy && in EmitClassRefFromId()
7530 return EmitClassRefViaRuntime(CGF, ID, ObjCTypes); in EmitClassRef()
7573 Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassnfABIPtrTy, in EmitMetaClassRef()
7616 CGF.CreateTempAlloca(ObjCTypes.SuperTy, CGF.getPointerAlign(), in GenerateMessageSendSuper()
7620 CGF.Builder.CreateBitCast(Receiver, ObjCTypes.ObjectPtrTy); in GenerateMessageSendSuper()
7640 ObjCSuper.getPointer(), ObjCTypes.SuperPtrCTy, in GenerateMessageSendSuper()
7643 ObjCSuper.getPointer(), ObjCTypes.SuperPtrCTy, in GenerateMessageSendSuper()
7644 true, CallArgs, Method, Class, ObjCTypes); in GenerateMessageSendSuper()
7663 ObjCTypes.SelectorPtrTy); in EmitSelectorAddr()
7667 CGM.getModule(), ObjCTypes.SelectorPtrTy, false, in EmitSelectorAddr()
7690 src = (Size == 4 ? CGF.Builder.CreateBitCast(src, ObjCTypes.IntTy) in EmitObjCIvarAssign()
7691 : CGF.Builder.CreateBitCast(src, ObjCTypes.LongTy)); in EmitObjCIvarAssign()
7692 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCIvarAssign()
7694 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCIvarAssign()
7695 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCIvarAssign()
7697 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignIvarFn(), args); in EmitObjCIvarAssign()
7710 src = (Size == 4 ? CGF.Builder.CreateBitCast(src, ObjCTypes.IntTy) in EmitObjCStrongCastAssign()
7711 : CGF.Builder.CreateBitCast(src, ObjCTypes.LongTy)); in EmitObjCStrongCastAssign()
7712 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCStrongCastAssign()
7714 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCStrongCastAssign()
7715 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCStrongCastAssign()
7717 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignStrongCastFn(), in EmitObjCStrongCastAssign()
7726 SrcPtr = CGF.Builder.CreateBitCast(SrcPtr, ObjCTypes.Int8PtrTy); in EmitGCMemmoveCollectable()
7727 DestPtr = CGF.Builder.CreateBitCast(DestPtr, ObjCTypes.Int8PtrTy); in EmitGCMemmoveCollectable()
7729 CGF.EmitNounwindRuntimeCall(ObjCTypes.GcMemmoveCollectableFn(), args); in EmitGCMemmoveCollectable()
7739 AddrWeakObj = CGF.Builder.CreateBitCast(AddrWeakObj, ObjCTypes.PtrObjectPtrTy); in EmitObjCWeakRead()
7741 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcReadWeakFn(), in EmitObjCWeakRead()
7756 src = (Size == 4 ? CGF.Builder.CreateBitCast(src, ObjCTypes.IntTy) in EmitObjCWeakAssign()
7757 : CGF.Builder.CreateBitCast(src, ObjCTypes.LongTy)); in EmitObjCWeakAssign()
7758 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCWeakAssign()
7760 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCWeakAssign()
7761 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCWeakAssign()
7763 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignWeakFn(), in EmitObjCWeakAssign()
7777 src = (Size == 4 ? CGF.Builder.CreateBitCast(src, ObjCTypes.IntTy) in EmitObjCGlobalAssign()
7778 : CGF.Builder.CreateBitCast(src, ObjCTypes.LongTy)); in EmitObjCGlobalAssign()
7779 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCGlobalAssign()
7781 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCGlobalAssign()
7782 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCGlobalAssign()
7785 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignGlobalFn(), in EmitObjCGlobalAssign()
7788 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignThreadLocalFn(), in EmitObjCGlobalAssign()
7795 EmitAtSynchronizedStmt(CGF, S, ObjCTypes.getSyncEnterFn(), in EmitSynchronizedStmt()
7796 ObjCTypes.getSyncExitFn()); in EmitSynchronizedStmt()
7806 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.EHTypeTy, false, in GetEHType()
7827 EmitTryCatchStmt(CGF, S, ObjCTypes.getObjCBeginCatchFn(), in EmitTryStmt()
7828 ObjCTypes.getObjCEndCatchFn(), in EmitTryStmt()
7829 ObjCTypes.getExceptionRethrowFn()); in EmitTryStmt()
7838 Exception = CGF.Builder.CreateBitCast(Exception, ObjCTypes.ObjectPtrTy); in EmitThrowStmt()
7840 CGF.EmitRuntimeCallOrInvoke(ObjCTypes.getExceptionThrowFn(), Exception); in EmitThrowStmt()
7844 CGF.EmitRuntimeCallOrInvoke(ObjCTypes.getExceptionRethrowFn()); in EmitThrowStmt()
7869 Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.EHTypeTy, in GetInterfaceEHType()
7884 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.Int8PtrTy, false, in GetInterfaceEHType()
7893 auto values = builder.beginStruct(ObjCTypes.EHTypeTy); in GetInterfaceEHType()