summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineCopyPropagation.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-05-25 21:15:37 +0000
committerZachary Turner <zturner@google.com>2017-05-25 21:15:37 +0000
commit7f97c362a4640d2ce8481b091b8f5df495b13fda (patch)
tree880d82ba85df0a01d62377ee145f02fda6483ff9 /llvm/lib/CodeGen/MachineCopyPropagation.cpp
parent95c625ecc9067f7215f476f44f01cb0cc0c24ba8 (diff)
downloadbcm5719-llvm-7f97c362a4640d2ce8481b091b8f5df495b13fda.tar.gz
bcm5719-llvm-7f97c362a4640d2ce8481b091b8f5df495b13fda.zip
[CodeView Type Merging] Don't keep re-allocating temp serializer.
Previously, every time we wanted to serialize a field list record, we would create a new copy of FieldListRecordBuilder, which would in turn create a temporary instance of TypeSerializer, which itself had a std::vector<> that was about 128K in size. So this 128K allocation was happening every time. We can re-use the same instance over and over, we just have to clear its internal hash table and seen records list between each run. This saves us from the constant re-allocations. This is worth an ~18.5% speed increase (3.75s -> 3.05s) in my tests. Differential Revision: https://reviews.llvm.org/D33506 llvm-svn: 303919
Diffstat (limited to 'llvm/lib/CodeGen/MachineCopyPropagation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud