History log of /external/llvm/include/llvm/ADT/ImmutableSet.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/ADT/ImmutableSet.h
fffdcacff2de0c1eaf4dbd2884384d71d024776d 08-Nov-2013 Jordan Rose <jordan_rose@apple.com> Add ImmutableSet profiling info for 'bool'.

Useful for tri-state maps: true, false, and "no data yet".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
d861b90fe264ec42b941162ca920fadd0a80a1c1 16-Aug-2013 Benjamin Kramer <benny.kra@googlemail.com> Add difference_type to ImmutableMap/Set iterators so they have a complete set of typedefs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
a94d32284a00c544332464dd6b1efa65b1224ea3 14-Feb-2013 Francois Pichet <pichet2000@gmail.com> Add missing typename to unbreak the MSVC 2012 build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
779a96362e18d008e224c1683e54181ba1fbe943 13-Feb-2013 Ryan Govostes <rzg@apple.com> Fix iterator definitions for ImmutableSet and ImmutableMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
3df02ac9d46f7ce8f0f10bc693dfc3c6c5aa2863 13-Feb-2013 Ryan Govostes <rzg@apple.com> Add iterator_traits to ImmutableMap and ImmutableSet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
674be02d525d4e24bc6943ed9274958c580bcfbc 10-Jan-2013 Jakub Staszak <kubastaszak@gmail.com> Fix include guards so they exactly match file names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for the include/... tree with the script.

AKA: Recompile *ALL* the source code!

This one went much better. No manual edits here. I spot-checked for
silliness and grep-checked for really broken edits and everything seemed
good. It all still compiles. Yell if you see something that looks goofy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
658c62862e470b59aaf25825de64d93fbaf8cb93 14-Oct-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix a typo that made ImmutableMap::getMaxElement() useless.

Add a basic unit test for ImmutableMap. Found by inspection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
fc601db2ed899d800ea0a50f7ecf7de2a820cbc1 17-Sep-2012 Craig Topper <craig.topper@gmail.com> Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
910cf7f712a1895b993df4677c1059c595353dcc 16-Sep-2012 Craig Topper <craig.topper@gmail.com> Tidy up formatting of some elses on a separate line from preceding bracing. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
644b3840b975cdd7465d16700740dd1dd7034df0 16-Sep-2012 Craig Topper <craig.topper@gmail.com> Tidy up trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
0c08f5d2b93e551cfe25ec8d387be987f1c89710 16-Sep-2012 Craig Topper <craig.topper@gmail.com> Remove unneeded header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
aa7507d68dcc04f3118a05b5dff4123ded03253e 19-Jul-2012 Bill Wendling <isanbard@gmail.com> Remove tabs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
e74ba3a46d1c86bb218e0d3ba5f28f986eb6e062 07-May-2012 Jordy Rose <jediknil@belkadan.com> Constify (trivially) ImmutableSet::iterator::getVisitState().

This was probably intended all along.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
4211c196d48a16748158452db918403f30088266 20-Mar-2012 Anna Zaks <ganna@apple.com> Make sure ImmutableSet never inserts Tombstone/Entry into DenseMap.

ImmutAVLTree uses random unsigned values as keys into a DenseMap,
which could possibly happen to be the same value as the Tombstone or
Entry keys in the DenseMap.

Test case is hard to come up with. We randomly get failures on the
internal static analyzer bot, which most likely hits this issue
(hard to be 100% sure without the full stack).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
50bee42b54cd9aec5f49566307df2b0cf23afcf6 05-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
4f101db8852ba60d8d9545f7e0b5ad8a7b18c8b1 02-Oct-2011 Ted Kremenek <kremenek@apple.com> Make canonicalization of ImmutableSetRef::asImmutableSet() semi-explicit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
166e0539c987a5bea2432354b2437eba29bb1ce0 17-Sep-2011 Ted Kremenek <kremenek@apple.com> Add ImmutableMapRef and ImmutableSetRef, which consolidate Immutable[Map,Set] and its Factory. This may eventually replace Immtuable[Map,Set].

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
75627d3d2e700b8fa0e040a5ec4ef1a0e299b9b5 30-Nov-2010 Ted Kremenek <kremenek@apple.com> Performance optimization on ImmutableMap/ImmutableSet:

