From: Jim Wilson <wilson@chestnut.cygnus.com>
To: Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
Cc: egcs@cygnus.com
Subject: Re: Some Haifa scheduler bugs
Date: Wed, 03 Sep 1997 11:58:00 -0000 [thread overview]
Message-ID: <199709031858.LAA27278@cygnus.com> (raw)
In-Reply-To: <15524.873304637@hurl.cygnus.com>
Basically any machine that defines SMALL_REGISTER_CLASSES and passes args in
registers is playing with fire -- reload can and will silently generate incorrect
code for such targets. For that reason I _highly_ recommend against using
registers for parameter passing on the x86 targets.
I'll second it. The x86 regparm attribute is unsafe, and should not be used.
It might be possible to fix the problem by hacking reload and the x86 port,
but it doesn't seem very worthwhile. The problem is hard to fix, and exposes
people to unnecessary risks of compiler bugs. There are probably easier
ways to get faster x86 code.
Jeff didn't mention it, but it is also unwise to schedule before
register allocation if SMALL_REGISTER_CLASSES is defined, even if you
are not using register parameters. The goal of the scheduler is to reduce
pipeline stalls at the expense of increasing register pressure. This is
exactly the wrong thing to do on a SMALL_REGISTER_CLASSES machine such as
the x86, because you will get so many extra spills that the code may run
slower. A scheduler that has different goals might be able to do better,
but given the way the existing scheduler works, I would recommend avoiding
it before register allocation on the x86.
Jim
next prev parent reply other threads:[~1997-09-03 11:58 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.SOL.3.90.970826140826.2901J-100000@maigret.informatik.rwth-aachen.de>
1997-09-01 20:33 ` Jeffrey A Law
1997-09-03 9:30 ` Bernd Schmidt
1997-09-03 9:37 ` Jeffrey A Law
1997-09-03 9:44 ` Bernd Schmidt
1997-09-03 10:07 ` Jeffrey A Law
1997-09-05 7:15 ` Bernd Schmidt
1997-09-05 7:55 ` Jeffrey A Law
1997-09-05 8:33 ` Ian Lance Taylor
1997-09-03 11:58 ` Jim Wilson [this message]
1997-09-04 1:16 ` regparm & other gcc bug Martynas Kunigelis
1997-09-05 9:29 ` Kamil Iskra
1997-09-06 5:19 ` Martynas Kunigelis
1997-09-03 11:39 ` Some Haifa scheduler bugs Paul Koning
1997-09-03 11:50 ` David Edelsohn
1997-09-03 13:13 ` Richard Henderson
1997-09-03 13:19 ` Jeffrey A Law
1997-09-04 9:33 ` Craig Burley
1997-09-04 11:12 ` Jeffrey A Law
1997-09-04 11:33 ` David S. Miller
1997-09-04 14:38 ` David Edelsohn
1997-09-04 11:27 meissner
[not found] <Pine.SOL.3.90.970826141030.2901K-100000@maigret.informatik.rwth-aachen.de>
1997-09-01 20:42 ` Jeffrey A Law
-- strict thread matches above, loose matches on Subject: below --
1997-08-26 14:34 Bernd Schmidt
1997-08-22 13:53 Building of generated parser files Andreas Schwab
1997-08-22 15:02 ` Some Haifa scheduler bugs Jeffrey A Law
1997-08-22 15:24 ` Jeffrey A Law
1997-08-22 10:48 Building of generated parser files Niklas Hallqvist
1997-08-22 13:28 ` Some Haifa scheduler bugs Bernd Schmidt
1997-08-21 16:51 Problems on PowerPC David Edelsohn
1997-08-21 17:43 ` Some Haifa scheduler bugs Jeffrey A Law
1997-08-21 15:20 egcs repository Joel Sherrill
1997-08-21 15:47 ` Some Haifa scheduler bugs Bernd Schmidt
1997-08-19 19:00 Jeffrey A Law
1997-08-19 17:54 Jeffrey A Law
1997-08-19 7:36 egcs: A new compiler project to merge the existing GCC forks (fwd) Robert Wilhelm
1997-08-19 9:34 ` Some Haifa scheduler bugs Bernd Schmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=199709031858.LAA27278@cygnus.com \
--to=wilson@chestnut.cygnus.com \
--cc=crux@Pool.Informatik.RWTH-Aachen.DE \
--cc=egcs@cygnus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).