egcs debugging (on alpha)
Jeffrey A Law
law@hurl.cygnus.com
Tue Feb 9 15:38:00 GMT 1999
In message < Pine.LNX.4.04.9902091809030.11211-100000@sdi.aatech.com >you write:
> On Tue, 9 Feb 1999, Jeffrey A Law wrote:
> (gdb) print *reg_n_info.data.reg[597]
> $3 = {first_uid = 11248, last_uid = 1704, last_note_uid = 1704, sets = 1,
> refs = 5, deaths = 2, live_length = 60, calls_crossed = 1,
> basic_block = -2, changes_size = 1 '\001'}
Hmmm. It's not a reference counting problem :-)
Probably the next thing is to find out what the allocators *thought* they
did :-)
I would put a breakpoint in "reload", then p reg_renumber[597] at the start
of reload. Then "finish" and print it again.
The point is to find out if it had a register before or after reload.
You might also want to put a conditional breakpoint in emit_reload_insns
Something like
b emit_reload_insns if chain->insn->fld[0].rtint == 11940
Would be the magic for the current sources.
For the egcs-1.1.x releases use this instead:
b emit_reload_insns if insn->fld[0].rtint == 11940
When you stop do
p debug_reload()
p debug_rtx(reg_equiv_mem[597])
p debug_rtx(reg_equiv_address[597])
Are you having fun yet?
jeff
More information about the Gcc-bugs
mailing list