diff options
author | Dan Gohman <gohman@apple.com> | 2010-08-02 23:49:30 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-08-02 23:49:30 +0000 |
commit | ab37f50838350e1104579fbd1f7c8820473485a5 (patch) | |
tree | 01914bb2f9793c0df7b1b3f031e847667c5ad432 /include/llvm/Analysis/ScalarEvolution.h | |
parent | 8eab2c2f54d16f518a36eadc3c0d16fea6d75127 (diff) |
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
Diffstat (limited to 'include/llvm/Analysis/ScalarEvolution.h')
-rw-r--r-- | include/llvm/Analysis/ScalarEvolution.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h index 1b27efb995..7f224203ab 100644 --- a/include/llvm/Analysis/ScalarEvolution.h +++ b/include/llvm/Analysis/ScalarEvolution.h @@ -661,6 +661,11 @@ namespace llvm { private: FoldingSet<SCEV> UniqueSCEVs; BumpPtrAllocator SCEVAllocator; + + /// FirstUnknown - The head of a linked list of all SCEVUnknown + /// values that have been allocated. This is used by releaseMemory + /// to locate them all and call their destructors. + SCEVUnknown *FirstUnknown; }; } |