Am 27.05.2018 um 02:48 schrieb J. Gareth Moreton:
Hi guys,
So I'm still experimenting and researching with the deep optimiser,
and I'm starting to have some successes... until I found a compiler bug!
https://bugs.freepascal.org/view.php?id=33794
What I'm trying to do, and something which I'd like to try out with
the regular peephole optimiser at some point, is using a sorted list
that maps an assembler command to a handler procedure and using a
binary search to find the correct routine. This will speed up the
optimiser from O(n) (i.e. the speed of "case X of") to O(log n) per
line of code, where n is the different number of assembler commands it
has to deal with, but the compiler produces incorrect code with the
algorithm I'm using, and triggers an internal error if -O3 is
specified. A trimmed down sample project is attached with the ticket.
Even if the deep optimiser is an unstable, unusable failure, I found a
bug anyway!
Yes, you found a bug... in your own code. See my note at the bug report.
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel