This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Question about the difference between two instruction scheduling passes
- From: Alex Turjan <aturjan at yahoo dot com>
- To: gcc at gcc dot gnu dot org, "Amker.Cheng" <amker dot cheng at gmail dot com>
- Date: Wed, 19 Aug 2009 13:30:40 -0700 (PDT)
- Subject: Re: Question about the difference between two instruction scheduling passes
> 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.