Don't make assumptions about the name of private global variables.

Private variables are can be renamed, so it is not reliable to make
decisions on the name.

The name is also dropped by the assembler before getting to the
linker, so using the name causes a disconnect between how llvm makes a
decision (var name) and how the linker makes a decision (section it is
in).

This patch changes one case where we were looking at the variable name to use
the section instead.

Test tuning by Michael Gottesman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222061 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2014-11-14 23:17:47 +00:00
parent 52e76186d3
commit e2eb8b632d
8 changed files with 159 additions and 5 deletions

View File

@@ -68,6 +68,7 @@ void llvm::initializeAnalysis(PassRegistry &Registry) {
initializeTargetTransformInfoAnalysisGroup(Registry);
initializeTypeBasedAliasAnalysisPass(Registry);
initializeScopedNoAliasAAPass(Registry);
initializePAEvalPass(Registry);
}
void LLVMInitializeAnalysis(LLVMPassRegistryRef R) {