[lld] r317910 - Use DenseMap instead of std::map in fixupExports
Reid Kleckner via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 14 08:49:14 PST 2017
We don't iterate this map. I split this out of https://reviews.llvm.org/
D39609 because it seemed uncontroversial and forgot to copy the part of the
message where I mentioned that.
On Tue, Nov 14, 2017 at 12:27 AM, Rui Ueyama <ruiu at google.com> wrote:
> DenseMap's iteration order can be different depending on host's word size
> because I believe the default hash function produces different hash values
> on 32-bit than 64-bit. Does lld still produce the same output on both 32/64
> hosts?
>
> On Sat, Nov 11, 2017 at 4:12 AM, Reid Kleckner via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> Author: rnk
>> Date: Fri Nov 10 11:12:01 2017
>> New Revision: 317910
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=317910&view=rev
>> Log:
>> Use DenseMap instead of std::map in fixupExports
>>
>> Some DLLs have many exports, and this data structure shows up in the
>> profile of linking content.dll.
>>
>> Modified:
>> lld/trunk/COFF/DriverUtils.cpp
>>
>> Modified: lld/trunk/COFF/DriverUtils.cpp
>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/DriverUti
>> ls.cpp?rev=317910&r1=317909&r2=317910&view=diff
>> ============================================================
>> ==================
>> --- lld/trunk/COFF/DriverUtils.cpp (original)
>> +++ lld/trunk/COFF/DriverUtils.cpp Fri Nov 10 11:12:01 2017
>> @@ -594,7 +594,7 @@ void fixupExports() {
>> }
>>
>> // Uniquefy by name.
>> - std::map<StringRef, Export *> Map;
>> + DenseMap<StringRef, Export *> Map(Config->Exports.size());
>> std::vector<Export> V;
>> for (Export &E : Config->Exports) {
>> auto Pair = Map.insert(std::make_pair(E.ExportName, &E));
>>
>>
>> _______________________________________________
>> 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/20171114/566f45fd/attachment.html>
More information about the llvm-commits
mailing list