> Gcc only does this work in the second pass, but what's the
> point? Is it wrong or just not necessary  in the first sched
> pass?

Regardless of the target architecture from the correctness point of view sched1 
can be disabled. sched1 has as purpose shortening live ranges.
Short live ranges allow the register allocation to:
1. generate less spills and 
2. also to avoid useless live ranges splitting. 

The second point impacts the register renaming phase which allows sched2 phase 
to extract more ilp.




      

Reply via email to