f3ef5332fa3f4d5ec72c178a2b19dac363a19383 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 Change-Id: I1f29c4676a8abe633ab5707dded58d846c973d50
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
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/ImmutableMap.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/ImmutableMap.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/ImmutableMap.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/ImmutableMap.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/ImmutableMap.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/ImmutableMap.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/ImmutableMap.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/ImmutableMap.h
|
6cd738f33934a93b114d7dd9e4291f87f445c5c4 |
|
07-Dec-2012 |
Ted Kremenek <kremenek@apple.com> |
Mark ImmutableMap::remove/add() const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
b02ed5b8eafd11500bbefb7206ecbf5bc3fc324a |
|
07-Dec-2012 |
Ted Kremenek <kremenek@apple.com> |
Add manualRetain() and manualRelease() to ImmutableMapRef, and add a new constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
091508d3d0b0ebe0216b73b30161fbc599f9d4f1 |
|
06-Dec-2012 |
Ted Kremenek <kremenek@apple.com> |
Revert "Allow modifying an ImmutableMap without canonicalizing it immediately." Jordan and I discussed this, and we don't want this in the API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
972f087dbbc233bff9270716f2af453b90a996d9 |
|
06-Dec-2012 |
Jordan Rose <jordan_rose@apple.com> |
Allow modifying an ImmutableMap without canonicalizing it immediately. This is an alternative to the ImmutableMapRef interface where a factory should still be canonicalizing by default, but in certain cases an improvement can be made by delaying the canonicalization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.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/ImmutableMap.h
|
b3e3b006bd5c82516d6fdb487d5c1263a5249474 |
|
23-Sep-2011 |
Anna Zaks <ganna@apple.com> |
Add getTreeFactory() to ImmutableSet to allow construction of ImmutableSetRef from an ImmutableSet object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.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/ImmutableMap.h
|
2d76ad6df91d3192f986efd19d70a6d892a05b6c |
|
22-Feb-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Fix C++0x incompatibility. The signature of std::make_pair<> changes from: template <class T1, class T2> pair<T1,T2> make_pair(const T1&, const T2&); to template <class T1, class T2> pair<V1, V2> make_pair(T1&&, T2&&); so explicitly specifying the template arguments to make_pair<> is going to break when C++0x rolls through. Replace them with equivalent std::pair<>. Patch by James Dennett! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
3f912adeae348cf230795c2c9d83165e7d854d43 |
|
19-Feb-2011 |
Ted Kremenek <kremenek@apple.com> |
Add ImmutableMap methods 'manualRetain()', 'manualRelease()', and 'getRootWithoutRetain()' to help more aggressively reclaim memory in the static analyzer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.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/ImmutableMap.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/ImmutableMap.h
|
44eedb980536b91adb6c2add0ba4a02d16041d20 |
|
02-Feb-2010 |
Zhongxing Xu <xuzhongxing@gmail.com> |
11.8p1: A nested class is a member and as such has the same access rights as any other member. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.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/ImmutableMap.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/ImmutableMap.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/ImmutableMap.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/ImmutableMap.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/ImmutableMap.h
|
638b8b446e7f08d348fe4f3b290c08f6854fc8ba |
|
23-Feb-2009 |
Ted Kremenek <kremenek@apple.com> |
Correctly implement ImmutableMap::getMaxElement() by getting the actual <key, value> pair. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.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/ImmutableMap.h
|
a2769a33c94f021a609a462b28ebea069eba6f74 |
|
20-Feb-2009 |
Misha Brukman <brukman+llvm@gmail.com> |
Fixed lint errors: * Alphabetized #includes * Removed trailing whitespace * Wrapped or shortened lines over 80 chars git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.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/ImmutableMap.h
|
183cc32e49aa6641a39347075c8240cea92a6c63 |
|
14-Aug-2008 |
Ted Kremenek <kremenek@apple.com> |
Removed redundant ctor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
07f3cf76c671d0fa2a543f0df34e6be19001fd1d |
|
11-Jul-2008 |
Ted Kremenek <kremenek@apple.com> |
Added ImmutableMap constructor that accepts a const TreeTy*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
aa5044d3ce80a2759a6084911db77dec385a47fc |
|
07-Jul-2008 |
Ted Kremenek <kremenek@apple.com> |
Removed ImmutableMap::SlimFind and replaced it with ImmutableMap::lookup. The new method does the same thing, except that it returns a pointer to the mapped data type, and not to an internal tree node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
7a07428ad1015306d7235cabebd5f4f78e62d33c |
|
03-May-2008 |
Ted Kremenek <kremenek@apple.com> |
Implement operator-> for ImmutableMap iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.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/ImmutableMap.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/ImmutableMap.h
|
c695ea9e8dca7a4f955b6bc17da49be5553c9f37 |
|
04-Feb-2008 |
Ted Kremenek <kremenek@apple.com> |
Modified 'Profile' method of ImmutableMap to use the 'Profile' method of the contained ImutAVLTree root. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
e8277538e74bb70bcf8367267b527e8501eb1238 |
|
18-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Reverted implementation of ImmutableMap::find() to return a TreeTy* instead of an iterator, since the implementation returned an iterator that pointed to a different node! Renamed this implementation to SlimFind() so that users do not expect it to return an iterator (it is a more efficient implementation than returning an iterator if the user just wants to find the value of a key). Added a FIXME to implement ImmutableMap::find() that returns an iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.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/ImmutableMap.h
|
316e98447122fc3f1e99930583a305ba481e848c |
|
16-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Changed ImmutableMap::find to return an iterator instead of a pointer to the tree node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
6632f952393834fde26d53ea724ce2a53781d210 |
|
08-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Added "getRoot()" to ImmutableMap. Made the ctor for ImmutableMap to construct a map from an AVL tree public. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
0a8cabb17892746ba71a94f494a5d293a716edfd |
|
08-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Fixed 80 col. violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
6f2197699a53c5711ab7b0f8cc1b57f5e449e40a |
|
02-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Inverted argument order for ImmutableMap::Profile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.h
|
3c6255c376127f9e79b8bab47a2fd585131e8fcd |
|
02-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Added iterator and profiling (i.e. FoldingSetNodeID) support to ImmutableMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/ImmutableMap.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/ImmutableMap.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/ImmutableMap.h
|