[Object][Archive] Improve performance.
authorMichael J. Spencer <bigcheesegs@gmail.com>
Sun, 3 Feb 2013 10:48:50 +0000 (10:48 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Sun, 3 Feb 2013 10:48:50 +0000 (10:48 +0000)
commit0f76e648d800d7641b4e6e6decb90949cd680b03
tree611488238f742926286db5ee2e1809cad18353d8
parentd9d2f187759d0154574657c195068d367c338473
[Object][Archive] Improve performance.

Improve performance of iterating over children and accessing the member file
buffer by caching the file size and moving code out to the header.

This also makes getBuffer return a StringRef instead of a MemoryBuffer. Both
fixing a memory leak and removing a malloc.

This takes getBuffer from ~10% of the time in lld to unmeasurable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174272 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Object/Archive.h
lib/Object/Archive.cpp
tools/llvm-nm/llvm-nm.cpp