[polly] r238643 - Add indvar pass to canonicalization sequence
    Tobias Grosser 
    tobias at grosser.es
       
    Fri May 29 23:16:41 PDT 2015
    
    
  
Author: grosser
Date: Sat May 30 01:16:41 2015
New Revision: 238643
URL: http://llvm.org/viewvc/llvm-project?rev=238643&view=rev
Log:
Add indvar pass to canonicalization sequence
Running indvar before Polly is useful as this eliminates zexts as they commonly
appear when a 32 bit induction variable (type int) was used on a 64 bit system.
These zexts confuse our delinearization and prevent for example the successful
delinearization of the nussinov kernel in polybench-c-4.1.
This fixes http://llvm.org/PR23426
Suggested-by: Xing Su <xsu.llvm at outlook.com>
Modified:
    polly/trunk/lib/Transform/Canonicalization.cpp
Modified: polly/trunk/lib/Transform/Canonicalization.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Transform/Canonicalization.cpp?rev=238643&r1=238642&r2=238643&view=diff
==============================================================================
--- polly/trunk/lib/Transform/Canonicalization.cpp (original)
+++ polly/trunk/lib/Transform/Canonicalization.cpp Sat May 30 01:16:41 2015
@@ -29,6 +29,7 @@ void polly::registerCanonicalicationPass
   PM.add(llvm::createReassociatePass());
   PM.add(llvm::createLoopRotatePass());
   PM.add(llvm::createInstructionCombiningPass());
+  PM.add(llvm::createIndVarSimplifyPass());
   PM.add(polly::createCodePreparationPass());
 }
 
    
    
More information about the llvm-commits
mailing list