@@ -1918,9 +1918,8 @@ class CGObjCGNUstep2 : public CGObjCGNUstep {
1918
1918
classDecl->protocol_end ());
1919
1919
SmallVector<llvm::Constant *, 16 > Protocols;
1920
1920
for (const auto *I : RuntimeProtocols)
1921
- Protocols.push_back (
1922
- llvm::ConstantExpr::getBitCast (GenerateProtocolRef (I),
1923
- ProtocolPtrTy));
1921
+ Protocols.push_back (GenerateProtocolRef (I));
1922
+
1924
1923
if (Protocols.empty ())
1925
1924
classFields.addNullPointer (PtrTy);
1926
1925
else
@@ -1938,7 +1937,7 @@ class CGObjCGNUstep2 : public CGObjCGNUstep {
1938
1937
1939
1938
auto *classRefSymbol = GetClassVar (className);
1940
1939
classRefSymbol->setSection (sectionName<ClassReferenceSection>());
1941
- classRefSymbol->setInitializer (llvm::ConstantExpr::getBitCast ( classStruct, IdTy) );
1940
+ classRefSymbol->setInitializer (classStruct);
1942
1941
1943
1942
if (IsCOFF) {
1944
1943
// we can't import a class struct.
@@ -1971,8 +1970,7 @@ class CGObjCGNUstep2 : public CGObjCGNUstep {
1971
1970
classStruct->setName (SymbolForClass (className));
1972
1971
}
1973
1972
if (MetaClassPtrAlias) {
1974
- MetaClassPtrAlias->replaceAllUsesWith (
1975
- llvm::ConstantExpr::getBitCast (metaclass, IdTy));
1973
+ MetaClassPtrAlias->replaceAllUsesWith (metaclass);
1976
1974
MetaClassPtrAlias->eraseFromParent ();
1977
1975
MetaClassPtrAlias = nullptr ;
1978
1976
}
@@ -2443,9 +2441,8 @@ llvm::Constant *CGObjCGNUstep::GetEHType(QualType T) {
2443
2441
nullptr , vtableName);
2444
2442
}
2445
2443
llvm::Constant *Two = llvm::ConstantInt::get (IntTy, 2 );
2446
- auto *BVtable = llvm::ConstantExpr::getBitCast (
2447
- llvm::ConstantExpr::getGetElementPtr (Vtable->getValueType (), Vtable, Two),
2448
- PtrToInt8Ty);
2444
+ auto *BVtable =
2445
+ llvm::ConstantExpr::getGetElementPtr (Vtable->getValueType (), Vtable, Two);
2449
2446
2450
2447
llvm::Constant *typeName =
2451
2448
ExportUniqueString (className, " __objc_eh_typename_" );
@@ -2459,7 +2456,7 @@ llvm::Constant *CGObjCGNUstep::GetEHType(QualType T) {
2459
2456
CGM.getPointerAlign (),
2460
2457
/* constant*/ false ,
2461
2458
llvm::GlobalValue::LinkOnceODRLinkage);
2462
- return llvm::ConstantExpr::getBitCast (TI, PtrToInt8Ty) ;
2459
+ return TI ;
2463
2460
}
2464
2461
2465
2462
// / Generate an NSConstantString object.
@@ -3130,7 +3127,6 @@ llvm::Constant *
3130
3127
CGObjCGNU::GenerateEmptyProtocol (StringRef ProtocolName) {
3131
3128
llvm::Constant *ProtocolList = GenerateProtocolList ({});
3132
3129
llvm::Constant *MethodList = GenerateProtocolMethodList ({});
3133
- MethodList = llvm::ConstantExpr::getBitCast (MethodList, PtrToInt8Ty);
3134
3130
// Protocols are objects containing lists of the methods implemented and
3135
3131
// protocols adopted.
3136
3132
ConstantInitBuilder Builder (CGM);
@@ -3358,11 +3354,9 @@ void CGObjCGNU::GenerateCategory(const ObjCCategoryImplDecl *OCD) {
3358
3354
}
3359
3355
}
3360
3356
3361
- Categories.push_back (llvm::ConstantExpr::getBitCast (
3362
- Elements.finishAndCreateGlobal (
3363
- std::string (" .objc_category_" )+ClassName+CategoryName,
3364
- CGM.getPointerAlign ()),
3365
- PtrTy));
3357
+ Categories.push_back (Elements.finishAndCreateGlobal (
3358
+ std::string (" .objc_category_" ) + ClassName + CategoryName,
3359
+ CGM.getPointerAlign ()));
3366
3360
}
3367
3361
3368
3362
llvm::Constant *CGObjCGNU::GeneratePropertyList (const Decl *Container,
@@ -3665,20 +3659,17 @@ void CGObjCGNU::GenerateClass(const ObjCImplementationDecl *OID) {
3665
3659
3666
3660
// Resolve the class aliases, if they exist.
3667
3661
if (ClassPtrAlias) {
3668
- ClassPtrAlias->replaceAllUsesWith (
3669
- llvm::ConstantExpr::getBitCast (ClassStruct, IdTy));
3662
+ ClassPtrAlias->replaceAllUsesWith (ClassStruct);
3670
3663
ClassPtrAlias->eraseFromParent ();
3671
3664
ClassPtrAlias = nullptr ;
3672
3665
}
3673
3666
if (MetaClassPtrAlias) {
3674
- MetaClassPtrAlias->replaceAllUsesWith (
3675
- llvm::ConstantExpr::getBitCast (MetaClassStruct, IdTy));
3667
+ MetaClassPtrAlias->replaceAllUsesWith (MetaClassStruct);
3676
3668
MetaClassPtrAlias->eraseFromParent ();
3677
3669
MetaClassPtrAlias = nullptr ;
3678
3670
}
3679
3671
3680
3672
// Add class structure to list to be added to the symtab later
3681
- ClassStruct = llvm::ConstantExpr::getBitCast (ClassStruct, PtrToInt8Ty);
3682
3673
Classes.push_back (ClassStruct);
3683
3674
}
3684
3675
0 commit comments