Don't make assumptions about the name of private global variables.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 14 Nov 2014 23:17:47 +0000 (23:17 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 14 Nov 2014 23:17:47 +0000 (23:17 +0000)
commite2eb8b632dcbd576c340af34407ef0f9f5a5458b
tree3c892c3029d782dca38f672ae90c199ce3bb1fdd
parent52e76186d3b2234c938bb57b046c47613ac18d88
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
include/llvm/Analysis/Passes.h
include/llvm/InitializePasses.h
include/llvm/LinkAllPasses.h
lib/Analysis/Analysis.cpp
lib/Transforms/ObjCARC/CMakeLists.txt
lib/Transforms/ObjCARC/ObjCARC.h
lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp [new file with mode: 0644]
test/Transforms/ObjCARC/provenance.ll [new file with mode: 0644]