This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: reload segfault


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]