lkml.org 
[lkml]   [1999]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: useful exercise
Date
"A month of sundays ago Jamie Lokier wrote:"
>
> Pros
> 1. Some errors spotted earlier in the development process.

The aim.

> Cons
>
> 1. Some things will optimise worse if you use `if' -- e.g., if
> an `if (0)' branch takes the address of a variable, that will
> still suppress some optimisations of that variable even when
> the branch is optimised away. However, I'm don't think
> that's all that common, and GCC can always be tweaked in the
> long run if it is worth doing.

Interesting.

> I personally prefer #if X and if (X), because it is more flexible. It's
> unusual for a config option to make a lot of difference to the amount of
> code compiled in a single file, so that's not so important.

Do you happen to know if

const int C_FOO = 1;

would lead to the other branch in an if(C_FOO) being optimized away?

One of the things I am fairly certain of wrt gcc is that optimization is
functionwise, which means that I don't know if globals will be
considered at all when doing expression reduction. If global constants
aren't optimized as constants, then #define C_FOO 1 is forced upon us.
Pity. The int has the advantage of possibly raising a warning in the
future if used in an #ifdef (by mistake).

> -- Jamie


Peter

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:49    [W:0.142 / U:0.452 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site