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 __anon94bd74120111::CGObjCMac
1400 ObjCNonFragileABITypesHelper ObjCTypes; member in __anon94bd74120111::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()
2099 llvm::Type *ClassTyPtr = llvm::PointerType::getUnqual(ObjCTypes.ClassTy); in GenerateMessageSendSuper()
2110 Target = CGF.Builder.CreateStructGEP(ObjCTypes.ClassTy, Target, 0); in GenerateMessageSendSuper()
2116 CGF.Builder.CreateStructGEP(ObjCTypes.ClassTy, MetaClassPtr, 1); in GenerateMessageSendSuper()
2125 ClassPtr = CGF.Builder.CreateStructGEP(ObjCTypes.ClassTy, ClassPtr, 1); in GenerateMessageSendSuper()
2136 ObjCTypes.SuperPtrCTy, true, CallArgs, Method, Class, in GenerateMessageSendSuper()
2137 ObjCTypes); in GenerateMessageSendSuper()
2151 Method, Class, ObjCTypes); in GenerateMessageSend()
2174 const ObjCCommonTypesHelper &ObjCTypes) { in EmitMessageSend() argument
2190 Arg0 = CGF.Builder.CreateBitCast(Arg0, ObjCTypes.ObjectPtrTy); in EmitMessageSend()
2237 Fn = (ObjCABI == 2) ? ObjCTypes.getSendStretFn2(IsSuper) in EmitMessageSend()
2238 : ObjCTypes.getSendStretFn(IsSuper); in EmitMessageSend()
2240 Fn = (ObjCABI == 2) ? ObjCTypes.getSendFpretFn2(IsSuper) in EmitMessageSend()
2241 : ObjCTypes.getSendFpretFn(IsSuper); in EmitMessageSend()
2243 Fn = (ObjCABI == 2) ? ObjCTypes.getSendFp2RetFn2(IsSuper) in EmitMessageSend()
2244 : ObjCTypes.getSendFp2retFn(IsSuper); in EmitMessageSend()
2250 Fn = (ObjCABI == 2) ? ObjCTypes.getSendFn2(IsSuper) in EmitMessageSend()
2251 : ObjCTypes.getSendFn(IsSuper); in EmitMessageSend()
3033 ObjCTypes.getExternalProtocolPtrTy()); in GenerateProtocolRef()
3058 ObjCCommonTypesHelper &ObjCTypes) { in EmitClassRefViaRuntime() argument
3059 llvm::FunctionCallee lookUpClassFn = ObjCTypes.getLookUpClassFn(); in EmitClassRefViaRuntime()
3106 auto values = builder.beginStruct(ObjCTypes.ProtocolTy); in GetOrEmitProtocol()
3141 Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ProtocolTy, in GetOrEmitProtocolRef()
3175 ObjCTypes); in EmitProtocolExtension()
3179 ObjCTypes, false); in EmitProtocolExtension()
3182 PD, ObjCTypes, true); in EmitProtocolExtension()
3190 return llvm::Constant::getNullValue(ObjCTypes.ProtocolExtensionPtrTy); in EmitProtocolExtension()
3194 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ProtocolExtensionTy); in EmitProtocolExtension()
3197 auto values = builder.beginStruct(ObjCTypes.ProtocolExtensionTy); in EmitProtocolExtension()
3198 values.addInt(ObjCTypes.IntTy, size); in EmitProtocolExtension()
3224 return llvm::Constant::getNullValue(ObjCTypes.ProtocolListPtrTy); in EmitProtocolList()
3230 values.addNullPointer(ObjCTypes.ProtocolListPtrTy); in EmitProtocolList()
3235 auto refsArray = values.beginArray(ObjCTypes.ProtocolPtrTy); in EmitProtocolList()
3242 refsArray.addNullPointer(ObjCTypes.ProtocolPtrTy); in EmitProtocolList()
3245 values.fillPlaceholderWithInt(countSlot, ObjCTypes.LongTy, count); in EmitProtocolList()
3253 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.ProtocolListPtrTy); in EmitProtocolList()
3288 const ObjCCommonTypesHelper &ObjCTypes, in EmitPropertyList() argument
3296 return llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy); in EmitPropertyList()
3336 return llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy); in EmitPropertyList()
3339 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.PropertyTy); in EmitPropertyList()
3343 values.addInt(ObjCTypes.IntTy, propertySize); in EmitPropertyList()
3344 values.addInt(ObjCTypes.IntTy, Properties.size()); in EmitPropertyList()
3345 auto propertiesArray = values.beginArray(ObjCTypes.PropertyTy); in EmitPropertyList()
3347 auto property = propertiesArray.beginStruct(ObjCTypes.PropertyTy); in EmitPropertyList()
3361 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.PropertyListPtrTy); in EmitPropertyList()
3367 const ObjCCommonTypesHelper &ObjCTypes) { in EmitProtocolMethodTypes() argument
3370 return llvm::Constant::getNullValue(ObjCTypes.Int8PtrPtrTy); in EmitProtocolMethodTypes()
3372 llvm::ArrayType *AT = llvm::ArrayType::get(ObjCTypes.Int8PtrTy, in EmitProtocolMethodTypes()
3382 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.Int8PtrPtrTy); in EmitProtocolMethodTypes()
3398 unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.CategoryTy); in GenerateCategory()
3413 auto Values = Builder.beginStruct(ObjCTypes.CategoryTy); in GenerateCategory()
3439 Values.addNullPointer(ObjCTypes.ProtocolListPtrTy); in GenerateCategory()
3441 Values.addInt(ObjCTypes.IntTy, Size); in GenerateCategory()
3446 OCD, Category, ObjCTypes, false)); in GenerateCategory()
3448 OCD, Category, ObjCTypes, true)); in GenerateCategory()
3450 Values.addNullPointer(ObjCTypes.PropertyListPtrTy); in GenerateCategory()
3451 Values.addNullPointer(ObjCTypes.PropertyListPtrTy); in GenerateCategory()
3623 auto values = builder.beginStruct(ObjCTypes.ClassTy); in GenerateClass()
3630 ObjCTypes.ClassPtrTy); in GenerateClass()
3632 values.addNullPointer(ObjCTypes.ClassPtrTy); in GenerateClass()
3636 values.addInt(ObjCTypes.LongTy, 0); in GenerateClass()
3637 values.addInt(ObjCTypes.LongTy, Flags); in GenerateClass()
3638 values.addInt(ObjCTypes.LongTy, Size.getQuantity()); in GenerateClass()
3643 values.addNullPointer(ObjCTypes.CachePtrTy); in GenerateClass()
3655 assert(GV->getValueType() == ObjCTypes.ClassTy && in GenerateClass()
3673 unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ClassTy); in EmitMetaClass()
3679 auto values = builder.beginStruct(ObjCTypes.ClassTy); in EmitMetaClass()
3685 ObjCTypes.ClassPtrTy); in EmitMetaClass()
3691 ObjCTypes.ClassPtrTy); in EmitMetaClass()
3693 values.addNullPointer(ObjCTypes.ClassPtrTy); in EmitMetaClass()
3697 values.addInt(ObjCTypes.LongTy, 0); in EmitMetaClass()
3698 values.addInt(ObjCTypes.LongTy, Flags); in EmitMetaClass()
3699 values.addInt(ObjCTypes.LongTy, Size); in EmitMetaClass()
3704 values.addNullPointer(ObjCTypes.CachePtrTy); in EmitMetaClass()
3707 values.addNullPointer(ObjCTypes.Int8PtrTy); in EmitMetaClass()
3718 assert(GV->getValueType() == ObjCTypes.ClassTy && in EmitMetaClass()
3745 GV = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassTy, false, in EmitMetaClassRef()
3749 assert(GV->getValueType() == ObjCTypes.ClassTy && in EmitMetaClassRef()
3759 GV = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassTy, false, in EmitSuperClassRef()
3763 assert(GV->getValueType() == ObjCTypes.ClassTy && in EmitSuperClassRef()
3797 ID, ID->getClassInterface(), ObjCTypes, isMetaclass); in EmitClassExtension()
3801 return llvm::Constant::getNullValue(ObjCTypes.ClassExtensionPtrTy); in EmitClassExtension()
3805 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ClassExtensionTy); in EmitClassExtension()
3808 auto values = builder.beginStruct(ObjCTypes.ClassExtensionTy); in EmitClassExtension()
3809 values.addInt(ObjCTypes.IntTy, size); in EmitClassExtension()
3838 return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy); in EmitIvarList()
3845 auto ivars = ivarList.beginArray(ObjCTypes.IvarTy); in EmitIvarList()
3853 auto ivar = ivars.beginStruct(ObjCTypes.IvarTy); in EmitIvarList()
3856 ivar.addInt(ObjCTypes.IntTy, ComputeIvarBaseOffset(CGM, OID, IVD)); in EmitIvarList()
3865 return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy); in EmitIvarList()
3869 ivarList.fillPlaceholderWithInt(countSlot, ObjCTypes.IntTy, count); in EmitIvarList()
3881 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.IvarListPtrTy); in EmitIvarList()
3892 auto description = builder.beginStruct(ObjCTypes.MethodDescriptionTy); in emitMethodDescriptionConstant()
3894 ObjCTypes.SelectorPtrTy); in emitMethodDescriptionConstant()
3911 auto method = builder.beginStruct(ObjCTypes.MethodTy); in emitMethodConstant()
3913 ObjCTypes.SelectorPtrTy); in emitMethodConstant()
3915 method.addBitCast(fn, ObjCTypes.Int8PtrTy); in emitMethodConstant()
3983 ? ObjCTypes.MethodDescriptionListPtrTy in emitMethodList()
3984 : ObjCTypes.MethodListPtrTy); in emitMethodList()
3991 values.addInt(ObjCTypes.IntTy, methods.size()); in emitMethodList()
3992 auto methodArray = values.beginArray(ObjCTypes.MethodDescriptionTy); in emitMethodList()
4001 ObjCTypes.MethodDescriptionListPtrTy); in emitMethodList()
4007 values.addNullPointer(ObjCTypes.Int8PtrTy); in emitMethodList()
4008 values.addInt(ObjCTypes.IntTy, methods.size()); in emitMethodList()
4009 auto methodArray = values.beginArray(ObjCTypes.MethodTy); in emitMethodList()
4018 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.MethodListPtrTy); in emitMethodList()
4265 return ObjCTypes.getGetPropertyFn(); in GetPropertyGetFunction()
4269 return ObjCTypes.getSetPropertyFn(); in GetPropertySetFunction()
4274 return ObjCTypes.getOptimizedSetPropertyFn(atomic, copy); in GetOptimizedPropertySetFunction()
4278 return ObjCTypes.getCopyStructFn(); in GetGetStructFunction()
4282 return ObjCTypes.getCopyStructFn(); in GetSetStructFunction()
4286 return ObjCTypes.getCppAtomicObjectFunction(); in GetCppAtomicObjectGetFunction()
4290 return ObjCTypes.getCppAtomicObjectFunction(); in GetCppAtomicObjectSetFunction()
4294 return ObjCTypes.getEnumerationMutationFn(); in EnumerationMutationFunction()
4312 ObjCTypesHelper &ObjCTypes; member
4317 ObjCTypesHelper *ObjCTypes) in PerformFragileFinally()
4319 ExceptionData(ExceptionData), ObjCTypes(*ObjCTypes) {} in PerformFragileFinally()
4332 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionTryExitFn(), in Emit()
4362 CGF.EmitNounwindRuntimeCall(ObjCTypes.getSyncExitFn(), SyncArg); in Emit()
4651 SyncArg = CGF.Builder.CreateBitCast(SyncArg, ObjCTypes.ObjectPtrTy); in EmitTryOrSynchronizedStmt()
4652 CGF.EmitNounwindRuntimeCall(ObjCTypes.getSyncEnterFn(), SyncArg); in EmitTryOrSynchronizedStmt()
4661 Address ExceptionData = CGF.CreateTempAlloca(ObjCTypes.ExceptionDataTy, in EmitTryOrSynchronizedStmt()
4692 &ObjCTypes); in EmitTryOrSynchronizedStmt()
4697 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionTryEnterFn(), in EmitTryOrSynchronizedStmt()
4704 ObjCTypes.ExceptionDataTy, ExceptionData.getPointer(), GEPIndexes, in EmitTryOrSynchronizedStmt()
4707 ObjCTypes.getSetJmpFn(), SetJmpBuffer, "setjmp_result"); in EmitTryOrSynchronizedStmt()
4744 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionExtractFn(), in EmitTryOrSynchronizedStmt()
4767 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionTryEnterFn(), in EmitTryOrSynchronizedStmt()
4771 CGF.EmitNounwindRuntimeCall(ObjCTypes.getSetJmpFn(), in EmitTryOrSynchronizedStmt()
4844 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionMatchFn(), in EmitTryOrSynchronizedStmt()
4902 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionExtractFn(), in EmitTryOrSynchronizedStmt()
4934 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionExtractFn(), in EmitTryOrSynchronizedStmt()
4939 CGF.EmitNounwindRuntimeCall(ObjCTypes.getExceptionThrowFn(), in EmitTryOrSynchronizedStmt()
4955 CGF.Builder.CreateBitCast(Exception, ObjCTypes.ObjectPtrTy); in EmitThrowStmt()
4962 CGF.EmitRuntimeCall(ObjCTypes.getExceptionThrowFn(), ExceptionAsObject) in EmitThrowStmt()
4978 ObjCTypes.PtrObjectPtrTy); in EmitObjCWeakRead()
4980 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcReadWeakFn(), in EmitObjCWeakRead()
4997 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCWeakAssign()
4999 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCWeakAssign()
5000 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCWeakAssign()
5002 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignWeakFn(), in EmitObjCWeakAssign()
5018 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCGlobalAssign()
5020 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCGlobalAssign()
5021 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCGlobalAssign()
5024 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignGlobalFn(), in EmitObjCGlobalAssign()
5027 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignThreadLocalFn(), in EmitObjCGlobalAssign()
5044 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCIvarAssign()
5046 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCIvarAssign()
5047 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCIvarAssign()
5049 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignIvarFn(), args); in EmitObjCIvarAssign()
5063 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCStrongCastAssign()
5065 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCStrongCastAssign()
5066 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCStrongCastAssign()
5068 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignStrongCastFn(), in EmitObjCStrongCastAssign()
5076 SrcPtr = CGF.Builder.CreateBitCast(SrcPtr, ObjCTypes.Int8PtrTy); in EmitGCMemmoveCollectable()
5077 DestPtr = CGF.Builder.CreateBitCast(DestPtr, ObjCTypes.Int8PtrTy); in EmitGCMemmoveCollectable()
5079 CGF.EmitNounwindRuntimeCall(ObjCTypes.GcMemmoveCollectableFn(), args); in EmitGCMemmoveCollectable()
5222 uint64_t Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ModuleTy); in EmitModuleInfo()
5225 auto values = builder.beginStruct(ObjCTypes.ModuleTy); in EmitModuleInfo()
5226 values.addInt(ObjCTypes.LongTy, ModuleVersion); in EmitModuleInfo()
5227 values.addInt(ObjCTypes.LongTy, Size); in EmitModuleInfo()
5242 return llvm::Constant::getNullValue(ObjCTypes.SymtabPtrTy); in EmitModuleSymbols()
5246 values.addInt(ObjCTypes.LongTy, 0); in EmitModuleSymbols()
5247 values.addNullPointer(ObjCTypes.SelectorPtrTy); in EmitModuleSymbols()
5248 values.addInt(ObjCTypes.ShortTy, NumClasses); in EmitModuleSymbols()
5249 values.addInt(ObjCTypes.ShortTy, NumCategories); in EmitModuleSymbols()
5253 auto array = values.beginArray(ObjCTypes.Int8PtrTy); in EmitModuleSymbols()
5262 array.addBitCast(DefinedClasses[i], ObjCTypes.Int8PtrTy); in EmitModuleSymbols()
5265 array.addBitCast(DefinedCategories[i], ObjCTypes.Int8PtrTy); in EmitModuleSymbols()
5272 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.SymtabPtrTy); in EmitModuleSymbols()
5284 ObjCTypes.ClassPtrTy); in EmitClassRefFromId()
5300 return EmitClassRefViaRuntime(CGF, ID, ObjCTypes); in EmitClassRef()
5323 ObjCTypes.SelectorPtrTy); in EmitSelectorAddr()
5352 const ObjCCommonTypesHelper &ObjCTypes) { in GetIvarLayoutName() argument
5353 return llvm::Constant::getNullValue(ObjCTypes.Int8PtrTy); in GetIvarLayoutName()
5746 auto values = builder.beginStruct(ObjCTypes.ProtocolTy); in FinishModule()
5747 values.addNullPointer(ObjCTypes.ProtocolExtensionPtrTy); in FinishModule()
5749 values.addNullPointer(ObjCTypes.ProtocolListPtrTy); in FinishModule()
5750 values.addNullPointer(ObjCTypes.MethodDescriptionListPtrTy); in FinishModule()
5751 values.addNullPointer(ObjCTypes.MethodDescriptionListPtrTy); in FinishModule()
5783 : CGObjCCommonMac(cgm), ObjCTypes(cgm), ObjCEmptyCacheVar(nullptr), in CGObjCNonFragileABIMac()
6240 ObjCTypes.Int8PtrTy); in AddModuleClassList()
6242 llvm::ConstantArray::get(llvm::ArrayType::get(ObjCTypes.Int8PtrTy, in AddModuleClassList()
6394 auto values = builder.beginStruct(ObjCTypes.ClassRonfABITy); in BuildClassRoTInitializer()
6396 values.addInt(ObjCTypes.IntTy, flags); in BuildClassRoTInitializer()
6397 values.addInt(ObjCTypes.IntTy, InstanceStart); in BuildClassRoTInitializer()
6398 values.addInt(ObjCTypes.IntTy, InstanceSize); in BuildClassRoTInitializer()
6400 ? GetIvarLayoutName(nullptr, ObjCTypes) in BuildClassRoTInitializer()
6430 values.addNullPointer(ObjCTypes.IvarListnfABIPtrTy); in BuildClassRoTInitializer()
6431 values.add(GetIvarLayoutName(nullptr, ObjCTypes)); in BuildClassRoTInitializer()
6434 ID, ID->getClassInterface(), ObjCTypes, true)); in BuildClassRoTInitializer()
6440 ID, ID->getClassInterface(), ObjCTypes, false)); in BuildClassRoTInitializer()
6470 auto values = builder.beginStruct(ObjCTypes.ClassnfABITy); in BuildClassObject()
6475 values.addNullPointer(ObjCTypes.ClassnfABIPtrTy); in BuildClassObject()
6488 CGM.getDataLayout().getABITypeAlignment(ObjCTypes.ClassnfABITy))); in BuildClassObject()
6541 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.CacheTy, false, in GenerateClass()
6551 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ImpnfABITy, false, in GenerateClass()
6556 llvm::ConstantPointerNull::get(ObjCTypes.ImpnfABITy->getPointerTo()); in GenerateClass()
6561 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ClassnfABITy); in GenerateClass()
6680 ObjCTypes.getExternalProtocolPtrTy()); in GenerateProtocolRef()
6725 auto values = builder.beginStruct(ObjCTypes.CategorynfABITy); in GenerateCategory()
6761 OCD, Category, ObjCTypes, false)); in GenerateCategory()
6763 OCD, Category, ObjCTypes, true)); in GenerateCategory()
6765 values.addNullPointer(ObjCTypes.ProtocolListnfABIPtrTy); in GenerateCategory()
6766 values.addNullPointer(ObjCTypes.PropertyListPtrTy); in GenerateCategory()
6767 values.addNullPointer(ObjCTypes.PropertyListPtrTy); in GenerateCategory()
6770 unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.CategorynfABITy); in GenerateCategory()
6771 values.addInt(ObjCTypes.IntTy, Size); in GenerateCategory()
6800 auto method = builder.beginStruct(ObjCTypes.MethodTy); in emitMethodConstant()
6802 ObjCTypes.SelectorPtrTy); in emitMethodConstant()
6807 method.addNullPointer(ObjCTypes.Int8PtrTy); in emitMethodConstant()
6811 method.addBitCast(fn, ObjCTypes.Int8PtrTy); in emitMethodConstant()
6830 return llvm::Constant::getNullValue(ObjCTypes.MethodListnfABIPtrTy); in emitMethodList()
6874 unsigned Size = CGM.getDataLayout().getTypeAllocSize(ObjCTypes.MethodTy); in emitMethodList()
6875 values.addInt(ObjCTypes.IntTy, Size); in emitMethodList()
6877 values.addInt(ObjCTypes.IntTy, methods.size()); in emitMethodList()
6878 auto methodArray = values.beginArray(ObjCTypes.MethodTy); in emitMethodList()
6885 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.MethodListnfABIPtrTy); in emitMethodList()
6901 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.IvarOffsetVarTy, in ObjCIvarOffsetVariable()
6928 llvm::ConstantInt::get(ObjCTypes.IvarOffsetVarTy, Offset)); in EmitIvarOffsetVar()
6930 CGM.getDataLayout().getABITypeAlignment(ObjCTypes.IvarOffsetVarTy))); in EmitIvarOffsetVar()
6976 ivarList.addInt(ObjCTypes.IntTy, in EmitIvarList()
6977 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.IvarnfABITy)); in EmitIvarList()
6979 auto ivars = ivarList.beginArray(ObjCTypes.IvarnfABITy); in EmitIvarList()
6992 auto ivar = ivars.beginStruct(ObjCTypes.IvarnfABITy); in EmitIvarList()
7003 ivar.addInt(ObjCTypes.IntTy, Align); in EmitIvarList()
7009 ivar.addInt(ObjCTypes.IntTy, Size); in EmitIvarList()
7016 return llvm::Constant::getNullValue(ObjCTypes.IvarListnfABIPtrTy); in EmitIvarList()
7021 ivarList.fillPlaceholderWithInt(ivarCountSlot, ObjCTypes.IntTy, ivarCount); in EmitIvarList()
7027 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.IvarListnfABIPtrTy); in EmitIvarList()
7044 Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ProtocolnfABITy, in GetOrEmitProtocolRef()
7090 auto values = builder.beginStruct(ObjCTypes.ProtocolnfABITy); in GetOrEmitProtocol()
7093 values.addNullPointer(ObjCTypes.ObjectPtrTy); in GetOrEmitProtocol()
7109 nullptr, PD, ObjCTypes, false)); in GetOrEmitProtocol()
7111 CGM.getDataLayout().getTypeAllocSize(ObjCTypes.ProtocolnfABITy); in GetOrEmitProtocol()
7112 values.addInt(ObjCTypes.IntTy, Size); in GetOrEmitProtocol()
7113 values.addInt(ObjCTypes.IntTy, 0); in GetOrEmitProtocol()
7117 ObjCTypes)); in GetOrEmitProtocol()
7120 values.addNullPointer(ObjCTypes.Int8PtrTy); in GetOrEmitProtocol()
7124 nullptr, PD, ObjCTypes, true)); in GetOrEmitProtocol()
7153 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ProtocolnfABIPtrTy, in GetOrEmitProtocol()
7159 CGM.getDataLayout().getABITypeAlignment(ObjCTypes.ProtocolnfABIPtrTy))); in GetOrEmitProtocol()
7182 return llvm::Constant::getNullValue(ObjCTypes.ProtocolListnfABIPtrTy); in EmitProtocolList()
7193 return llvm::Constant::getNullValue(ObjCTypes.ProtocolListnfABIPtrTy); in EmitProtocolList()
7201 return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.ProtocolListnfABIPtrTy); in EmitProtocolList()
7208 auto array = values.beginArray(ObjCTypes.ProtocolnfABIPtrTy); in EmitProtocolList()
7212 array.addNullPointer(ObjCTypes.ProtocolnfABIPtrTy); in EmitProtocolList()
7215 values.fillPlaceholderWithInt(countSlot, ObjCTypes.LongTy, count); in EmitProtocolList()
7220 ObjCTypes.ProtocolListnfABIPtrTy); in EmitProtocolList()
7248 ObjCTypes.IvarOffsetVarTy, in EmitIvarOffset()
7264 if (ObjCTypes.IvarOffsetVarTy == ObjCTypes.IntTy) in EmitIvarOffset()
7266 IvarOffsetValue, ObjCTypes.LongTy, true, "ivar.conv"); in EmitIvarOffset()
7308 arg0 = CGF.Builder.CreateBitCast(arg0, ObjCTypes.ObjectPtrTy); in EmitVTableMessageSend()
7313 args.add(RValue::get(nullptr), ObjCTypes.MessageRefCPtrTy); in EmitVTableMessageSend()
7332 fn = ObjCTypes.getMessageSendSuper2StretFixupFn(); in EmitVTableMessageSend()
7336 fn = ObjCTypes.getMessageSendStretFixupFn(); in EmitVTableMessageSend()
7340 fn = ObjCTypes.getMessageSendFpretFixupFn(); in EmitVTableMessageSend()
7344 fn = ObjCTypes.getMessageSendSuper2FixupFn(); in EmitVTableMessageSend()
7347 fn = ObjCTypes.getMessageSendFixupFn(); in EmitVTableMessageSend()
7386 Address(CGF.Builder.CreateBitCast(messageRef, ObjCTypes.MessageRefPtrTy), in EmitVTableMessageSend()
7420 false, CallArgs, Method, Class, ObjCTypes); in GenerateMessageSend()
7446 if (!GV || GV->getType() != ObjCTypes.ClassnfABITy->getPointerTo()) { in GetClassGlobal()
7447 auto *NewGV = new llvm::GlobalVariable(ObjCTypes.ClassnfABITy, false, L, in GetClassGlobal()
7474 ClassGV = llvm::ConstantExpr::getPointerCast(ClassGV, ObjCTypes.Int8PtrTy); in GetClassGlobalForClassRef()
7490 ObjCTypes.getLoadClassrefFn(), Entry, "load_classref_result"); in EmitLoadOfClassRef()
7510 assert(ClassGV->getType() == ObjCTypes.ClassnfABIPtrTy && in EmitClassRefFromId()
7535 return EmitClassRefViaRuntime(CGF, ID, ObjCTypes); in EmitClassRef()
7578 Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassnfABIPtrTy, in EmitMetaClassRef()
7586 return CGF.Builder.CreateAlignedLoad(ObjCTypes.ClassnfABIPtrTy, Entry, Align); in EmitMetaClassRef()
7621 CGF.CreateTempAlloca(ObjCTypes.SuperTy, CGF.getPointerAlign(), in GenerateMessageSendSuper()
7625 CGF.Builder.CreateBitCast(Receiver, ObjCTypes.ObjectPtrTy); in GenerateMessageSendSuper()
7645 ObjCSuper.getPointer(), ObjCTypes.SuperPtrCTy, in GenerateMessageSendSuper()
7648 ObjCSuper.getPointer(), ObjCTypes.SuperPtrCTy, in GenerateMessageSendSuper()
7649 true, CallArgs, Method, Class, ObjCTypes); in GenerateMessageSendSuper()
7668 ObjCTypes.SelectorPtrTy); in EmitSelectorAddr()
7672 CGM.getModule(), ObjCTypes.SelectorPtrTy, false, in EmitSelectorAddr()
7695 src = (Size == 4 ? CGF.Builder.CreateBitCast(src, ObjCTypes.IntTy) in EmitObjCIvarAssign()
7696 : CGF.Builder.CreateBitCast(src, ObjCTypes.LongTy)); in EmitObjCIvarAssign()
7697 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCIvarAssign()
7699 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCIvarAssign()
7700 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCIvarAssign()
7702 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignIvarFn(), args); in EmitObjCIvarAssign()
7715 src = (Size == 4 ? CGF.Builder.CreateBitCast(src, ObjCTypes.IntTy) in EmitObjCStrongCastAssign()
7716 : CGF.Builder.CreateBitCast(src, ObjCTypes.LongTy)); in EmitObjCStrongCastAssign()
7717 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCStrongCastAssign()
7719 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCStrongCastAssign()
7720 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCStrongCastAssign()
7722 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignStrongCastFn(), in EmitObjCStrongCastAssign()
7731 SrcPtr = CGF.Builder.CreateBitCast(SrcPtr, ObjCTypes.Int8PtrTy); in EmitGCMemmoveCollectable()
7732 DestPtr = CGF.Builder.CreateBitCast(DestPtr, ObjCTypes.Int8PtrTy); in EmitGCMemmoveCollectable()
7734 CGF.EmitNounwindRuntimeCall(ObjCTypes.GcMemmoveCollectableFn(), args); in EmitGCMemmoveCollectable()
7744 AddrWeakObj = CGF.Builder.CreateBitCast(AddrWeakObj, ObjCTypes.PtrObjectPtrTy); in EmitObjCWeakRead()
7746 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcReadWeakFn(), in EmitObjCWeakRead()
7761 src = (Size == 4 ? CGF.Builder.CreateBitCast(src, ObjCTypes.IntTy) in EmitObjCWeakAssign()
7762 : CGF.Builder.CreateBitCast(src, ObjCTypes.LongTy)); in EmitObjCWeakAssign()
7763 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCWeakAssign()
7765 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCWeakAssign()
7766 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCWeakAssign()
7768 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignWeakFn(), in EmitObjCWeakAssign()
7782 src = (Size == 4 ? CGF.Builder.CreateBitCast(src, ObjCTypes.IntTy) in EmitObjCGlobalAssign()
7783 : CGF.Builder.CreateBitCast(src, ObjCTypes.LongTy)); in EmitObjCGlobalAssign()
7784 src = CGF.Builder.CreateIntToPtr(src, ObjCTypes.Int8PtrTy); in EmitObjCGlobalAssign()
7786 src = CGF.Builder.CreateBitCast(src, ObjCTypes.ObjectPtrTy); in EmitObjCGlobalAssign()
7787 dst = CGF.Builder.CreateBitCast(dst, ObjCTypes.PtrObjectPtrTy); in EmitObjCGlobalAssign()
7790 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignGlobalFn(), in EmitObjCGlobalAssign()
7793 CGF.EmitNounwindRuntimeCall(ObjCTypes.getGcAssignThreadLocalFn(), in EmitObjCGlobalAssign()
7800 EmitAtSynchronizedStmt(CGF, S, ObjCTypes.getSyncEnterFn(), in EmitSynchronizedStmt()
7801 ObjCTypes.getSyncExitFn()); in EmitSynchronizedStmt()
7811 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.EHTypeTy, false, in GetEHType()
7832 EmitTryCatchStmt(CGF, S, ObjCTypes.getObjCBeginCatchFn(), in EmitTryStmt()
7833 ObjCTypes.getObjCEndCatchFn(), in EmitTryStmt()
7834 ObjCTypes.getExceptionRethrowFn()); in EmitTryStmt()
7843 Exception = CGF.Builder.CreateBitCast(Exception, ObjCTypes.ObjectPtrTy); in EmitThrowStmt()
7845 CGF.EmitRuntimeCallOrInvoke(ObjCTypes.getExceptionThrowFn(), Exception); in EmitThrowStmt()
7849 CGF.EmitRuntimeCallOrInvoke(ObjCTypes.getExceptionRethrowFn()); in EmitThrowStmt()
7874 Entry = new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.EHTypeTy, in GetInterfaceEHType()
7889 new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.Int8PtrTy, false, in GetInterfaceEHType()
7898 auto values = builder.beginStruct(ObjCTypes.EHTypeTy); in GetInterfaceEHType()