Mail Archives: djgpp/2002/09/18/09:07:24.4
Rafal 'Raf256' Maj <rafal AT raf256 DOT com> wrote:
> Hello,
> Following program compield with -03 does NOT had dead-code loop removed.
> This empty loop actualy IS executed (and program takes few seconds to
> complete)
> int main() { for (long long int i=0; i<500000000; i++) ; return 0; }
> IMHO compiler at -O3 should optimize code to :
> int main() { return 0; }
> why this dead-loop is not removed ?
Because the GCC people explicitly decided to not do that, IIRC. The
distinction being that a loop explicitly coded with an empty body is
probably a timing-critical delay loop, and as such should be left
alone. If you put something into the loop, and try again, you just
might see what you expected.
--
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.
- Raw text -