- Use a DenseSet instead of a FoldingSet to cache
canonicalized nodes. This reduces the overhead
of double-hashing.

- Use reference counts in ImutAVLTree to much
more aggressively recover tree nodes that are
no longer usable. We can generate many
transient nodes while using add() and remove()
on ImmutableSet/ImmutableMaps to generate a final
set/map.

For the clang static analyzer (the main client
of these data structures), this results in
a slight speedup (0.5%) when analyzing sqlite3,
but much more importantly results in a 30-60%
reduction in peak memory usage when the analyzer
is analyzing a given function in a file. On
average that's about a ** 44% reduction ** in the
memory footprint of the static analyzer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
9c336fabd59fbdbe9129d76fbbee32261ac7c8f0 24-Nov-2010 Ted Kremenek <kremenek@apple.com> Tweak ImmutableMap/ImmutableSet/ImmutableList APIs
to use lowercase letters for the start of most
method names and to replace some method names
with more descriptive names (e.g., "getLeft()"
instead of "Left()"). No real functionality
change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
32df92dde60a027612880e4701ce1b0246d65eae 17-Nov-2010 Dan Gohman <gohman@apple.com> Fix warnings about missing parents between || and &&.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
07b3a041b45f376ea182d8b4ade7b01bfaa9ab2c 14-Apr-2010 Daniel Dunbar <daniel@zuster.org> Fix -Asserts warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
746f5b6eb1518986bdac750074cbf1899e459983 01-Feb-2010 Zhongxing Xu <xuzhongxing@gmail.com> Add an immutable interval map, prepared to be used by flat memory model
in the analyzer. WIP.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
ddba25ab702063e61430bf9d294ba70fb5fdb046 01-Feb-2010 Zhongxing Xu <xuzhongxing@gmail.com> Simplify code. We can compare TNew with T in one batch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
3ec68f97ead4a2bc339b1b9012ca4cb2c4dd706a 22-Jan-2010 Ted Kremenek <kremenek@apple.com> Store flags in bitfields instead of masking them into the pointer for the left child. This leads to some nice conceptually cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
8767d32e758db3ffef796342a2650f337cf3404a 22-Jan-2010 Ted Kremenek <kremenek@apple.com> Tidy up assertion syntax. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
0c8ae782cb966068f8317f8225633e2f4720ccb7 06-Nov-2009 Douglas Gregor <dgregor@apple.com> Make a few more LLVM headers parsable as standalone headers.

Fix some problems with the hidden copy constructors for
ImmutableMap/ImmutableSet found by Clang++.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
8b67f774e9c38b7718b2b300b628388f966df4e0 26-Oct-2009 Chandler Carruth <chandlerc@gmail.com> Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
d10e68c2cb61f2c9569ca80e1c54b2e40ee066d2 14-Oct-2009 Dan Gohman <gohman@apple.com> Delete bogus semicolons.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
9688079e07dce7748d14a761d52732add634ba4c 13-Oct-2009 Ted Kremenek <kremenek@apple.com> Provide a mode for ImmutableMap/ImmutableSet to not automatically canonicalize the internal functional AVL trees. This should speedup clients that use ImmutableMap/ImmutableSet but don't require fast comparisons of maps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
8b8a7fcf68c3bb6f8b90f5f1813ebb391b56e550 04-Sep-2009 Ted Kremenek <kremenek@apple.com> Make ImmutableMap/ImmutableSet quicker by only canonicalizing the tree after an
Add or Remove operation complete, and not while building the intermediate tree.
This trades a little bit more memory usage for less accesses to the FoldingSet. On a benchmark for the clang static analyzer, this shaves off another 13% of execution time when using field/array sensitivity.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
9bd2acb3b253c77dd1f7680a2e6505039e9c49a5 03-Sep-2009 Ted Kremenek <kremenek@apple.com> Set the 'cached digest' flag after computing the digest for an
ImutAVLTree. This was accidentally left out, and essentially caused
digest caching to be ignored in ImmutableMap and ImmutableSet (this
bug was detected from shark traces that showed ComputeDigest was in
the hot path in the clang static analyzer).

