mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 02:29:18 +00:00
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
This commit is contained in:
parent
e8a957d2a9
commit
c8dc96be28
@ -112,6 +112,7 @@ public:
|
||||
bool SLPVectorize;
|
||||
bool LoopVectorize;
|
||||
bool LateVectorize;
|
||||
bool RerollLoops;
|
||||
|
||||
private:
|
||||
/// ExtensionList - This is list of all of the extensions that are registered.
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user