OSDN Git Service

Speed up iteration of CodeView record streams.
authorZachary Turner <zturner@google.com>
Thu, 18 Jan 2018 18:35:01 +0000 (18:35 +0000)
committerZachary Turner <zturner@google.com>
Thu, 18 Jan 2018 18:35:01 +0000 (18:35 +0000)
commitc8ec2e99bb121fcf4a6b2586ccc03ccfab23d952
treed14ef7499183fd9e7005e3130f7a3a72053a574b
parent7bee1ceb03a55914313742d2175b4f079f79694d
Speed up iteration of CodeView record streams.

There's some abstraction overhead in the underlying
mechanisms that were being used, and it was leading to an
abundance of small but not-free copies being made.  This
showed up on a profile.  Eliminating this and going back to
a low-level byte-based implementation speeds up lld with
/DEBUG between 10 and 15%.

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

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