This reduces the running time of the clang static analyzer on an
example benchmark by ~32% for both RegionStore (field-sensitivty) and
BasicStore (without field-sensitivity).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
458ba32680488486b7166e40fd3e25b4dccf73fd 01-Aug-2009 Ted Kremenek <kremenek@apple.com> Make default ctor for ImmutableSet::iterator public.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
aafa94260d5b1b6422258ed3db7244fe4449f217 19-Jul-2009 Daniel Dunbar <daniel@zuster.org> Remove redundant qualifiers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
8f3cfb4c657f0094e8bf1e67de4ee776d57a751e 10-Jul-2009 Ted Kremenek <kremenek@apple.com> ImmutableMap/ImmutableSet: Allow caching of ImutAVLTree digests while the tree
is still mutable. My experiments show this reduces the amount of times we
compute a full tree digest by over 50% on very small cases, and potentially much
larger on others.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
633eb95f3ee4f6a831ce6fef47b5f2e5b52f297b 09-Jul-2009 Ted Kremenek <kremenek@apple.com> ImmutableSet/ImmutableMap: Allow caching of null digests by properly using a flag to record if the digest of an ImutAVLTree has been cached.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
1c7a666fcef22e75dc675b06444f5a894f54d7be 23-Feb-2009 Ted Kremenek <kremenek@apple.com> Add ImmutableMap::getMaxElement(), a method that returns the <key,value> pair in a ImmutableMap that has the highest ranked key.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
085a9ebbc705c6e7d3fd8c692ef1c46fdfb885ce 20-Feb-2009 Misha Brukman <brukman+llvm@gmail.com> Removed trailing whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
5b22efa61446797039dd19fc1e9be83676463f99 12-Feb-2009 Chris Lattner <sabre@nondot.org> Add operator->, patch by Ben Laurie!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
da5eb715509685f4a5cfdf6cd781827e72199af6 12-Feb-2009 Ted Kremenek <kremenek@apple.com> Add method 'isSingleton()' to ImmutableSet. This returns true if the set contains exactly one element.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64359 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
3a54b3dc87a581c203b18050b4f787b4ca28a12c 09-Jan-2009 Misha Brukman <brukman+llvm@gmail.com> Removed trailing whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
b90c37f64c5b856a4492f0c1f16c065ae9e31232 03-Nov-2008 Nick Lewycky <nicholas@mxc.ca> Typo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
602d1c51e055efd56b284a2ba41083ff38c337bc 22-Feb-2008 Anton Korobeynikov <asl@math.spbu.ru> Unbreak build for VC2008. Patch by Argiris Kirtzidis!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
a618f82c9fdbe869b41581f00ae357e1b22302d1 12-Feb-2008 Ted Kremenek <kremenek@apple.com> The factories for ImutAVLTree/ImmutableSet/ImmutableMap now take an (optional)
BumpPtrAllocator argument to their constructors. This BumpPtrAllocator
will be used to allocate trees. If no BumpPtrAllocator is provided, one
is created (as before).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
9dc7ab538ee845e2477519c740a2c736a19bc30d 05-Feb-2008 Ted Kremenek <kremenek@apple.com> Added FoldingSet profiling support to ImmutableSet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
95da16e2881a662401220cd52a4267b7cd7f5860 05-Feb-2008 Ted Kremenek <kremenek@apple.com> Changed profiling method for ImmutableMap to once again just use its
unique ImutAVLTree* for profiling.

Modified ImutAVLTree:
(1) changed ComputeHash() to ComputeDigest() and
(2) changed Profile() to use the computed digest and
(3) modified insertion of IMutAVLTree into the FoldingSet owned by
the ImutAVLTreeFactory object to use profiling instead of computing
a direct hash. This fixes a bug where our abuse of the FoldingSet would
not work when the FoldingSet was resized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
f357afb4045307a24c52606e267385148367a7a3 04-Feb-2008 Ted Kremenek <kremenek@apple.com> Modified node creation of ImutAVLTree to do a hash lookup for an existing
node in the FoldingSet of nodes held by the Factory object. If we
we find a node with a matching hash, we do a full structural comparison.
Nodes are also now inserted into the FoldingSet only when we mark them
Immutable, as their children can change during intermediate-rebalancing.

