diff options
author | Davide Italiano <davide@freebsd.org> | 2016-08-31 17:02:44 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2016-08-31 17:02:44 +0000 |
commit | 1e9d3d3b40ccf8c46ae8cd5ee30e9dfbf6bd6604 (patch) | |
tree | ac098c0473fa17a27231cd98aa41e5385d24bf24 /llvm/lib/LTO/LTOBackend.cpp | |
parent | 48f814e8a397594f8c3ca1c284d54b23b3ca7396 (diff) | |
download | bcm5719-llvm-1e9d3d3b40ccf8c46ae8cd5ee30e9dfbf6bd6604.tar.gz bcm5719-llvm-1e9d3d3b40ccf8c46ae8cd5ee30e9dfbf6bd6604.zip |
[lib/LTO] Factor out logic for running passes.
This is in preparation for adding an option
to run a custom pipeline with the new PM. It's
currently used in lld.
llvm-svn: 280258
Diffstat (limited to 'llvm/lib/LTO/LTOBackend.cpp')
-rw-r--r-- | llvm/lib/LTO/LTOBackend.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/LTO/LTOBackend.cpp b/llvm/lib/LTO/LTOBackend.cpp index f5574c9d2b6..5f17c65cb26 100644 --- a/llvm/lib/LTO/LTOBackend.cpp +++ b/llvm/lib/LTO/LTOBackend.cpp @@ -114,10 +114,8 @@ createTargetMachine(Config &C, StringRef TheTriple, const Target *TheTarget) { C.CodeModel, C.CGOptLevel)); } -bool opt(Config &C, TargetMachine *TM, unsigned Task, Module &M, - bool IsThinLto) { - M.setDataLayout(TM->createDataLayout()); - +static void runOldPMPasses(Config &C, Module &M, TargetMachine *TM, + bool IsThinLto) { legacy::PassManager passes; passes.add(createTargetTransformInfoWrapperPass(TM->getTargetIRAnalysis())); @@ -136,7 +134,12 @@ bool opt(Config &C, TargetMachine *TM, unsigned Task, Module &M, else PMB.populateLTOPassManager(passes); passes.run(M); +} +bool opt(Config &C, TargetMachine *TM, unsigned Task, Module &M, + bool IsThinLto) { + M.setDataLayout(TM->createDataLayout()); + runOldPMPasses(C, M, TM, IsThinLto); if (C.PostOptModuleHook && !C.PostOptModuleHook(Task, M)) return false; |