------- Comment #2 from jakub at gcc dot gnu dot org 2009-09-14 09:15 ------- Regarding the second testcase, the second i1 note (no real location) comes from emit_notes_for_changes (insn, EMIT_NOTE_AFTER_INSN, set->vars); in MO_VAL_LOC handling, the first one (with the correct location) is emitted later on from MO_VAL_USE's emit_notes_for_changes (insn, EMIT_NOTE_BEFORE_INSN, set->vars); (in both cases with the same VALUE, but in the first case val_expand_loc_callback returns the VALUE unexpanded, in the second case expanded).
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41353