On 10/18/2010 10:33 AM, Jeff Law wrote:
 On 10/18/10 09:22, David Edelsohn wrote:
On Mon, Oct 18, 2010 at 8:27 AM, Nathan Froyd<froy...@codesourcery.com> wrote:
On Mon, Oct 18, 2010 at 02:49:21PM +0800, Jie Zhang wrote:
3. The aforementioned rs6000 hack rs6000_issue_rate was added by

2003-03-03  David Edelsohn<edels...@gnu.org>

* config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
         (rs6000_variable_issue): Do not return negative value.
         (rs6000_issue_rate): Uniformly set issue rate to 1 for first
         scheduling pass.

, which was more than 7 years ago. Is this still needed now?
I asked David about this on IRC several days ago.  He indicated that it
was necessary to prevent the first scheduling pass from unnecessarily
increasing register pressure. I don't know whether anybody has actually
tested it with recent GCC, though presumably it did help when it was
installed.
I am not sure when it last was re-checked, but it was checked after
sched_pressure was added.  When that option is not enabled, the
issue_rate change still helped.
Did anyone check this after Bernd's work to better handle allocation of double-word pseudos in IRA? That code should be handling the false conflicts created by movement of clobbers.

Running CPU2006, with the hack removed I see about a 1% improvement in specint (10% in 456.hmmer, a couple others in the 3% range, -3% 401.bzip2) and a 1% degradation in specfp (mainly due to a 13% degradation in 435.gromacs). But 454.calculix also fails for me (output miscompare), so assume we're generating incorrect code for some reason with the hack removed.

-Pat

Reply via email to