[PATCH] Remove dead labels to increase superblock scope
Tom de Vries
Tom_deVries@mentor.com
Tue Dec 6 13:17:00 GMT 2011
On 05/12/11 13:50, Michael Matz wrote:
> Hi,
>
> On Sun, 4 Dec 2011, Eric Botcazou wrote:
>
>>> I'm just a bit worried about the name "delete_label". "delete_insn
>>> (label)" should always do the right thing for a pure deletion; the
>>> point of the new routine is that it also moves instructions.
>>
>> It only fixes things up though, so that the RTL stream is valid again.
>> Hence the question: why not retrofit it into delete_insn directly?
>
> Was my first reaction too. What good is delete_insn(label) if it leaves
> the stream in a state to be fixed up immediately.
>
delete_insn returns the next insn.
If I have:
(code_label 33 26 34 4 1 "" [0 uses])
(note 34 33 50 4 [bb 4] NOTE_INSN_BASIC_BLOCK)
(note 50 34 51 4 NOTE_INSN_EPILOGUE_BEG)
and delete_insn turns the label into a note and changes order into:
(note 34 33 50 4 [bb 4] NOTE_INSN_BASIC_BLOCK)
(note 33 26 34 4 1 "" NOTE_INSN_DELETED_LABEL)
(note 50 34 51 4 NOTE_INSN_EPILOGUE_BEG)
what should be the 'next' returned by delete_insn?
Thanks,
- Tom
>
> Ciao,
> Michael.
More information about the Gcc-patches
mailing list