> 
> Paul Brook wrote:
> >> Compiler can optimize it any way it wants,
> >> as long as result is the same as unoptimized one.
> > 
> > We have an option for that. It's called -O0.
> > 
> > Pretty much all optimization will change the behavior of your program.
> 
> Now that's a bit TOO strong a statement, critical optimizations like
> register allocation and instruction scheduling will generally not change
> the behavior of the program (though the basic decision to put something
> in a register will, and *surely* no one suggests avoiding this critical
> optimization).

Actually they will with multi threaded program, since you can have a case
where it works and now it is broken because one thread has speed up so much it
writes to a variable which had a copy on another thread's stack.  So the 
argument
about it being too strong is wrong because timming matters now a days.  
Instruction
scheduling can cause the same issue as it forces a write too early for another 
thread
to act on.

Thanks,
Andrew Pinski

Reply via email to