> I am worried about some of the things going on in the > var-tracking-assignments branch. The thing that worries me most, is > the introduction of an insn that is not an instruction: > > /* An annotation for variable assignment tracking. */ > DEF_RTL_EXPR(DEBUG_INSN, "debug_insn", "iuuBieie", RTX_INSN) > > DEBUG_INSN is more like a note, AFAIU. I couldn't find any discussions > about this idea, so I don't know if there is "sufficient" concensus > that this is the right thing to do. > > IMHO, anything that is not an instruction should not be true under > INSN_P. Yet, INSN_P returns true for DEBUG_INSN. This is already > leading to a lot of special-casing of DEBUG_INSN throughout the RTL > bits of the compiler on the branch.
I share your concerns, but I've not looked at the specifics. -- Eric Botcazou