diff options
author | Hal Finkel <hfinkel@anl.gov> | 2013-11-17 16:02:50 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2013-11-17 16:02:50 +0000 |
commit | c8dc96be28fd1a3d6ddebbb48b8d55b61e4bd89b (patch) | |
tree | ef0d752361928fd7bf0a0142d4b938eede1be18d /lib | |
parent | e8a957d2a91d02af0b9c3808b31067d236b22196 (diff) | |
download | external_llvm-c8dc96be28fd1a3d6ddebbb48b8d55b61e4bd89b.zip external_llvm-c8dc96be28fd1a3d6ddebbb48b8d55b61e4bd89b.tar.gz external_llvm-c8dc96be28fd1a3d6ddebbb48b8d55b61e4bd89b.tar.bz2 |
Add a loop rerolling flag to the PassManagerBuilder
This adds a boolean member variable to the PassManagerBuilder to control loop
rerolling (just like we have for unrolling and the various vectorization
options). This is necessary for control by the frontend. Loop rerolling remains
disabled by default at all optimization levels.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194966 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Transforms/IPO/PassManagerBuilder.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp index 5399e68..24c5018 100644 --- a/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -69,6 +69,7 @@ PassManagerBuilder::PassManagerBuilder() { SLPVectorize = RunSLPVectorization; LoopVectorize = RunLoopVectorization; LateVectorize = LateVectorization; + RerollLoops = RunLoopRerolling; } PassManagerBuilder::~PassManagerBuilder() { @@ -220,7 +221,7 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase &MPM) { addExtensionsToPM(EP_ScalarOptimizerLate, MPM); - if (RunLoopRerolling) + if (RerollLoops) MPM.add(createLoopRerollPass()); if (SLPVectorize) MPM.add(createSLPVectorizerPass()); // Vectorize parallel scalar chains. |