Re: Is it helpful for a compiler to optimize?

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

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

As far as I understand it the compiler's break down the code into
abstract syntax graphs then use a number of graph optimizations to
reduce it into an optimized state. The examples will almost certainly
produce equivalent binary output.

Rather than being concerned about how best to help the compiler
optimize I usually worry about the most understandable way to write
the function. Compilers are really, really good at their job, and the
completely unoptimized version is the one your going to see when you
are debugging -O0 builds.

- -Jesse

On 6/3/2012 02:38, Krzysztof wrote:
> Let's have a below code:
> 
> struct st { int iv; /*...*/ };
> 
> void afun(struct st *stp) { stp->iv++; printf("%d\n",stp->iv); }
> 
> Is it helpful for a compiler to do better optimization if I write
> the function as this?
> 
> void afun(struct st *stp) { int liv=stp->iv++;
> 
> printf("%d\n",liv); }
> 
> In other words, is it better from optimization point of view to do 
> assignments structure members values to local variables then do
> what you need to and then assign them back to member variables?
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (MingW32)

iQIcBAEBAgAGBQJPyxpgAAoJEO7eCtQ2Ge2p6bwQAJBOlV6cJnKfrhfE44DGBHQA
U8nY2weVlVX51YbnG9GAtHNbFtEIy55Z7SZSp9k44KLyQsu3Zj/E1UFQbdTsqVwQ
Gy8SJHu114x9RQgk2HvbLPp2+uwjNo2BPQf03avrD0ERPvAa1Uyfa4Q/labwWoDr
/rFV+90y3q22uEZZe85xIzuGHOLEE8z2qtZko27bvfQM9i+QYNhwCppelIci8Jr/
DhoiMs8O7EgylWaHQdZgbr7eUOjXYOdi1ypXLC5/j2S++vaXNmnSCKIXrQXvBNKc
D87TbjlqaW+E6IsQYC9uaND/mSfoWSHTwLRQuQrdYQFxlvaHHNoMIf0GICSLqoEq
vizMtu7LuWYirwQ6VJJ/CF1GKFD2jIIEE2OlQrA9fGdxLfgjU/VUG3WWc36HJYd7
Et7XGM5DsUUr0LSWUjbB4AtyKhsfiV7V4q7sgGjClrJ8dr7AqtG61rRtebG7CCL2
GBhw603yQCDHkclQaNApCU0TOYG6Rh3K+8xF+iKN6haj4bi6BduRUnxmLdZuc8Bn
VYZhT7833cBBpdkXPpMLdubo7B8qIG9/01oXXs/b7+q+jG1EF32L8dsmh5XgafoF
iy7DidF0y+oyDUZO82q2omLTMTxcRjDRyh+n8WI1/E5XG4FvqyO+xEHSC0YXe3Nn
SWvd/4lS2YEaExH17uzF
=V4At
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux