On May 13, 2011, at 5:30 PM, Paul Koning wrote:
>
> On May 13, 2011, at 4:57 PM, Eric Botcazou wrote:
>
>>> Question: that code doesn't appear to touch REG_DEAD notes at all. Is that
>>> right? From the definition of REG_DEAD, it seems that rewriting a later
>>> insns to use register x means that a preceding (REG_DEAD x) needs to be
>>> deleted. Or moved to the later insn, perhaps.
>>
>> If the pass doesn't consume REG_DEAD/REG_UNUSED notes, it doesn't have to
>> keep
>> them up-to-date. Instead, passes that consume them must
>> df_note_add_problem()
>> on entry. For the generic reorg (delay slot filling) pass, this is done in
>> rest_of_pass_free_cfg.
>
> rest_of_pass_free_cfg calls df_analyze but it doesn't call
> df_note_add_problem. Is that the issue? I see that some other passes (like
> regrename) do a sequence of df_xyz calls.
I see that this has been fixed recently, but 4.5.1 has the previous code. I'll
try it with that fix.
paul