aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/ADT/StringMap.h
Commit message (Collapse)AuthorAgeFilesLines
* [ADT/StringMap] Follow-up to r172455, use the correct constructor for ↵Argyrios Kyrtzidis2013-01-151-1/+2
| | | | | | | | setting the InitialSize, previously it was calling the "StringMapImpl(unsigned itemSize)" constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172500 91177308-0d34-0410-b5e6-96231b3b80d8
* [ADT/StringMap] Add a constructor in StringMap that accepts both anArgyrios Kyrtzidis2013-01-141-0/+3
| | | | | | initial size and an allocator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172455 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup comment and formattingEli Bendersky2012-12-181-5/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170398 91177308-0d34-0410-b5e6-96231b3b80d8
* Make StringMap's copy ctor non-explicit.Benjamin Kramer2012-04-141-1/+1
| | | | | | | Without this gcc doesn't allow us to put a StringMap into a std::map. Works with clang though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154737 91177308-0d34-0410-b5e6-96231b3b80d8
* Various public StringMap methods take or return "MapEntryTy", make it public.Chris Lattner2012-01-231-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148732 91177308-0d34-0410-b5e6-96231b3b80d8
* StringMap.find never points to an empty bucket or tombstone, skip the check.Benjamin Kramer2012-01-041-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147546 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch StringMap from an array of structures to a structure of arrays.Benjamin Kramer2011-12-271-34/+26
| | | | | | | - -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
* The key of a StringMap can contain nul's in it, so having first() returnChris Lattner2011-07-141-1/+1
| | | | | | | const char* doesn't make sense. Have it return StringRef instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135167 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove deprecated forms of StringMap::GetOrCreateValue().Jay Foad2011-06-211-12/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133517 91177308-0d34-0410-b5e6-96231b3b80d8
* use the MapEntryTy typedef instead of writing it out long form,Chris Lattner2011-06-211-9/+8
| | | | | | | | | add some fixme's about methods that should be removed. Merged from type-system-rewrite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133504 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused STL header includes.Jay Foad2011-04-231-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130068 91177308-0d34-0410-b5e6-96231b3b80d8
* Reset StringMap's NumTombstones on clears and rehashes.Jakob Stoklund Olesen2011-03-301-0/+3
| | | | | | | | | | | | | 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
* Prevent infinite growth of SmallMap instances.Jakob Stoklund Olesen2011-03-301-14/+2
| | | | | | | | 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
* Enhance ScopedHashTable to allow it to take an allocator argument.Chris Lattner2011-01-031-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122721 91177308-0d34-0410-b5e6-96231b3b80d8
* Test commit: Fix two -Asserts mode warnings in StringMap.h.Frits van Bommel2010-11-201-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119907 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename alignof -> alignOf to avoid irritating C++'0x compilers,Chris Lattner2010-10-301-1/+1
| | | | | | | | PR8423, patch by nobled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117774 91177308-0d34-0410-b5e6-96231b3b80d8
* Trailing whitespace.Mikhail Glushenkov2010-09-211-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114432 91177308-0d34-0410-b5e6-96231b3b80d8
* fix this to work with allocators that have reference type with compilersChris Lattner2010-09-041-3/+7
| | | | | | | that diagnose invalid references to references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113078 91177308-0d34-0410-b5e6-96231b3b80d8
* give StringMap a new ctor which allows you to initialize itChris Lattner2010-07-231-0/+4
| | | | | | | | | | | with an existing allocator. The interesting use case of this is that it allows "StringMap<whatever, BumpPtrAllocator&>" for when you want to allocate out of a preexisting bump pointer allocator owned by someone else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109213 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a method to get a StringMapEntry from a pointer to the stringChris Lattner2010-03-241-0/+8
| | | | | | | | data it contains (similar to GetStringMapEntryFromValue). Patch by Greg Clayton! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99371 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass StringRef by value.Daniel Dunbar2009-11-061-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert StringMap to using StringRef for its APIs.Daniel Dunbar2009-07-231-61/+35
| | | | | | | | | | | | | - 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
* Use v.data() instead of &v[0] when SmallVector v might be empty.Jay Foad2009-05-211-8/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72210 91177308-0d34-0410-b5e6-96231b3b80d8
* Add StringMap::lookup.Daniel Dunbar2009-03-121-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66750 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a pretty serious bug in StringMap where GetOrCreate(strstart,strend, z) Chris Lattner2009-02-041-9/+16
| | | | | | | would not set new values to Z. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63707 91177308-0d34-0410-b5e6-96231b3b80d8
* * Don't explicitly cast "0" to "void*". This doesn't work well with specializedBill Wendling2009-01-081-3/+3
| | | | | | | | | | StringMapEntryInitializer classes. Leave it for the compiler to figure out what the type is and what "0" should be transformed into. * Un-disable the unit tests which test the StringMapEntryInitializer class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61922 91177308-0d34-0410-b5e6-96231b3b80d8
* * Added unittests for StringMapMisha Brukman2009-01-081-2/+4
| | | | | | | | | | * Fixed but in StringMap::clear() * Removed trailing whitespace Original patch by Talin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61914 91177308-0d34-0410-b5e6-96231b3b80d8
* Add typedef to StringMapEntry.Ted Kremenek2008-11-271-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60134 91177308-0d34-0410-b5e6-96231b3b80d8
* optimize StringMap::clearChris Lattner2008-07-021-6/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53009 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new (simple) StringMap::clear method, patch by PratikChris Lattner2008-07-021-0/+6
| | | | | | | Solanki! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53008 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove warnings about shadowed and unused variables.Bill Wendling2008-06-261-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52791 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass std::string by reference. Thanks Chris!Dan Gohman2008-06-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52678 91177308-0d34-0410-b5e6-96231b3b80d8
* Add methods to StringMap to erase entries by key.Dan Gohman2008-06-231-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52640 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix more -Wshorten-64-to-32 warnings.Evan Cheng2008-05-051-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't dereference an invalid pointer if string is empty.Anton Korobeynikov2008-02-051-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46781 91177308-0d34-0410-b5e6-96231b3b80d8
* Add convenient std::string helpers to StringMap. Patch by Mikhail Glushenkov!Anton Korobeynikov2008-01-311-4/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46625 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply the patch with fix.Anton Korobeynikov2008-01-311-7/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46615 91177308-0d34-0410-b5e6-96231b3b80d8
* revert anton's recent stringmap patch, which breaks clang.Chris Lattner2008-01-311-33/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46614 91177308-0d34-0410-b5e6-96231b3b80d8
* Make StringMap to be more STL'ish. Patch by Mikhail Glushenkov!Anton Korobeynikov2008-01-311-6/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46612 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace cleanupAnton Korobeynikov2008-01-311-53/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46611 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't attribute in file headers anymore. See llvmdev for theChris Lattner2007-12-291-2/+2
| | | | | | | | 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
* Add explicit keywords, and fix a minor typo that they uncovered.Dan Gohman2007-12-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45034 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass the whole StringMapEntry into StringMapEntryInitializer::Initialize.Chris Lattner2007-11-291-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44432 91177308-0d34-0410-b5e6-96231b3b80d8
* provide an optional API to allow datatypes in a stringmap to be *gasp* Chris Lattner2007-11-291-7/+41
| | | | | | | | initialized with a value if they want, by specializing the StringMapEntryInitializer class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44430 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit keywords.Dan Gohman2007-11-191-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44234 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor cosmetic cleanups in the calculation of alignments forTed Kremenek2007-10-171-3/+5
| | | | | | | StringMapEntry objects. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43097 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated StringMap to use llvm::AlignOf to compute the alignment of mapTed Kremenek2007-10-171-9/+3
| | | | | | | entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43089 91177308-0d34-0410-b5e6-96231b3b80d8
* don't use intptr_t without including it.Chris Lattner2007-10-121-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42921 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this compute the correct offset, handling alignment of the elementChris Lattner2007-10-121-2/+3
| | | | | | | pointer correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42918 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a helper useful when mapping from a map element to its hash node.Chris Lattner2007-09-301-1/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42480 91177308-0d34-0410-b5e6-96231b3b80d8