The 'Profile' method for ImutAVLTree is no longer used when looking up
existing ImutAVLTrees with a given set of contents; instead the Profile method
is used by other clients that wish to insert such a tree into a folding set.
This means that we are not using FoldingSet in ImutAVLTreeFactory in the way
it was intended, but instead are using it as an opaque hashtable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
1eed950d7cb69906264cfb49895165e3b51524be 23-Jan-2008 Ted Kremenek <kremenek@apple.com> Added "getRoot()" to ImmutableSet.

Made ImmutableSet::ImmutableSet(ImutAVLTree* Root) public. (this allows handy
casting between trees and sets).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
3387060470e25e6917adcdde3baa41e959172e90 21-Jan-2008 Ted Kremenek <kremenek@apple.com> Fixed buggy caching of the hash value of an ImutAVLTree node.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
8893b0d3ac7b6eb6957e645c59f63651891cef97 21-Jan-2008 Ted Kremenek <kremenek@apple.com> Moved method call within a conditional branch because its effects will
be ignored on the false branch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46228 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
c4125a3c44171f90639621c3c93182a7fe45b24e 21-Jan-2008 Ted Kremenek <kremenek@apple.com> Adjusted ImutAVLTree::ComputeHash to compute a hash value that is based on a
clearer sequence of hashing compositions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
6518f5fcbfc24e53ae453da0b080adf5448327be 21-Jan-2008 Ted Kremenek <kremenek@apple.com> Replaced (FoldingSet) profiling of ImutAVLTree with a hashing based scheme. The
problem was that we previously hashed based on the pointers of the left and
right children, but this is bogus: we can easily have different trees that
represent the same set. Now we use a hashing based scheme that compares the
*contents* of the trees, but not without having to do a full scan of a tree. The
only caveat is that with hashing is that we may have collisions, which result in
two different trees being falsely labeled as equivalent. If this becomes a
problem, we can add extra data to the profile to hopefully resolve most
collisions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
3cf8bec783809269a5dbb81d6d1693ee18fcb37c 19-Jan-2008 Ted Kremenek <kremenek@apple.com> Modified ImmutableSet/ImmutableMap to use FoldingSet profiling using
FoldingSetTrait instead of directly calling a 'Profile' method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
e509e7a17819f808dabb815474eb8c04540de7b3 17-Jan-2008 Ted Kremenek <kremenek@apple.com> Implemented "FIXME" in ImutAVLTree: isEqual() now also compares the *data* value
and not just the key value when comparing trees. To do this we added data_type
and data_type_ref to the ImutContainerInfo trait classes. For values stored in
the tree that do not have separate key and data components, data_type is simply
a typedef of bool, and isDataEqual() always evaluates to true. This allows us to
support both ImmutableSet and ImmutableMap using the same underlying logic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
7ed47a13356daed2a34cd2209a31f92552e3bdd8 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
52e2d83e653abd745d93bc05acba59c32a64eabf 18-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
fa4710427fc5db4e8e27e3eeaa3dd03a65f70101 18-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
fd9c58adde8d62c0e1bd852e2c8c1d58088f8f03 15-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
85d03ae1ae767038d9781da44a7a7e3f5191053e 15-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
0b22da3d7361f94c3811f2e7d603bb3513dc3d1c 11-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
bdc2154986f6f302ef59b506013b73f82a7a5ee5 11-Oct-2007 Ted Kremenek <kremenek@apple.com> Added iterators to ImmutableSet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
37474bce024c4a1e85dd777a8b489af60eb4c699 11-Oct-2007 Ted Kremenek <kremenek@apple.com> Added some doxygen comments to ImmutableSet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableSet.h
ac6084dfc22042da72b5170f52e3ceaad978fcff 11-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
13a21b02374a5a5fe541dbfbd1491b25a00369f4 11-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
b308cdbc5f49274519a31288909597af449f6683 10-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
ea34bc892c5341d1bbe49101ecab1d878ab8b621 10-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
ebdbed384411da83f0cdca014e52f65165919bda 10-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
be24d91d824387cea4454bd16f63d5b2409c56e1 10-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h
33bbed8f2a48ccf9ee349458db7ec4bd24dddb11 09-Oct-2007 Ted Kremenek <kremenek@apple.com> 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
/external/llvm/include/llvm/ADT/ImmutableSet.h