Respected sir, DFA pipeline hazard recognizer is used to avoid structural hazards. While intra block(basic block scheduling) scheduling how data hazards are avoided . DFA will take care of only structural hazards, but what about data hazards. First cycle mutiple pass scheduling algorithm tries different schedules and choose the best one. intra block scheduling reorders the instructions within the basic block by constructing DAG and based on LIST scheduling algorithm . If First cycle mutiple pass algorithm chooses the best schedule then why gcc needs intra block scheduling ? Now gcc will do instruction scheduling beyond basic blocks i,e inter block scheduling (region scheduling) then why gcc needs intrablock scheduling? what is command line option for enabling only intra block(with in basic block) scheduling. and diabling all remaining intruction scheduling ( trace, modulo etc). Please help me sir. Thanks in advance Pavan, Home: http://www.cse.iitb.ac.in/~pavankumar