mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-11 08:29:25 +00:00
Revert "Revert Don't create new comdats in CodeGen"
This reverts commit r226173, adding r226038 back. No change in this commit, but clang was changed to also produce trivial comdats for costructors, destructors and vtables when needed. Original message: Don't create new comdats in CodeGen. This patch stops the implicit creation of comdats during codegen. Clang now sets the comdat explicitly when it is required. With this patch clang and gcc now produce the same result in pr19848. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226242 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -480,13 +480,13 @@ static unsigned getEncodedLinkage(const GlobalValue &GV) {
|
||||
case GlobalValue::ExternalLinkage:
|
||||
return 0;
|
||||
case GlobalValue::WeakAnyLinkage:
|
||||
return 1;
|
||||
return 16;
|
||||
case GlobalValue::AppendingLinkage:
|
||||
return 2;
|
||||
case GlobalValue::InternalLinkage:
|
||||
return 3;
|
||||
case GlobalValue::LinkOnceAnyLinkage:
|
||||
return 4;
|
||||
return 18;
|
||||
case GlobalValue::ExternalWeakLinkage:
|
||||
return 7;
|
||||
case GlobalValue::CommonLinkage:
|
||||
@@ -494,9 +494,9 @@ static unsigned getEncodedLinkage(const GlobalValue &GV) {
|
||||
case GlobalValue::PrivateLinkage:
|
||||
return 9;
|
||||
case GlobalValue::WeakODRLinkage:
|
||||
return 10;
|
||||
return 17;
|
||||
case GlobalValue::LinkOnceODRLinkage:
|
||||
return 11;
|
||||
return 19;
|
||||
case GlobalValue::AvailableExternallyLinkage:
|
||||
return 12;
|
||||
}
|
||||
@@ -629,7 +629,7 @@ static void WriteModuleInfo(const Module *M, const ValueEnumerator &VE,
|
||||
Log2_32_Ceil(MaxGlobalType+1)));
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // Constant.
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 6)); // Initializer.
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 4)); // Linkage.
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 5)); // Linkage.
|
||||
if (MaxAlignment == 0) // Alignment.
|
||||
Abbv->Add(BitCodeAbbrevOp(0));
|
||||
else {
|
||||
|
Reference in New Issue
Block a user