Something like p = NEXT_INSN (p); while (p && GET_CODE (p) != BARRIER && GET_CODE (p) != CODE_LABEL) { if (GET_CODE (p) != NOTE || NOTE_LINE_NUMBER (p) == NOTE_INSN_DELETED) p = delete_insn (p); else p = NEXT_INSN (p); } doesn't work? -- Mark Mitchell mark@codesourcery.com CodeSourcery, LLC http://www.codesourcery.com