On 2022-09-07 17:09, Benito van der Zander via fpc-pascal wrote:
Hi,
https://gitlab.com/freepascal.org/fpc/source/-/issues/38703
I'm afraid that with -O4 it is by design.
-O4 enables -OoUNCERTAIN, and the documentation about -OoUNCERTAIN
notes that:
"If uncertain optimizations are enabled, the CSE algorithm assumes
that
-- If something is written to a local/global register or a
procedure/function parameter, this value doesn't overwrite the value
to which a pointer points.
-- If something is written to memory pointed to by a pointer variable,
this value doesn't overwrite the value of a local/global variable or a
procedure/function parameter."
is it doing that? did it ever do that?
It did that when the old assembler-level CSE optimiser still existed.
It's been removed for a long time now.
Jonas
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal