[PM/AA] Completely remove the AliasAnalysis::copyValue interface.
authorChandler Carruth <chandlerc@gmail.com>
Sat, 11 Jul 2015 04:39:00 +0000 (04:39 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 11 Jul 2015 04:39:00 +0000 (04:39 +0000)
commit00ebdbcc47bd94a99a922e3d51490c4391518e75
tree2288b82d704f2035baa56d0b243e8b4e914a67b2
parentb7a1176eed41bb13aea468e6ec443d5e18d5db67
[PM/AA] Completely remove the AliasAnalysis::copyValue interface.

No in-tree alias analysis used this facility, and it was not called in
any particularly rigorous way, so it seems unlikely to be correct.

Note that one of the only stateful AA implementations in-tree,
GlobalsModRef is completely broken currently (and any AA passes like it
are equally broken) because Module AA passes are not effectively
invalidated when a function pass that fails to update the AA stack runs.

Ultimately, it doesn't seem like we know how we want to build stateful
AA, and until then trying to support and maintain correctness for an
untested API is essentially impossible. To that end, I'm planning to rip
out all of the update API. It can return if and when we need it and know
how to build it on top of the new pass manager and as part of *tested*
stateful AA implementations in the tree.

Differential Revision: http://reviews.llvm.org/D10889

llvm-svn: 241975
llvm/include/llvm/Analysis/AliasAnalysis.h
llvm/lib/Analysis/AliasAnalysis.cpp
llvm/lib/Analysis/AliasDebugger.cpp
llvm/lib/Analysis/AliasSetTracker.cpp
llvm/lib/Analysis/IPA/GlobalsModRef.cpp
llvm/lib/Analysis/NoAliasAnalysis.cpp
llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
llvm/lib/Transforms/Scalar/GVN.cpp
llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
llvm/lib/Transforms/Utils/LoopSimplify.cpp