<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Am 27.05.2018 um 02:48 schrieb J.
Gareth Moreton:<br>
</div>
<blockquote type="cite"
cite="mid:8649.1527382126@web-cluster.fastnet.co.uk">
<style> BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px; }</style>Hi
guys,<br>
<br>
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!<br>
<br>
<a class="moz-txt-link-freetext" href="https://bugs.freepascal.org/view.php?id=33794">https://bugs.freepascal.org/view.php?id=33794</a><br>
<br>
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.<br>
<br>
Even if the deep optimiser is an unstable, unusable failure, I
found a bug anyway!<br>
</blockquote>
<br>
Yes, you found a bug... in your own code. See my note at the bug
report.<br>
<br>
Regards,<br>
Sven<br>
</body>
</html>