Jonas Maebe wrote:
> 
> On 10 okt 2006, at 10:05, Daniël Mantione wrote:
> 
>> If the optimization needs significant processing power, -O3. If it
>> doesn't
>> but is debug safe, -O1, if it is not debug safe, -O2.
> 
> It's definitely not debug safe, since it messes up stack information.

Not really. I didn't try it yet but it shouldn't mess up much. The optimziation
is done completely on the node level, the pascal code would look like
http://www.hu.freepascal.org/fpcircbot/cgipastebin?msgid=156 except that there
are temps involved to calculate the new parameters because calculating one
parameter could require the original value of another one.

> 
>> A separate option -OoTAILREC is IMHO not necessary.
> 
> All possible optimizations have their -Oo-switch for individual enabling
> disabling (like regvars, peepholeopt, asmcse, stackframe, loopunroll).
> It's both useful for debugging the individual optimizations and in case
> a user's program is incompatible with a particular optimization (either
> due to a bug in the optimization or an inherent requirement -- 

So it will probably -OoTAILREC and automatically included in -O2.

> e.g., we
> could add -Oonostackframe at the end of the compiler switches for the
> RTL's object unit when compiling for x86).

What we still need are switches in the sources to enable particular 
optimizations.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to