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.