This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: DEBUG_INSN that is not an insn
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: "Steven Bosscher" <stevenb dot gcc at gmail dot com>
- Cc: gcc at gcc dot gnu dot org, "Alexandre Oliva" <aoliva at redhat dot com>, "Kenneth Zadeck" <zadeck at naturalbridge dot com>, "Jan Hubicka" <hubicka at ucw dot cz>
- Date: Tue, 6 Nov 2007 00:40:58 +0100
- Subject: Re: DEBUG_INSN that is not an insn
- References: <571f6b510711050129u349da3c8tbfa5ce9050a7e13b@mail.gmail.com>
> 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