This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Great example of why "everything is a tree" sucks
- From: Gaius Mulley <gaius dot mulley at southwales dot ac dot uk>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Steven Bosscher <stevenb dot gcc at gmail dot com>, Diego Novillo <dnovillo at google dot com>, Jakub Jelinek <jakub at redhat dot com>, Jeff Law <law at redhat dot com>, GCC <gcc at gcc dot gnu dot org>
- Date: Wed, 13 Nov 2013 17:32:53 +0000
- Subject: Re: Great example of why "everything is a tree" sucks
- Authentication-results: sourceware.org; auth=none
- References: <528288B3 dot 8010109 at redhat dot com> <20131112203509 dot GC27813 at tucnak dot zalov dot cz> <CAD_=9DQRZy92RCJEopO=XHMj9+eDHQ0MW1g__ZaFNNrWQW=QNg at mail dot gmail dot com> <CAFiYyc38jGfAaWwo5OWTxmQnNeP9=f5McGrW_3HCNJotvbBtKQ at mail dot gmail dot com> <CABu31nOpcf1EivKXYy-i4Czm84aSv+hOYhrSPpefzNVTjjNW0Q at mail dot gmail dot com> <CAFiYyc3OZhg0NvnMqkN9CLu4f6oGiV2GFM55JE17MjDAgj8Jsw at mail dot gmail dot com>
Richard Biener <richard.guenther@gmail.com> writes:
> On Wed, Nov 13, 2013 at 11:37 AM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
>> On Wed, Nov 13, 2013 at 11:10 AM, Richard Biener wrote:
>>> Well, he doesn't even consider that the exact same "tree rant" applies
>>> to frontend code.
>>
>> That's not entirely true, either. Most front ends already use their
>> own IL in the parser (only C++ uses 'tree' for everything).
>>
>> What worries me most, is that we may end up with:
>>
>> FE-IL => 'tree' => gimple
>>
>> where 'tree' is just a memory-consuming, complicated intermediate step
>> between the front ends and the middle end. I don't think that's the
>> interface we want.
>
> True. The above applies to Fortran and Ada, and maybe also to Go
> and Java.
just for completeness this also applies to Modula-2 which uses the
technique of double book keeping. Not sure if this is totally relevant
but gm2 needs (would like :-) the ability to create a SET_TYPE which
maps onto appropriate debugging type info.
regards,
Gaius