History log of /external/llvm/lib/Support/StringMap.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Support/StringMap.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Support/StringMap.cpp
e160c53fbef056a3f121eeebcb7074f780bfae52 30-Aug-2012 Benjamin Kramer <benny.kra@googlemail.com> Add some __builtin_expect magic to StringMap.

Tombstones and full hash collisions are rare, mark the "empty"
and "no collision" paths as likely. The bug in simplifycfg
that prevented the hints from being picked during selfhost
up was fixed recently :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
2a79116940012acaad9cc70efef79d7359f27513 19-Jun-2012 Chandler Carruth <chandlerc@gmail.com> Fix PR13148, an inf-loop in StringMap.

StringMap suffered from the same bug as DenseMap: when you explicitly
construct it with a small number of buckets, you can arrange for the
tombstone-based growth path to be followed when the number of buckets
was less than '8'. In that case, even with a full map, it would compare
'0' as not less than '0', and refuse to grow the table, leading to
inf-loops trying to find an empty bucket on the next insertion. The fix
is very simple: use '<=' as the comparison. The same fix was applied to
DenseMap as well during its recent refactoring.

Thanks to Alex Bolz for the great report and test case. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
c894b02ae037b5fdb38e42535539d5a0e49d6c41 27-Dec-2011 Benjamin Kramer <benny.kra@googlemail.com> Switch StringMap from an array of structures to a structure of arrays.

- -25% memory usage of the main table on x86_64 (was wasted in struct padding).
- no significant performance change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
03ef44991768b803ed5b210877ce0d83bf16fd93 30-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Reset StringMap's NumTombstones on clears and rehashes.

StringMap was not properly updating NumTombstones after a clear or rehash.

This was not fatal until now because the table was growing faster than
NumTombstones could, but with the previous change of preventing infinite
growth of the table the invariant (NumItems + NumTombstones <= NumBuckets)
stopped being observed, causing infinite loops in certain situations.

Patch by José Fonseca!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
aea4fe2862ce17acc6ce943df589ee8d5eb05adf 30-Mar-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Prevent infinite growth of SmallMap instances.

Rehash but don't grow when full of tombstones.

Patch by José Fonseca!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
8e68c3873549ca31533e2e3e40dda3a43cb79566 23-Dec-2010 Jeffrey Yasskin <jyasskin@google.com> Change all self assignments X=X to (void)X, so that we can turn on a
new gcc warning that complains on self-assignments and
self-initializations.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
2928c83b010f7cfdb0f819199d806f6942a7d995 06-Nov-2009 Daniel Dunbar <daniel@zuster.org> Pass StringRef by value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
4dee7fd2c2cb3fabddf99a184abe41dbc0bd4085 17-Oct-2009 Daniel Dunbar <daniel@zuster.org> Move StringMap's string has function into StringExtras.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
6316fbcb04af00fe76b6526fab09f51484014b3e 23-Jul-2009 Daniel Dunbar <daniel@zuster.org> Convert StringMap to using StringRef for its APIs.
- Yay for '-'s and simplifications!

- I kept StringMap::GetOrCreateValue for compatibility purposes, this can
eventually go away. Likewise the StringMapEntry Create functions still follow
the old style.

- NIFC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
12ba806c5d9ab0b45e41d7dc3d7af235f87d5e7e 04-Apr-2007 Chris Lattner <sabre@nondot.org> stringmap memory managed with malloc now


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
d2f197da59a3c937c1809997907918c029f9f884 04-Apr-2007 Chris Lattner <sabre@nondot.org> use calloc instead of new/memset, it is more efficient


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
794a014809d810b7ee9a96be76774185561f0dcc 04-Apr-2007 Chris Lattner <sabre@nondot.org> Extend StringMap to support being initialized as completely empty. When
initialized this way, they do not do a malloc to allocate their buckets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
ef4c916193e49e20c492f73147b3872b01c23862 04-Apr-2007 Chris Lattner <sabre@nondot.org> greatly reduce hte default size of stringmap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
44dcd01cb3424420d79d5811fa8c1c052411f975 11-Feb-2007 Chris Lattner <sabre@nondot.org> Add support for removing elements out of StringMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
b5bb9f5b5cfe89f4b7626671f4923d50f8d4cd6a 11-Feb-2007 Chris Lattner <sabre@nondot.org> Replace the ugly FindValue method with STL-like find methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
360cac8fef34b4671f27ef52674a41e29154ddc7 11-Feb-2007 Chris Lattner <sabre@nondot.org> remove support for stringmap visitors now that iterators exist.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
a86559ec426c643a151aeba1e051e4f878050f95 11-Feb-2007 Chris Lattner <sabre@nondot.org> add support for iterators.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
bb28a81ba3c112853f0eb3d8df0190accc0379c9 08-Feb-2007 Chris Lattner <sabre@nondot.org> Rename CStringMap -> StringMap, since it now supports nul characters in the
strings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
ee182422ff0b638b17c5ee802c19b8680107c2bb 08-Feb-2007 Chris Lattner <sabre@nondot.org> Allow cstringmap to contain strings with nul characters in them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
41a4429f6586ce648ba29fbd33bfed433005c3da 07-Jan-2007 Chris Lattner <sabre@nondot.org> wow, the link was already broken :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
38742b9603858db660cbb6b67853ca9266eaa196 07-Jan-2007 Chris Lattner <sabre@nondot.org> add a note


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp
23d7b3611759c7fb3a853dfce3ee3d43ef5ca67d 30-Oct-2006 Chris Lattner <sabre@nondot.org> add a highly efficient hash table that is specialized for mapping C strings
to some other type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/StringMap.cpp