[fpc-devel] Found compiler bug while working on Deep Optimiser

J. Gareth Moreton gareth at moreton-family.com
Sun May 27 02:48:46 CEST 2018


 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!

 Gareth aka. Kit
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20180527/e5cc3a42/attachment.html>


More information about the fpc-devel mailing list