[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)
commitc51f300513a39ccc3719c795141d376b346cf61e
treeced9a2a5dc6c9353a74899ec0e315262d5ea44a2
parent1af073b98322949af41418cb10084f95f75cf293
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241975 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/AliasAnalysis.h
lib/Analysis/AliasAnalysis.cpp
lib/Analysis/AliasDebugger.cpp
lib/Analysis/AliasSetTracker.cpp
lib/Analysis/IPA/GlobalsModRef.cpp
lib/Analysis/NoAliasAnalysis.cpp
lib/Transforms/IPO/ArgumentPromotion.cpp
lib/Transforms/Scalar/GVN.cpp
lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
lib/Transforms/Utils/BasicBlockUtils.cpp
lib/Transforms/Utils/LoopSimplify.cpp