it was explained in the first mail when I asked the question. example from the GCC summit paper: when generating gimple using gcc 4.4.2 from int a =5; int b=10; if (a++ +b != 0) return 0; else return 1; we obtain this Gimple representation int a; int b; a = 5; b = 10; D.1715 = a + b; retval.0 = D.1715 != 0; a = a + 1; if (retval.0 != 0) goto <D.1716>; else goto <D.1717>; ... why retval.0 is added ? why we do not produce if (D.1715 !=0) directly ? if we eliminate retval.0 Gimple form will be more compact (small file size). Asma ----- Message d'origine ---- De : Diego Novillo <dnovillo@xxxxxxxxxx> À : charfi asma <charfiasma@xxxxxxxx> Cc : gcc-help@xxxxxxxxxxx Envoyé le : Mer 28 avril 2010, 13 h 35 min 21 s Objet : Re: Re : Re : [gimple] temporary variable On 4/28/10 05:16 , charfi asma wrote: > I am not sure that the 2005 paper is out of date because it proposes > gimplification improvments that the recent gcc version (I am using > the gcc 4.4.2) still not take it into account. Perhaps because > efforts are concentrated now in GIMPLE tuples and not in enhancing > old tree structures :) GIMPLE tuples made the statements more compact, but we have still not addressed types and symbols. I'm not sure what you mean by 'produce more compact gimple'. Could you elaborate? Diego.