summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-08-21 18:49:52 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-08-21 18:49:52 +0000
commit216e0c06177a6976afc779abd54fe1bfa3b889c8 (patch)
treef2ae01ad1dd84b6710dc57dca9e7e0865ee50510 /llvm/lib
parentf0a3281c5f0b0fe40388c6fd55a6e091d2cae5c5 (diff)
downloadbcm5719-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.cpp5
-rw-r--r--llvm/lib/Transforms/IPO/PassManagerBuilder.cpp4
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);
OpenPOWER on IntegriCloud