peephole2: dead regs not marked as dead
Paolo Bonzini
bonzini@gnu.org
Wed Oct 27 11:38:00 GMT 2010
On 10/27/2010 12:54 PM, Georg Lay wrote:
>>> reg 26 (Stackpointer) and reg 27 (return address) do not matter here.
>>> The result ist
>>>
>>> insn 10 (CALL) CURRENT = FIRST = 0xc008010 = {...,4,15}
>>
>> Ok, this looks like a bug somewhere (either in DF or in your backend).
>
> hmmm. How could the backend introduce a bug in lifeness?
> REG15 is special in some way
>
> - it is call-saved
> - it is neither an element of FUNCTION_ARG_REGNO_P nor of EPILOGUE_USES
> nor of CALL_[REALLY_]USED_REGISTERS
Looks fine.
However, your previous dump showed {2,26,27} for lr out, while this
debug output shows {2,15,26,27} at the beginning of
df_simulate_initialize_backwards.
I would then look at the dump for the previous pass, and/or put
breakpoints before/after df_analyze to see why the two dumps differ.
Paolo
More information about the Gcc
mailing list