This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [ast-optimizer-branch] Goto/Break/Continue/Switch elimination
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: Zack Weinberg <zack at codesourcery dot com>, Sebastian Pop <m1sp at csc dot liv dot ac dot uk>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 2 May 2002 14:41:52 -0400
- Subject: Re: [ast-optimizer-branch] Goto/Break/Continue/Switch elimination
- Organization: Red Hat Canada
- References: <20020502181718.GB1649@codesourcery.com> <Pine.LNX.4.44.0205021425440.3886-100000@dberlin.org>
On Thu, 02 May 2002, Daniel Berlin wrote:
> I think you two are talking about two different code sizes (Sebastian,
> correct me if i'm wrong).
> Zack is concerned about the result after compilation
> Sebastian is talking about the intermediate code size after elimination.
>
If we can't eliminate the extra intermediate code generated by
Sebastian's pass, we will be generating bigger code. Another
concern is with compile time performance and memory usage.
We are already having a somewhat noticeable impact on compilation
times. All the simplification and SSA building don't come for
free. After we get a bootstrapping compiler we have to take a
closer look at it. One of the very first things I want to do is
#ifdef around some of the sanity checks we now have.
> This is all speculation, of course. I'll do stuff like run lexer/parser
> generators that make direct-encoded scanners/parsers using switch
> statements (re2c, for instance), so that i can get a large number of
> switches and whatnot, and see how it stacks up.
>
Yes. This is exactly what we need to do. It is now too early to
speculate about runtime performance.
Diego.