This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/7871] [3.3/3.4 regression] ICE on legal code, global register variables problems
- From: "simonmar at microsoft dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Jan 2004 16:39:02 -0000
- Subject: [Bug optimization/7871] [3.3/3.4 regression] ICE on legal code, global register variables problems
- References: <20020909143600.7871.rz@linux-m68k.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From simonmar at microsoft dot com 2004-01-11 16:38 -------
Subject: RE: [3.3/3.4 regression] ICE on legal code, global register variables problems
> ------- Additional Comments From rz at linux-m68k dot org 2004-01-11
11:54 -------
> Subject: Re: [3.3/3.4 regression] ICE on legal code, global register
variables problems
>
> On Sun, Jan 11, 2004 at 12:45:53AM -0000, pinskia at gcc dot gnu dot
org wrote:
> >
> > ------- Additional Comments From pinskia at gcc dot gnu dot org
2004-01-11 00:45 -------
> > Two things, global registers are just evil and a bug that effects
m68k should not be
> > considered branching blocking.
>
> I might be wrong, but all evidence suggests this bug affects ALL
> architectures, not just m68k
>
> It appears global regs are now completely defunct since 3.1 so the
> feature could be safely removed in the next release. Not that I would
> wish that, it is one of the few features that gives gcc an advantage
> over competition in fields like virtual machines.
A plea for keeping the global register variable feature: our Haskell
compiler GHC (http://www.haskell.org/ghc/) absolutely relies on this.
We have thousands of users who would be affected. Currently we are
still afloat on x86 (the bug doesn't appear to affect this architecture
yet), but for other architectures we are already having to tell people
to install GCC 2.95 in order to use GHC. Our amd64 port is held up
because of this bug.
I'm sure we're not the only compiler that uses GCC as a backend and
relies on the register variable feature.
I've been eagerly anticipating GCC 3.4 so we can get back on track.
Please don't push this back to 3.4.1, or worse, remove support for
global registers altogether!
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7871