diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2018-05-25 01:32:36 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2018-05-25 01:32:36 +0000 |
commit | e6c30fdda7991cfcedff2ba778b93b958b0d5077 (patch) | |
tree | dcd8cc22d84330a8d5033d388afbbbffcf5cd697 /llvm/lib/Passes/PassBuilder.cpp | |
parent | 29770f7a629c8a1c4324ebe50f1c17cffbc58a6b (diff) | |
download | bcm5719-llvm-e6c30fdda7991cfcedff2ba778b93b958b0d5077.tar.gz bcm5719-llvm-e6c30fdda7991cfcedff2ba778b93b958b0d5077.zip |
Restore the LoopInstSimplify pass, reverting r327329 that removed it.
The plan had always been to move towards using this rather than so much
in-pass simplification within the loop pipeline, but we never got around
to it.... until only a couple months after it was removed due to disuse.
=/
This commit is just a pure revert of the removal. I will add tests and
do some basic cleanup in follow-up commits. Then I'll wire it into the
loop pass pipeline.
Differential Revision: https://reviews.llvm.org/D47353
llvm-svn: 333250
Diffstat (limited to 'llvm/lib/Passes/PassBuilder.cpp')
-rw-r--r-- | llvm/lib/Passes/PassBuilder.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp index 4787e70bbb1..8b9962af38c 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/lib/Passes/PassBuilder.cpp @@ -111,6 +111,7 @@ #include "llvm/Transforms/Scalar/LoopDeletion.h" #include "llvm/Transforms/Scalar/LoopDistribute.h" #include "llvm/Transforms/Scalar/LoopIdiomRecognize.h" +#include "llvm/Transforms/Scalar/LoopInstSimplify.h" #include "llvm/Transforms/Scalar/LoopLoadElimination.h" #include "llvm/Transforms/Scalar/LoopPassManager.h" #include "llvm/Transforms/Scalar/LoopPredication.h" @@ -391,8 +392,9 @@ PassBuilder::buildFunctionSimplificationPipeline(OptimizationLevel Level, // FIXME: Currently this is split into two loop pass pipelines because we run // some function passes in between them. These can and should be replaced by // loop pass equivalenst but those aren't ready yet. Specifically, - // `SimplifyCFGPass` and `InstCombinePass` are used. We just have - // `LoopSimplifyCFGPass` which isn't yet powerful enough. + // `SimplifyCFGPass` and `InstCombinePass` are used. We have + // `LoopSimplifyCFGPass` which isn't yet powerful enough, and the closest to + // the other we have is `LoopInstSimplify`. LoopPassManager LPM1(DebugLogging), LPM2(DebugLogging); // Rotate Loop - disable header duplication at -Oz |