OSDN Git Service

[CodeView] Micro-optimizations to speed up type merging.
authorZachary Turner <zturner@google.com>
Tue, 30 Jan 2018 17:12:04 +0000 (17:12 +0000)
committerZachary Turner <zturner@google.com>
Tue, 30 Jan 2018 17:12:04 +0000 (17:12 +0000)
commit41dfb8c4cc818339551c62374d2f0d6a359b4bb0
tree6865827ffed9b5d4ad44e7ec2093ab14ce67ab06
parent5b32b73115527c7d8c66a7bb3c9cafe947b7ab7f
[CodeView] Micro-optimizations to speed up type merging.

Based on a profile, a couple of hot spots were identified in the
main type merging loop.  The code was simplified, a few loops
were re-arranged, and some outlined functions were inlined.  This
speeds up type merging by a decent amount, shaving around 3-4 seconds
off of a 40 second link in my test case.

Differential Revision: https://reviews.llvm.org/D42559

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@323790 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/DebugInfo/CodeView/CVRecord.h
include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp
lib/DebugInfo/CodeView/TypeStreamMerger.cpp