forked from OSchip/llvm-project
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@outlook.com> llvm-svn: 238643
This commit is contained in:
parent
3bedf4407b
commit
3e77d14563
|
@ -29,6 +29,7 @@ void polly::registerCanonicalicationPasses(llvm::legacy::PassManagerBase &PM) {
|
|||
PM.add(llvm::createReassociatePass());
|
||||
PM.add(llvm::createLoopRotatePass());
|
||||
PM.add(llvm::createInstructionCombiningPass());
|
||||
PM.add(llvm::createIndVarSimplifyPass());
|
||||
PM.add(polly::createCodePreparationPass());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue