[llvm] r264383 - StringMap: reserve appropriate size when initializing from an initializer list

don hinton via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 25 07:39:15 PDT 2016


Won't this still force a rehash since the table will be more that 3/4
full?  Assuming the initialization list contains unique keys.
On Mar 25, 2016 10:11 AM, "David Blaikie via llvm-commits" <
llvm-commits at lists.llvm.org> wrote:

> Worth a test?
> On Mar 24, 2016 11:02 PM, "Mehdi Amini via llvm-commits" <
> llvm-commits at lists.llvm.org> wrote:
>
>> Author: mehdi_amini
>> Date: Fri Mar 25 00:57:47 2016
>> New Revision: 264383
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=264383&view=rev
>> Log:
>> StringMap: reserve appropriate size when initializing from an initializer
>> list
>>
>> From: Mehdi Amini <mehdi.amini at apple.com>
>>
>> Modified:
>>     llvm/trunk/include/llvm/ADT/StringMap.h
>>
>> Modified: llvm/trunk/include/llvm/ADT/StringMap.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/StringMap.h?rev=264383&r1=264382&r2=264383&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/ADT/StringMap.h (original)
>> +++ llvm/trunk/include/llvm/ADT/StringMap.h Fri Mar 25 00:57:47 2016
>> @@ -233,7 +233,7 @@ public:
>>        Allocator(A) {}
>>
>>    StringMap(std::initializer_list<std::pair<StringRef, ValueTy>> List)
>> -      : StringMapImpl(static_cast<unsigned>(sizeof(MapEntryTy))) {
>> +      : StringMapImpl(List.size(),
>> static_cast<unsigned>(sizeof(MapEntryTy))) {
>>      for (const auto &P : List) {
>>        insert(P);
>>      }
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160325/9290e69a/attachment.html>


More information about the llvm-commits mailing list