aboutsummaryrefslogtreecommitdiff
path: root/tools/lto/LTOCodeGenerator.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-03-18 19:51:00 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-03-18 19:51:00 +0000
commitf19d7a7af3f10b6d43f9e8b0271f0f836a33d52c (patch)
tree53087364c386fc3e36c974ab29227fddda313268 /tools/lto/LTOCodeGenerator.cpp
parent19f6f503d6638ab811f0da1b09db584e62a2b435 (diff)
Use lazy parsing in LTO. Unfortunately this is only a 3% time saving for
'ar'. Have to figure out how to make libLTO even lazier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127901 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/lto/LTOCodeGenerator.cpp')
-rw-r--r--tools/lto/LTOCodeGenerator.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp
index 6739e06767..ffe244dbcd 100644
--- a/tools/lto/LTOCodeGenerator.cpp
+++ b/tools/lto/LTOCodeGenerator.cpp
@@ -87,6 +87,10 @@ LTOCodeGenerator::~LTOCodeGenerator()
bool LTOCodeGenerator::addModule(LTOModule* mod, std::string& errMsg)
{
+
+ if(mod->getLLVVMModule()->MaterializeAllPermanently(&errMsg))
+ return true;
+
bool ret = _linker.LinkInModule(mod->getLLVVMModule(), &errMsg);
const std::vector<const char*> &undefs = mod->getAsmUndefinedRefs();