[llvm-commits] [llvm-gcc-4.2] r123444 - in /llvm-gcc-4.2/trunk/gcc: llvm-backend.cpp llvm-convert.cpp llvm-types.cpp
Rafael Espindola
rafael.espindola at gmail.com
Fri Jan 14 08:36:59 PST 2011
Author: rafael
Date: Fri Jan 14 10:36:59 2011
New Revision: 123444
URL: http://llvm.org/viewvc/llvm-project?rev=123444&view=rev
Log:
Add unnamed_addr to as many global variables as possible. This
makes sure that llvm-gcc will not be affected by future changes
to constant merging.
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
llvm-gcc-4.2/trunk/gcc/llvm-types.cpp
Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=123444&r1=123443&r2=123444&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Fri Jan 14 10:36:59 2011
@@ -311,10 +311,11 @@
Constant *LLVMValuesTable = ConstantStruct::get(Context, ValuesForPCH, false);
// Create variable to hold this string table.
- new GlobalVariable(*TheModule, LLVMValuesTable->getType(), true,
- GlobalValue::ExternalLinkage,
- LLVMValuesTable,
- "llvm.pch.values");
+ GlobalVariable *GV = new GlobalVariable(*TheModule, LLVMValuesTable->getType(),
+ true, GlobalValue::ExternalLinkage,
+ LLVMValuesTable,
+ "llvm.pch.values");
+ GV->setUnnamedAddr(true);
if (TheDebugInfo && TheDebugInfo->getCU().Verify()) {
NamedMDNode *NMD = TheModule->getOrInsertNamedMetadata("llvm.dbg.pch.cu");
@@ -866,9 +867,10 @@
}
Constant *Array = ConstantArray::get(
ArrayType::get(InitList[0]->getType(), InitList.size()), InitList);
- new GlobalVariable(*TheModule, Array->getType(), false,
- GlobalValue::AppendingLinkage,
- Array, Name);
+ GlobalVariable *GV = new GlobalVariable(*TheModule, Array->getType(), false,
+ GlobalValue::AppendingLinkage,
+ Array, Name);
+ GV->setUnnamedAddr(true);
}
/// llvm_asm_file_end - Finish the .s file.
@@ -948,6 +950,7 @@
GlobalValue *gv = new GlobalVariable(*TheModule, AT, false,
GlobalValue::AppendingLinkage, Init,
"llvm.used");
+ gv->setUnnamedAddr(true);
gv->setSection("llvm.metadata");
AttributeUsedGlobals.clear();
}
@@ -967,6 +970,7 @@
GlobalValue *gv = new GlobalVariable(*TheModule, AT, false,
GlobalValue::AppendingLinkage, Init,
"llvm.compiler.used");
+ gv->setUnnamedAddr(true);
gv->setSection("llvm.metadata");
AttributeCompilerUsedGlobals.clear();
}
@@ -980,6 +984,7 @@
GlobalValue *gv = new GlobalVariable(*TheModule, Array->getType(), false,
GlobalValue::AppendingLinkage, Array,
"llvm.global.annotations");
+ gv->setUnnamedAddr(true);
gv->setSection("llvm.metadata");
AttributeAnnotateGlobals.clear();
}
@@ -1235,6 +1240,7 @@
GlobalVariable::PrivateLinkage,
Init, ".str");
GV->setSection("llvm.metadata");
+ GV->setUnnamedAddr(true);
Slot = GV;
return GV;
@@ -1313,6 +1319,7 @@
// Set the initializer.
GV->setInitializer(Init);
+ GV->setUnnamedAddr(true);
}
/// reset_type_and_initializer_llvm - Change the type and initializer for
@@ -1333,6 +1340,7 @@
// Temporary to avoid infinite recursion (see comments emit_global_to_llvm)
GV->setInitializer(UndefValue::get(GV->getType()->getElementType()));
+ GV->setUnnamedAddr(true);
// Convert the initializer over.
Constant *Init = TreeConstantToLLVM::Convert(DECL_INITIAL(decl));
@@ -1347,6 +1355,7 @@
GV->isConstant(),
GV->getLinkage(), 0,
GV->getName());
+ NGV->setUnnamedAddr(true);
NGV->setVisibility(GV->getVisibility());
NGV->setSection(GV->getSection());
NGV->setAlignment(GV->getAlignment());
@@ -1360,6 +1369,7 @@
// Set the initializer.
GV->setInitializer(Init);
+ GV->setUnnamedAddr(true);
}
/// emit_global_to_llvm - Emit the specified VAR_DECL or aggregate CONST_DECL to
@@ -1411,6 +1421,7 @@
// this can happen for things like void *G = &G;
//
GV->setInitializer(UndefValue::get(GV->getType()->getElementType()));
+ GV->setUnnamedAddr(true);
Init = TreeConstantToLLVM::Convert(DECL_INITIAL(decl));
}
@@ -1424,6 +1435,7 @@
GV->isConstant(),
GlobalValue::ExternalLinkage, 0,
GV->getName());
+ NGV->setUnnamedAddr(true);
GV->replaceAllUsesWith(TheFolder->CreateBitCast(NGV, GV->getType()));
changeLLVMConstant(GV, NGV);
delete GV;
@@ -1433,6 +1445,7 @@
// Set the initializer.
GV->setInitializer(Init);
+ GV->setUnnamedAddr(true);
// Set thread local (TLS)
if (TREE_CODE(decl) == VAR_DECL && DECL_THREAD_LOCAL_P(decl))
@@ -1734,6 +1747,7 @@
if (Name[0] == 0) { // Global has no name.
GV = new GlobalVariable(*TheModule, Ty, false,
GlobalValue::ExternalLinkage, 0, "");
+ GV->setUnnamedAddr(true);
// Check for external weak linkage.
if (DECL_EXTERNAL(decl) && DECL_WEAK(decl))
Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=123444&r1=123443&r2=123444&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Fri Jan 14 10:36:59 2011
@@ -2174,6 +2174,7 @@
CatchAll = new GlobalVariable(*TheModule, Init->getType(), true,
GlobalVariable::LinkOnceAnyLinkage,
Init, "llvm.eh.catch.all.value");
+ CatchAll->setUnnamedAddr(true);
CatchAll->setSection("llvm.metadata");
AttributeUsedGlobals.insert(CatchAll);
}
@@ -8747,6 +8748,7 @@
// Create a new complex global.
Slot = new GlobalVariable(*TheModule, Init->getType(), true,
GlobalVariable::PrivateLinkage, Init, ".cpx");
+ Slot->setUnnamedAddr(true);
return Slot;
}
@@ -8781,6 +8783,7 @@
GlobalVariable *GV = new GlobalVariable(*TheModule, Init->getType(),
StringIsConstant, Linkage, Init,
".str");
+ GV->setUnnamedAddr(true);
GV->setAlignment(get_constant_alignment(exp) / 8);
if (SlotP) *SlotP = GV;
Modified: llvm-gcc-4.2/trunk/gcc/llvm-types.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-types.cpp?rev=123444&r1=123443&r2=123444&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-types.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-types.cpp Fri Jan 14 10:36:59 2011
@@ -208,6 +208,7 @@
GlobalValue::ExternalLinkage,
LTypesNameTable,
"llvm.pch.types");
+ GV->setUnnamedAddr(true);
}
//===----------------------------------------------------------------------===//
More information about the llvm-commits
mailing list