Make SCEVUnknown a CallbackVH, so that it can be notified directly
authorDan Gohman <gohman@apple.com>
Mon, 2 Aug 2010 23:49:30 +0000 (23:49 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 2 Aug 2010 23:49:30 +0000 (23:49 +0000)
commitab37f50838350e1104579fbd1f7c8820473485a5
tree01914bb2f9793c0df7b1b3f031e847667c5ad432
parent8eab2c2f54d16f518a36eadc3c0d16fea6d75127
Make SCEVUnknown a CallbackVH, so that it can be notified directly
of Value deletions and RAUWs, instead of relying on ScalarEvolution's
Scalars map being notified, as that's complicated at best, and
insufficient in general.

This means SCEVUnknown needs a non-trivial destructor, so introduce
a mechanism to allow ScalarEvolution to locate all the SCEVUnknowns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110086 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/ScalarEvolution.h
include/llvm/Analysis/ScalarEvolutionExpressions.h
lib/Analysis/ScalarEvolution.cpp
unittests/Analysis/Makefile [new file with mode: 0644]
unittests/Analysis/ScalarEvolutionTest.cpp [new file with mode: 0644]
unittests/Makefile