4c5e43da7792f75567b693105cc53e3f1992ad98 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/include/llvm/ADT/ImmutableSet.h
|
ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/include/llvm/ADT/ImmutableSet.h
|
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
|