[PATCH] D32500: Optimize ItaniumDemangle by using an arena allocator

Scott Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 25 11:49:46 PDT 2017


scott.smith created this revision.

Use an arena allocator to reduce the number of allocations and frees.  Individual allocations become extremely cheap, and individual frees are free.  Change from std::string to a custom string implementation that is a reference to immutable data, so that substr and copies are free.  Remove the null terminator so that strings can be appended without copying the base.


Repository:
  rL LLVM

https://reviews.llvm.org/D32500

Files:
  lib/Demangle/ItaniumDemangle.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32500.96613.patch
Type: text/x-patch
Size: 29788 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170425/be537963/attachment.bin>


More information about the llvm-commits mailing list