diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-03-13 21:54:20 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-03-13 21:54:20 +0000 |
commit | cba833a09d06598f74a8f2ae4c612b1ea092d886 (patch) | |
tree | ff6c91c875a48e7d558bd027ccadd873708156cc /llvm/lib/Object/IRObjectFile.cpp | |
parent | 794e6a60a8ceab3781a8b99952f24592a4a9c007 (diff) | |
download | bcm5719-llvm-cba833a09d06598f74a8f2ae4c612b1ea092d886.tar.gz bcm5719-llvm-cba833a09d06598f74a8f2ae4c612b1ea092d886.zip |
Be lazy about loading metadata in IRObjectFile.
This speeds up llvm-ar building lib64/libclangSema.a with debug IR files
from 8.658015807 seconds to just 0.351036519 seconds :-)
llvm-svn: 232221
Diffstat (limited to 'llvm/lib/Object/IRObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/IRObjectFile.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Object/IRObjectFile.cpp b/llvm/lib/Object/IRObjectFile.cpp index 6369d8befd1..58c4ca312e8 100644 --- a/llvm/lib/Object/IRObjectFile.cpp +++ b/llvm/lib/Object/IRObjectFile.cpp @@ -300,7 +300,9 @@ llvm::object::IRObjectFile::create(MemoryBufferRef Object, std::unique_ptr<MemoryBuffer> Buff( MemoryBuffer::getMemBuffer(BCOrErr.get(), false)); - ErrorOr<Module *> MOrErr = getLazyBitcodeModule(std::move(Buff), Context); + ErrorOr<Module *> MOrErr = + getLazyBitcodeModule(std::move(Buff), Context, nullptr, + /*ShouldLazyLoadMetadata*/ true); if (std::error_code EC = MOrErr.getError()) return EC; |