Lines Matching refs:VTable
929 llvm::GlobalVariable *VTable = in GenerateConstructionVTable() local
933 VTable->setUnnamedAddr(llvm::GlobalValue::UnnamedAddr::Global); in GenerateConstructionVTable()
942 VTable->hasLocalLinkage()); in GenerateConstructionVTable()
943 components.finishAndSetAsInitializer(VTable); in GenerateConstructionVTable()
947 assert(!VTable->isDeclaration() && "Shouldn't set properties on declaration"); in GenerateConstructionVTable()
948 CGM.setGVProperties(VTable, RD); in GenerateConstructionVTable()
950 CGM.EmitVTableTypeMetadata(RD, VTable, *VTLayout.get()); in GenerateConstructionVTable()
953 RemoveHwasanMetadata(VTable); in GenerateConstructionVTable()
954 if (!VTable->isDSOLocal()) in GenerateConstructionVTable()
955 GenerateRelativeVTableAlias(VTable, OutName); in GenerateConstructionVTable()
958 return VTable; in GenerateConstructionVTable()
985 void CodeGenVTables::GenerateRelativeVTableAlias(llvm::GlobalVariable *VTable, in GenerateRelativeVTableAlias() argument
989 assert(!VTable->isDSOLocal() && "This should be called only if the vtable is " in GenerateRelativeVTableAlias()
995 if (VTable->hasAvailableExternallyLinkage()) in GenerateRelativeVTableAlias()
1002 VTable->setName(AliasName + ".local"); in GenerateRelativeVTableAlias()
1004 auto Linkage = VTable->getLinkage(); in GenerateRelativeVTableAlias()
1010 VTableAlias = llvm::GlobalAlias::create(VTable->getValueType(), in GenerateRelativeVTableAlias()
1011 VTable->getAddressSpace(), Linkage, in GenerateRelativeVTableAlias()
1014 assert(VTableAlias->getValueType() == VTable->getValueType()); in GenerateRelativeVTableAlias()
1017 VTableAlias->setVisibility(VTable->getVisibility()); in GenerateRelativeVTableAlias()
1018 VTableAlias->setUnnamedAddr(VTable->getUnnamedAddr()); in GenerateRelativeVTableAlias()
1021 if (!VTable->hasComdat()) { in GenerateRelativeVTableAlias()
1026 VTable->setLinkage(llvm::GlobalValue::PrivateLinkage); in GenerateRelativeVTableAlias()
1029 VTable->setVisibility(llvm::GlobalValue::HiddenVisibility); in GenerateRelativeVTableAlias()
1032 VTableAlias->setAliasee(VTable); in GenerateRelativeVTableAlias()
1306 llvm::GlobalVariable *VTable, in EmitVTableTypeMetadata() argument
1343 AddVTableTypeMetadata(VTable, ComponentWidth * AP.Offset, AP.Base); in EmitVTableTypeMetadata()
1356 VTable->addTypeMetadata((ComponentWidth * I).getQuantity(), MD); in EmitVTableTypeMetadata()
1366 VTable->setVCallVisibilityMetadata(TypeVis); in EmitVTableTypeMetadata()