Built egcs-1.1b on i586-pc-linux-gnulibc1, -fgcse slowdowns

Jeffrey A Law law@cygnus.com
Mon Sep 21 14:55:00 GMT 1998


  In message < Pine.LNX.3.96.980921082537.5478A-100000@darwin.adni.net >you write:
  > so I recompiled egcs-1.1b with --disable-haifa and it went up a bit.  I've
  > been playing with various options, and I found that egcs-1.1b gets the
  > time down to 5m40s *IF I GIVE THE -fno-gcse SWITCH*!
  > 
  > Should I be surprised that gcse pessimizes my code?
Somewhat suprised.

One of the problems with the existing gcse code is that it can lengthen
register livetimes unnecessarily.  This can hurt code in some cases.

In my benchmarking of the gcse algorithm that is currently in egcs it
generally improved code on the x86, but not always.

The cases where it made code worse were all problems with the extended
lifetimes of registers causing spills.

Cygnus will be donating an updated algorithm to implement global cse
which should improve the register lifetime situation with gcse.


jeff



More information about the Gcc mailing list