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: Jakub Jelinek <jakub at redhat dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, Jeff Law <law at redhat dot com>, GCC <gcc at gcc dot gnu dot org>
- Date: Wed, 13 Nov 2013 11:56:42 +0100
- 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> <52829CB1 dot 4070006 at redhat dot com> <CAFiYyc1xbbJB=EzUa34OX1XwSSmUM_OFpeBRHUbR13zd0WU-LQ at mail dot gmail dot com> <CABu31nOzDqnuzA6WBtM1u2YxMpBC6paFtXTpp0spnr6J=468ZA at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, Nov 13, 2013 at 11:49:56AM +0100, Steven Bosscher wrote:
> source language? That's still true, and one reason for it is 'tree'.
> The Ada, Fortran, and even C front ends use front-end specific data
> structures for most parsed entities and only produce 'tree' from it in
> the process of generatic GENERIC.
You are clearly misreading what the C front end does then. It doesn't have
any IL other than trees, and uses trees for everything from the start.
And, the problems with the FEs you've talked about aren't caused by using
trees, but by folding stuff too early. It got somewhat better in the C FE,
but the C++ FE still folds things too early everywhere.
Jakub