[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