diff options
author | Xinliang David Li <davidxl@google.com> | 2017-06-25 00:26:43 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@google.com> | 2017-06-25 00:26:43 +0000 |
commit | 0a14fbb39c767b907ec615e08618e807de612051 (patch) | |
tree | 8a0214f9f0b94094217cd54983a7fb4704a631dc /lib/Passes | |
parent | f33ec6fb1843ac84790f448e78c2c9013ea422bf (diff) |
[PGO] Implementate profile counter regiser promotion
Differential Revision: http://reviews.llvm.org/D34085
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306231 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Passes')
-rw-r--r-- | lib/Passes/PassBuilder.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Passes/PassBuilder.cpp b/lib/Passes/PassBuilder.cpp index f4e0b8dcf4ac..78d5ea955e64 100644 --- a/lib/Passes/PassBuilder.cpp +++ b/lib/Passes/PassBuilder.cpp @@ -464,10 +464,15 @@ static void addPGOInstrPasses(ModulePassManager &MPM, bool DebugLogging, if (RunProfileGen) { MPM.addPass(PGOInstrumentationGen()); + FunctionPassManager FPM; + FPM.addPass(createFunctionToLoopPassAdaptor(LoopRotatePass())); + MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM))); + // Add the profile lowering pass. InstrProfOptions Options; if (!ProfileGenFile.empty()) Options.InstrProfileOutput = ProfileGenFile; + Options.DoCounterPromotion = true; MPM.addPass(InstrProfiling(Options)); } |