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