[PATCH] D28032: Allow target to specify early module passes
Stanislav Mekhanoshin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 21 14:09:50 PST 2016
rampitec created this revision.
rampitec added a reviewer: jlebar.
rampitec added a subscriber: llvm-commits.
rampitec set the repository for this revision to rL LLVM.
Call addEarlyAsPossiblePasses to populate module passes from BackendUtil.
This patch depends on the llvm's counterpart https://reviews.llvm.org/D28031.
Repository:
rL LLVM
https://reviews.llvm.org/D28032
Files:
lib/CodeGen/BackendUtil.cpp
Index: lib/CodeGen/BackendUtil.cpp
===================================================================
--- lib/CodeGen/BackendUtil.cpp
+++ lib/CodeGen/BackendUtil.cpp
@@ -341,12 +341,19 @@
MPM.add(new TargetLibraryInfoWrapperPass(*TLII));
// Add target-specific passes that need to run as early as possible.
- if (TM)
+ if (TM) {
PMBuilder.addExtension(
PassManagerBuilder::EP_EarlyAsPossible,
[&](const PassManagerBuilder &, legacy::PassManagerBase &PM) {
- TM->addEarlyAsPossiblePasses(PM);
+ TM->addEarlyAsPossiblePasses(PM, PMT_FunctionPassManager);
+ });
+
+ PMBuilder.addExtension(
+ PassManagerBuilder::EP_ModuleOptimizerEarly,
+ [&](const PassManagerBuilder &, legacy::PassManagerBase &PM) {
+ TM->addEarlyAsPossiblePasses(PM, PMT_ModulePassManager);
});
+ }
PMBuilder.addExtension(PassManagerBuilder::EP_EarlyAsPossible,
addAddDiscriminatorsPass);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28032.82272.patch
Type: text/x-patch
Size: 982 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161221/dd16ebe6/attachment-0001.bin>
More information about the llvm-commits
mailing list