summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Passes/PassBuilder.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2018-05-25 01:32:36 +0000
committerChandler Carruth <chandlerc@gmail.com>2018-05-25 01:32:36 +0000
commite6c30fdda7991cfcedff2ba778b93b958b0d5077 (patch)
treedcd8cc22d84330a8d5033d388afbbbffcf5cd697 /llvm/lib/Passes/PassBuilder.cpp
parent29770f7a629c8a1c4324ebe50f1c17cffbc58a6b (diff)
downloadbcm5719-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.cpp6
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
OpenPOWER on IntegriCloud