search for: createcodepreparationpass

Displaying 10 results from an estimated 10 matches for "createcodepreparationpass".

2013 Sep 14
0
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
...gen-scev pollyNoGenSCEV_1comb (run 46): same option as pollyNoGenSCEV but remove the first "InstructionCombining" canonicalization pass when generate LLVMPolly.so pollyNoGenSCEV_nocan (run 47): same option as pollyNoGenSCEV but remove all canonicalization passes (actually only keep "createCodePreparationPass") when generate LLVMPolly.so Fist. let's see the results of removing the first "InstructionCombining" pass like this: static void registerCanonicalicationPasses(llvm::PassManagerBase &PM) { PM.add(llvm::createPromoteMemoryToRegisterPass()); // PM.add(llvm::createInstruc...
2013 Sep 13
2
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
...lvm::createTailCallEliminationPass()); PM.add(llvm::createCFGSimplificationPass()); PM.add(llvm::createReassociatePass()); PM.add(llvm::createLoopRotatePass()); PM.add(llvm::createInstructionCombiningPass()); if (!SCEVCodegen) PM.add(polly::createIndVarSimplifyPass()); PM.add(polly::createCodePreparationPass()); } If we remove the first "InstructionCombining" pass, then the compile-time is reduced by more than 10% . The results reported by -ftime-report become very similar to the case without Polly canonicalization: ---User Time--- --System Time-- --User+System-- ---Wall Time--- ---...
2013 Apr 17
3
[LLVMdev] [polly] pass ordering
...m::createTailCallEliminationPass()); PM.add(llvm::createCFGSimplificationPass()); PM.add(llvm::createReassociatePass()); PM.add(llvm::createLoopRotatePass()); PM.add(llvm::createInstructionCombiningPass()); if (!SCEVCodegen) PM.add(polly::createIndVarSimplifyPass()); PM.add(polly::createCodePreparationPass()); PM.add(polly::createRegionSimplifyPass()); Sergei was saying that on some benchmarks PromoteMemoryToRegister was causing performance regressions when it is run with and without Polly and scheduled that early. Another remark is that these passes apply to all the functions, transforming them...
2013 Sep 17
4
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
...gen-scev pollyNoGenSCEV_1comb (run 46): same option as pollyNoGenSCEV but remove the first "InstructionCombining" canonicalization pass when generate LLVMPolly.so pollyNoGenSCEV_nocan (run 47): same option as pollyNoGenSCEV but remove all canonicalization passes (actually only keep "createCodePreparationPass") when generate LLVMPolly.so Fist. let's see the results of removing the first "InstructionCombining" pass like this: static void registerCanonicalicationPasses(llvm::PassManagerBase &PM) { PM.add(llvm::createPromoteMemoryToRegisterPass()); // PM.add(llvm::createInstruc...
2013 Apr 17
0
[LLVMdev] [polly] pass ordering
...d(llvm::createCFGSimplificationPass()); > PM.add(llvm::createReassociatePass()); > PM.add(llvm::createLoopRotatePass()); > PM.add(llvm::createInstructionCombiningPass()); > > if (!SCEVCodegen) > PM.add(polly::createIndVarSimplifyPass()); > > PM.add(polly::createCodePreparationPass()); > PM.add(polly::createRegionSimplifyPass()); Right. > Sergei was saying that on some benchmarks PromoteMemoryToRegister was causing > performance regressions when it is run with and without Polly and scheduled that > early. Are you saying these passes add compile time overhead...
2013 Apr 17
2
[LLVMdev] [polly] pass ordering
...s()); > > PM.add(llvm::createReassociatePass()); > > PM.add(llvm::createLoopRotatePass()); > > PM.add(llvm::createInstructionCombiningPass()); > > > > if (!SCEVCodegen) > > PM.add(polly::createIndVarSimplifyPass()); > > > > PM.add(polly::createCodePreparationPass()); > > PM.add(polly::createRegionSimplifyPass()); > > Right. > > >Sergei was saying that on some benchmarks PromoteMemoryToRegister was causing > >performance regressions when it is run with and without Polly and scheduled that > >early. > > Are you sayi...
2013 Apr 17
0
[LLVMdev] [polly] pass ordering
...lvm::createReassociatePass()); >>> PM.add(llvm::createLoopRotatePass()); >>> PM.add(llvm::createInstructionCombiningPass()); >>> >>> if (!SCEVCodegen) >>> PM.add(polly::createIndVarSimplifyPass()); >>> >>> PM.add(polly::createCodePreparationPass()); >>> PM.add(polly::createRegionSimplifyPass()); >> >> Right. >> >>> Sergei was saying that on some benchmarks PromoteMemoryToRegister was causing >>> performance regressions when it is run with and without Polly and scheduled that >>> earl...
2013 Apr 17
1
[LLVMdev] [polly] pass ordering
...> > PM.add(llvm::createReassociatePass()); > > PM.add(llvm::createLoopRotatePass()); > > PM.add(llvm::createInstructionCombiningPass()); > > > > if (!SCEVCodegen) > > PM.add(polly::createIndVarSimplifyPass()); > > > > PM.add(polly::createCodePreparationPass()); > > PM.add(polly::createRegionSimplifyPass()); > > Right. > > > Sergei was saying that on some benchmarks PromoteMemoryToRegister > > was causing > > performance regressions when it is run with and without Polly and > > scheduled that > > early....
2013 Sep 09
0
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
On 09/09/2013 05:18 AM, Star Tan wrote: > > At 2013-09-09 05:52:35,"Tobias Grosser" <tobias at grosser.es> wrote: > >> On 09/08/2013 08:03 PM, Star Tan wrote: >> Also, I wonder if your runs include the dependence analysis. If this is >> the case, the numbers are very good. Otherwise, 30% overhead seems still >> to be a little bit much. > I think
2013 Sep 09
4
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
At 2013-09-09 05:52:35,"Tobias Grosser" <tobias at grosser.es> wrote: >On 09/08/2013 08:03 PM, Star Tan wrote: >> Hello all, >> >> >> I have done some basic experiments about Polly canonicalization passes and I found the SCEV canonicalization has significant impact on both compile-time and execution-time performance. > >Interesting. > >>