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