Improve linkage of RTTI data structures. Introduce CodeGenModule::GetAddrOfRTTI which figures out the right linkage of the RTTI information for the given type and whether it should be defined or not. I will migrate clients over to GetAddrOfRTTI in subsequent commits (with tests).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91098 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGVtable.cpp b/lib/CodeGen/CGVtable.cpp
index ef680d9..752f69c 100644
--- a/lib/CodeGen/CGVtable.cpp
+++ b/lib/CodeGen/CGVtable.cpp
@@ -203,7 +203,7 @@
LLVMPointerWidth(cgm.getContext().Target.getPointerWidth(0)) {
Ptr8Ty = llvm::PointerType::get(llvm::Type::getInt8Ty(VMContext), 0);
if (BuildVtable)
- rtti = cgm.GenerateRTTIRef(MostDerivedClass);
+ rtti = CGM.GetAddrOfRTTI(MostDerivedClass);
}
// getVtableComponents - Returns a reference to the vtable components.
@@ -1409,8 +1409,6 @@
}
Vtable = GenerateVtable(Linkage, /*GenerateDefinition=*/true, RD, RD, 0);
-
- CGM.GenerateRTTI(RD);
GenerateVTT(Linkage, RD);
}