Lines Matching defs:VTable
962 llvm::GlobalVariable *VTable =
966 VTable->setUnnamedAddr(llvm::GlobalValue::UnnamedAddr::Global);
975 VTable->hasLocalLinkage());
976 components.finishAndSetAsInitializer(VTable);
980 assert(!VTable->isDeclaration() && "Shouldn't set properties on declaration");
981 CGM.setGVProperties(VTable, RD);
983 CGM.EmitVTableTypeMetadata(RD, VTable, *VTLayout.get());
986 RemoveHwasanMetadata(VTable);
987 if (!VTable->isDSOLocal())
988 GenerateRelativeVTableAlias(VTable, OutName);
991 return VTable;
1012 // If the VTable is not dso_local, then we will not be able to indicate that
1013 // the VTable does not need a relocation and move into rodata. A frequent
1018 void CodeGenVTables::GenerateRelativeVTableAlias(llvm::GlobalVariable *VTable,
1022 assert(!VTable->isDSOLocal() && "This should be called only if the vtable is "
1028 if (VTable->hasAvailableExternallyLinkage())
1035 VTable->setName(AliasName + ".local");
1037 auto Linkage = VTable->getLinkage();
1043 VTableAlias = llvm::GlobalAlias::create(VTable->getValueType(),
1044 VTable->getAddressSpace(), Linkage,
1047 assert(VTableAlias->getValueType() == VTable->getValueType());
1050 VTableAlias->setVisibility(VTable->getVisibility());
1051 VTableAlias->setUnnamedAddr(VTable->getUnnamedAddr());
1054 if (!VTable->hasComdat()) {
1059 VTable->setLinkage(llvm::GlobalValue::PrivateLinkage);
1062 VTable->setVisibility(llvm::GlobalValue::HiddenVisibility);
1065 VTableAlias->setAliasee(VTable);
1209 assert(RD->isDynamicClass() && "Non-dynamic classes have no VTable.");
1349 llvm::GlobalVariable *VTable,
1386 AddVTableTypeMetadata(VTable, ComponentWidth * AP.Offset, AP.Base);
1399 VTable->addTypeMetadata((ComponentWidth * I).getQuantity(), MD);
1409 VTable->setVCallVisibilityMetadata(TypeVis);