9 msgMercurial repository set up for GCC that mirror...

GIMPLE temporary variables
\ Andrea Callia D'Iddio (8 May 2007)
. \ Diego Novillo (8 May 2007)
. \ J.C. Pizarro (8 May 2007)
. . \ Joe Buck (8 May 2007)

2 msgImproper Frame Description Entry - DWARF2 debug...
4 msgPR31264 on 4.2.0 branch
9 msgMinGW, GCC Vista,
3 msgtuples: call for help
4 msgOne more df-branch benchmarking on SPEC2000
13 msgCombined tree builds for mingw32
17 msglibffi & powerpc
16 msglive insns deleted by delete_trivially_dead_ins...
2 msgGetting the name of the file to compile
2 msg[cxx0x-branch] Rvalue references vs RVO
1 msgMissing features on Changes for GCC 4.3
6 msgauto vectorization - should this work ?
10 msgSuccessful build of GCC 4.2.0 RC3 on latest Cyg...
2 msgincluding PR summary in gcc-cvs commit mails
12 msglibjava Divide_1 and pr6388 fail on 4.2.0 RC3 f...
3 msgRegression in gfortran.fortran-torture/execute/...
1 msggcc-4.3-20070504 is now available
1 msgBuild status for GCC 3.4.5
Subject:Re: GIMPLE temporary variables
Group:Gcc
From:Joe Buck
Date:8 May 2007


On Tue, May 08, 2007 at 09:43:58PM +0200, J.C. Pizarro wrote:
> Andrea Callia D'Iddio <andrea.calliadiddio> wrote:
> >Hi all,
> >
> >I'm writing a new compilation pass in gcc, and I'm working on GIMPLE
> >code. When gcc produce GIMPLE code, it creates new temporary
> >variables, in order to simplify expressions and statements. For
> >example, if source C file contains
> >a=a+b+19;
> >then GIMPLE code is
> >D.1295 = a + b;
> >a = D.1295 + 19;
> >how can I recognize temporary variables, such as D.1295?
> >Thanks for support! bye!!
> >
> >
> >Andrea Callia D'Iddio
>
> This GIMPLE code is bad.
>
> It's better without a new temporary variable D.xxxx:
> a = a + b;
> a = a + 19;

No, it isn't; since you don't understand what the goal is, your notion of
what is good or bad is seriously confused.

Your proposed rewrite hides the distinction between generated tempories
and assignments written by the user (probably making -O0 code worse, if
the compiler thinks every write to a has to be flushed to memory), and
your idea that avoiding introducing temporaries is good ignores the fact
that the gimple code is fed to an SSA pass, where every distinct
assignment will create a new symbol.




© 2004-2008 readlist.com