Add back r222061 with a fix.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 17 Nov 2014 02:28:27 +0000 (02:28 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 17 Nov 2014 02:28:27 +0000 (02:28 +0000)
commita3b5b60753667f11977476f2b8b278f3912d7076
tree3019761730094f363a0edfaadc0af9fcbf79788a
parent5552de51d5b5757e4bd9f77d9367cf40c22ad8c8
Add back r222061 with a fix.

This adds back r222061, but now calls initializePAEvalPass from the correct
library to avoid link problems.

Original message:

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.

llvm-svn: 222117
llvm/include/llvm/Analysis/Passes.h
llvm/include/llvm/InitializePasses.h
llvm/include/llvm/LinkAllPasses.h
llvm/lib/Transforms/ObjCARC/CMakeLists.txt
llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
llvm/lib/Transforms/ObjCARC/ObjCARC.h
llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp [new file with mode: 0644]
llvm/test/Transforms/ObjCARC/provenance.ll [new file with mode: 0644]