This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: reload segfault
- To: law at cygnus dot com
- Subject: Re: reload segfault
- From: Bill Currie <bill at taniwha dot tssc dot co dot nz>
- Date: Mon, 25 Jan 1999 10:53:25 +1300
- CC: egcs at cygnus dot com
- References: <13856.917133923@hurl.cygnus.com>
Jeffrey A Law wrote:
> This pseudo should have been replaced by a hard reg or a stack slot by the
> time reload_cse runs.
That's what I suspected. This means I did something wrong somewhere
during the reload pass (ie allocating a pseudo is my best guess).
> The first thing I check for when I see this kind of problem is the use/set
> counts for the register in question.
>
> p reg_n_info.u.regs[169]
gdb didn't like that: `There is no member named u.'
> In particular check the "refs" field. If it is zero, then the problem is
> probably before allocation & reload. If it's nonzero, then you're going to
> have to dive deeper into reload.
I beleive I'll have to anyway (I can't quickly find the info your
talking about) as I think I've incorrectly allocated a pseudo (thanks to
your confirmation of that thought) that somehow slipped though the check
in gen_reg_rtx. I'll do some careful breakpoint trickery on that
function and see if it get's me anywhere.
I seem to remember a discussion about reload_in_progress and
reload_completed not being enough to test whether it's safe to allocate
pseudos. Is this true, and if so, what's the solution?
Bill
--
Leave others their otherness.