LTO: Add more loop simplification passes to LTO
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 15 Apr 2014 17:48:15 +0000 (17:48 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 15 Apr 2014 17:48:15 +0000 (17:48 +0000)
Similar to r202051, add missing loop simplification passes to the LTO
optimization pipeline.

Patch by Rafael Espindola.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206306 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/PassManagerBuilder.cpp

index 4a28b34468baa0a50e57e7f63d40fefdc549bff9..76f7c1098b0e24d38d1a054a28decdf9c66166fe 100644 (file)
@@ -334,7 +334,9 @@ void PassManagerBuilder::populateLTOPassManager(PassManagerBase &PM,
   // Nuke dead stores.
   PM.add(createDeadStoreEliminationPass());
 
-  // More loops are countable try to vectorize them.
+  // More loops are countable; try to optimize them.
+  PM.add(createIndVarSimplifyPass());
+  PM.add(createLoopDeletionPass());
   PM.add(createLoopVectorizePass(true, true));
 
   // Cleanup and simplify the code after the scalar optimizations.