Re: Re : Re : Re : [gimple] temporary variable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/28/10 10:06 , charfi asma wrote:

>  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).

Ah, artifact of conversion to gimple.  In general, we do not obsess too
much with generating the minimal set of variable assignments and
whatnot.  These are cleaned up by subsequent passes.

This design simplifies the work of the gimplifier (gimple conversion
pass) and reduces code duplication.  If this particular case is not
cleaned up at all, that's a bug to be fixed, however.  This is something
that forward propagation or CFG cleanup could handle.



Diego.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux