diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-21 18:49:52 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-21 18:49:52 +0000 |
commit | 216e0c06177a6976afc779abd54fe1bfa3b889c8 (patch) | |
tree | f2ae01ad1dd84b6710dc57dca9e7e0865ee50510 /llvm/lib | |
parent | f0a3281c5f0b0fe40388c6fd55a6e091d2cae5c5 (diff) | |
download | bcm5719-llvm-216e0c06177a6976afc779abd54fe1bfa3b889c8.tar.gz bcm5719-llvm-216e0c06177a6976afc779abd54fe1bfa3b889c8.zip |
Respect LibraryInfo in populateLTOPassManager and use it. NFC.
llvm-svn: 216203
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/LTO/LTOCodeGenerator.cpp | 5 | ||||
-rw-r--r-- | llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/LTO/LTOCodeGenerator.cpp b/llvm/lib/LTO/LTOCodeGenerator.cpp index 1fdc5cf04dd..80aa48e0fbc 100644 --- a/llvm/lib/LTO/LTOCodeGenerator.cpp +++ b/llvm/lib/LTO/LTOCodeGenerator.cpp @@ -466,11 +466,9 @@ bool LTOCodeGenerator::generateObjectFile(raw_ostream &out, mergedModule->setDataLayout(TargetMach->getSubtargetImpl()->getDataLayout()); passes.add(new DataLayoutPass(mergedModule)); - // Add appropriate TargetLibraryInfo for this module. - passes.add(new TargetLibraryInfo(Triple(TargetMach->getTargetTriple()))); - TargetMach->addAnalysisPasses(passes); + Triple TargetTriple(TargetMach->getTargetTriple()); // Enabling internalize here would use its AllButMain variant. It // keeps only main if it exists and does nothing for libraries. Instead // we create the pass ourselves with the symbol list provided by the linker. @@ -479,6 +477,7 @@ bool LTOCodeGenerator::generateObjectFile(raw_ostream &out, PMB.DisableGVNLoadPRE = DisableGVNLoadPRE; if (!DisableInline) PMB.Inliner = createFunctionInliningPass(); + PMB.LibraryInfo = new TargetLibraryInfo(TargetTriple); PMB.populateLTOPassManager(passes); } diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp index 07f46883600..b76f3486e5f 100644 --- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -314,6 +314,10 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase &MPM) { } void PassManagerBuilder::populateLTOPassManager(PassManagerBase &PM) { + // Add LibraryInfo if we have some. + if (LibraryInfo) + PM.add(new TargetLibraryInfo(*LibraryInfo)); + // Provide AliasAnalysis services for optimizations. addInitialAliasAnalysisPasses(PM); |