Commit Graph

14 Commits

Author SHA1 Message Date
Ted Kremenek
52e2d83e65 Changed the return type of type-specific Allocate() methods to return
void*.  This is hint that we are returning uninitialized memory rather
than a constructed object.

Patched ImutAVLTree to conform to this new interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43106 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 00:30:14 +00:00
Ted Kremenek
fa4710427f ImutAVLTree now allocates tree nodes from the BumpPtrAllocator using
the new type-aligned Allocate() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43100 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 22:17:01 +00:00
Ted Kremenek
fd9c58adde Fixed incorrect renaming of method name (forgot two characters).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42999 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-15 19:15:48 +00:00
Ted Kremenek
85d03ae1ae Added more doxygen comments.
Renamed internal method of ImutAVLTree::RemoveMutableFlag to MarkImmutable.
Added enum for bit manipulation (more self-documentating).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42998 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-15 18:52:34 +00:00
Ted Kremenek
0b22da3d73 Provided accessors to internal allocator for ImutAVLTree and ImmutableSet.
Added postfix ++,-- support for ImmutableSet::iterator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42877 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-11 21:51:04 +00:00
Ted Kremenek
bdc2154986 Added iterators to ImmutableSet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42851 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-11 00:14:49 +00:00
Ted Kremenek
37474bce02 Added some doxygen comments to ImmutableSet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42850 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-10 23:47:03 +00:00
Ted Kremenek
ac6084dfc2 Removed uninformative assertions that catch problems that will
fire anyway at runtime due to a NULL dereference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42848 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-10 23:35:04 +00:00
Ted Kremenek
13a21b0237 Removed "height" of an AVL tree node from its Profile. This is
implicitly captured by using the addresses of its children in the
profile.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42847 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-10 23:32:01 +00:00
Ted Kremenek
b308cdbc5f Removed spurious forward declaration to a structure that will no longer be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42839 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-10 20:45:34 +00:00
Ted Kremenek
ea34bc892c Added some doxygen comments to a few methods of ImutAVLTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42837 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-10 20:44:21 +00:00
Ted Kremenek
ebdbed3844 Added preliminary support for iterators in ImutAVLTree.
Implemented ImutAVLTree::isEqual.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42833 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-10 18:11:16 +00:00
Ted Kremenek
be24d91d82 Renamed internal method "Create" of ImutAVLTree to "CreateNode".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42825 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-10 16:27:33 +00:00
Ted Kremenek
33bbed8f2a Added implementation of immutable (functional) maps and sets, as
implemented on top of a functional AVL tree.  The AVL balancing code
is inspired by the OCaml implementation of Map, which also uses a functional
AVL tree.

Documentation is currently limited and cleanups are planned, but this code
compiles and has been tested.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42813 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-09 21:38:09 +00:00