mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-02 03:06:07 +00:00
Revert "[opaque pointer type] update for LLVM API change"
This was the wrong direction to take anyway (because ultimately the GlobalValue needed the pointee type again and /it/ used PointerType::getElementType eventually anyway)... let's go a different way. This reverts commit r236161. llvm-svn: 247586
This commit is contained in:
parent
16a2f3e302
commit
aff29d3031
@ -185,8 +185,8 @@ bool CodeGenModule::TryEmitDefinitionAsAlias(GlobalDecl AliasDecl,
|
||||
return true;
|
||||
|
||||
// Create the alias with no name.
|
||||
auto *Alias =
|
||||
llvm::GlobalAlias::create(AliasType, Linkage, "", Aliasee, &getModule());
|
||||
auto *Alias = llvm::GlobalAlias::create(AliasType->getElementType(), 0,
|
||||
Linkage, "", Aliasee, &getModule());
|
||||
|
||||
// Switch any previous uses to the alias.
|
||||
if (Entry) {
|
||||
|
@ -1065,7 +1065,7 @@ llvm::Value *CGObjCGNU::GetSelector(CodeGenFunction &CGF, Selector Sel,
|
||||
}
|
||||
if (!SelValue) {
|
||||
SelValue = llvm::GlobalAlias::create(
|
||||
SelectorTy, llvm::GlobalValue::PrivateLinkage,
|
||||
SelectorTy->getElementType(), 0, llvm::GlobalValue::PrivateLinkage,
|
||||
".objc_selector_" + Sel.getAsString(), &TheModule);
|
||||
Types.emplace_back(TypeEncoding, SelValue);
|
||||
}
|
||||
@ -1278,14 +1278,14 @@ CGObjCGNU::GenerateMessageSendSuper(CodeGenFunction &CGF,
|
||||
if (IsClassMessage) {
|
||||
if (!MetaClassPtrAlias) {
|
||||
MetaClassPtrAlias = llvm::GlobalAlias::create(
|
||||
IdTy, llvm::GlobalValue::InternalLinkage,
|
||||
IdTy->getElementType(), 0, llvm::GlobalValue::InternalLinkage,
|
||||
".objc_metaclass_ref" + Class->getNameAsString(), &TheModule);
|
||||
}
|
||||
ReceiverClass = MetaClassPtrAlias;
|
||||
} else {
|
||||
if (!ClassPtrAlias) {
|
||||
ClassPtrAlias = llvm::GlobalAlias::create(
|
||||
IdTy, llvm::GlobalValue::InternalLinkage,
|
||||
IdTy->getElementType(), 0, llvm::GlobalValue::InternalLinkage,
|
||||
".objc_class_ref" + Class->getNameAsString(), &TheModule);
|
||||
}
|
||||
ReceiverClass = ClassPtrAlias;
|
||||
|
@ -2772,7 +2772,7 @@ void CodeGenModule::EmitAliasDefinition(GlobalDecl GD) {
|
||||
|
||||
// Create the new alias itself, but don't set a name yet.
|
||||
auto *GA = llvm::GlobalAlias::create(
|
||||
cast<llvm::PointerType>(Aliasee->getType()),
|
||||
cast<llvm::PointerType>(Aliasee->getType())->getElementType(), 0,
|
||||
llvm::Function::ExternalLinkage, "", Aliasee, &getModule());
|
||||
|
||||
if (Entry) {
|
||||
|
@ -3354,8 +3354,8 @@ static void emitConstructorDestructorAlias(CodeGenModule &CGM,
|
||||
llvm::PointerType *AliasType = Aliasee->getType();
|
||||
|
||||
// Create the alias with no name.
|
||||
auto *Alias = llvm::GlobalAlias::create(AliasType, Linkage, "", Aliasee,
|
||||
&CGM.getModule());
|
||||
auto *Alias = llvm::GlobalAlias::create(
|
||||
AliasType->getElementType(), 0, Linkage, "", Aliasee, &CGM.getModule());
|
||||
|
||||
// Switch any previous uses to the alias.
|
||||
if (Entry) {
|
||||
|
@ -1734,8 +1734,9 @@ llvm::GlobalVariable *MicrosoftCXXABI::getAddrOfVTable(const CXXRecordDecl *RD,
|
||||
C->setSelectionKind(llvm::Comdat::Largest);
|
||||
}
|
||||
VFTable = llvm::GlobalAlias::create(
|
||||
cast<llvm::PointerType>(VTableGEP->getType()), VFTableLinkage,
|
||||
VFTableName.str(), VTableGEP, &CGM.getModule());
|
||||
cast<llvm::SequentialType>(VTableGEP->getType())->getElementType(),
|
||||
/*AddressSpace=*/0, VFTableLinkage, VFTableName.str(), VTableGEP,
|
||||
&CGM.getModule());
|
||||
VFTable->setUnnamedAddr(true);
|
||||
} else {
|
||||
// We don't need a GlobalAlias to be a symbol for the VTable if we won't
|
||||
|
Loading…
x
Reference in New Issue
Block a user