@@ -2014,7 +2014,7 @@ CGObjCCommonMac::GenerateConstantNSString(const StringLiteral *Literal) {
20142014 // Don't enforce the target's minimum global alignment, since the only use
20152015 // of the string is via this class initializer.
20162016 GV->setAlignment (llvm::Align (1 ));
2017- Fields.addBitCast (GV, CGM. Int8PtrTy );
2017+ Fields.add (GV);
20182018
20192019 // String length.
20202020 Fields.addInt (CGM.IntTy , StringLength);
@@ -3557,8 +3557,7 @@ void CGObjCMac::GenerateClass(const ObjCImplementationDecl *ID) {
35573557 // Record a reference to the super class.
35583558 LazySymbols.insert (Super->getIdentifier ());
35593559
3560- values.addBitCast (GetClassName (Super->getObjCRuntimeNameAsString ()),
3561- ObjCTypes.ClassPtrTy );
3560+ values.add (GetClassName (Super->getObjCRuntimeNameAsString ()));
35623561 } else {
35633562 values.addNullPointer (ObjCTypes.ClassPtrTy );
35643563 }
@@ -3612,14 +3611,12 @@ llvm::Constant *CGObjCMac::EmitMetaClass(const ObjCImplementationDecl *ID,
36123611 const ObjCInterfaceDecl *Root = ID->getClassInterface ();
36133612 while (const ObjCInterfaceDecl *Super = Root->getSuperClass ())
36143613 Root = Super;
3615- values.addBitCast (GetClassName (Root->getObjCRuntimeNameAsString ()),
3616- ObjCTypes.ClassPtrTy );
3614+ values.add (GetClassName (Root->getObjCRuntimeNameAsString ()));
36173615 // The super class for the metaclass is emitted as the name of the
36183616 // super class. The runtime fixes this up to point to the
36193617 // *metaclass* for the super class.
36203618 if (ObjCInterfaceDecl *Super = ID->getClassInterface ()->getSuperClass ()) {
3621- values.addBitCast (GetClassName (Super->getObjCRuntimeNameAsString ()),
3622- ObjCTypes.ClassPtrTy );
3619+ values.add (GetClassName (Super->getObjCRuntimeNameAsString ()));
36233620 } else {
36243621 values.addNullPointer (ObjCTypes.ClassPtrTy );
36253622 }
@@ -3815,8 +3812,7 @@ llvm::Constant *CGObjCMac::EmitIvarList(const ObjCImplementationDecl *ID,
38153812void CGObjCMac::emitMethodDescriptionConstant (ConstantArrayBuilder &builder,
38163813 const ObjCMethodDecl *MD) {
38173814 auto description = builder.beginStruct (ObjCTypes.MethodDescriptionTy );
3818- description.addBitCast (GetMethodVarName (MD->getSelector ()),
3819- ObjCTypes.SelectorPtrTy );
3815+ description.add (GetMethodVarName (MD->getSelector ()));
38203816 description.add (GetMethodVarType (MD));
38213817 description.finishAndAddTo (builder);
38223818}
@@ -3834,10 +3830,9 @@ void CGObjCMac::emitMethodConstant(ConstantArrayBuilder &builder,
38343830 assert (fn && " no definition registered for method" );
38353831
38363832 auto method = builder.beginStruct (ObjCTypes.MethodTy );
3837- method.addBitCast (GetMethodVarName (MD->getSelector ()),
3838- ObjCTypes.SelectorPtrTy );
3833+ method.add (GetMethodVarName (MD->getSelector ()));
38393834 method.add (GetMethodVarType (MD));
3840- method.addBitCast (fn, ObjCTypes. Int8PtrTy );
3835+ method.add (fn);
38413836 method.finishAndAddTo (builder);
38423837}
38433838
@@ -5191,10 +5186,10 @@ llvm::Constant *CGObjCMac::EmitModuleSymbols() {
51915186 if (ID->isWeakImported () && !IMP->isWeakImported ())
51925187 DefinedClasses[i]->setLinkage (llvm::GlobalVariable::ExternalLinkage);
51935188
5194- array.addBitCast (DefinedClasses[i], ObjCTypes. Int8PtrTy );
5189+ array.add (DefinedClasses[i]);
51955190 }
51965191 for (unsigned i=0 ; i<NumCategories; i++)
5197- array.addBitCast (DefinedCategories[i], ObjCTypes. Int8PtrTy );
5192+ array.add (DefinedCategories[i]);
51985193
51995194 array.finishAndAddTo (values);
52005195
@@ -6735,8 +6730,7 @@ void CGObjCNonFragileABIMac::emitMethodConstant(ConstantArrayBuilder &builder,
67356730 const ObjCMethodDecl *MD,
67366731 bool forProtocol) {
67376732 auto method = builder.beginStruct (ObjCTypes.MethodTy );
6738- method.addBitCast (GetMethodVarName (MD->getSelector ()),
6739- ObjCTypes.SelectorPtrTy );
6733+ method.add (GetMethodVarName (MD->getSelector ()));
67406734 method.add (GetMethodVarType (MD));
67416735
67426736 if (forProtocol) {
@@ -6745,7 +6739,7 @@ void CGObjCNonFragileABIMac::emitMethodConstant(ConstantArrayBuilder &builder,
67456739 } else {
67466740 llvm::Function *fn = GetMethodDefinition (MD);
67476741 assert (fn && " no definition for method?" );
6748- method.addBitCast (fn, ObjCTypes. Int8PtrProgramASTy );
6742+ method.add (fn);
67496743 }
67506744
67516745 method.finishAndAddTo (builder);
0 commit comments