Always execute polly::CodePreparation before Polly
authorMichael Kruse <llvm@meinersbur.de>
Thu, 23 Jul 2015 20:00:20 +0000 (20:00 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Thu, 23 Jul 2015 20:00:20 +0000 (20:00 +0000)
ScopDetection does not allow scops to begin with the entry block, were
allocas are added at code generation.

llvm-svn: 243036

polly/lib/Support/RegisterPasses.cpp

index f0c611b..07e4d04 100644 (file)
@@ -264,6 +264,7 @@ registerPollyLoopOptimizerEndPasses(const llvm::PassManagerBuilder &Builder,
   if (PassPosition != POSITION_AFTER_LOOPOPT)
     return;
 
+  PM.add(polly::createCodePreparationPass());
   polly::registerPollyPasses(PM);
   // TODO: Add some cleanup passes
 }
@@ -277,6 +278,7 @@ registerPollyScalarOptimizerLatePasses(const llvm::PassManagerBuilder &Builder,
   if (PassPosition != POSITION_BEFORE_VECTORIZER)
     return;
 
+  PM.add(polly::createCodePreparationPass());
   polly::registerPollyPasses(PM);
   // TODO: Add some cleanup passes
 }