This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

reordering-of-passes


Hi,
I have change the sequence order of basic block reorder
pass(pass_reorder_blocks) and put it after the scheduling pass(
pass_sched2) in the passes.c file. I successfully build the gcc version
4-1.1.


Original sequence
------------------
  NEXT_PASS (pass_if_after_reload);
  NEXT_PASS (pass_regrename);
  NEXT_PASS (pass_reorder_blocks);
  NEXT_PASS (pass_branch_target_load_optimize);
  NEXT_PASS (pass_leaf_regs);
  NEXT_PASS (pass_sched2);

After changing
-----------------
  NEXT_PASS (pass_if_after_reload);
  NEXT_PASS (pass_regrename);
  NEXT_PASS (pass_branch_target_load_optimize);
  NEXT_PASS (pass_leaf_regs);
  NEXT_PASS
  NEXT_PASS (pass_reorder_blocks);


I had calculated stalls occured for a qiucksort program by using the
option "-fsched-verbose=6" at level -O2 for the target -march=pentium
before and after changing sequence order of passes. But the stalls are
reduced for the one which i changed the sequence.

My doubt is why stalls are reduced ? Is basic block reordering
optimization pass is considered while calculating stalls during
instruction scheduling? because i placed pass_reorder_blocks after the
pass_sched2
Please help me.


Thanks in advance
Pavan,
Home: http://www.cse.iitb.ac.in/~pavankumar







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]