<HTML>
<div><style> BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px; }</style>Hi Florian,</div><div><br>
</div><div>I don't know if you have any answers, but I'm unable to apply any patches I receive. I can view them and see the changes, and manually apply them via copy+paste if I have to, but using the "Apply Patch" option ends up not doing anything.  Is there a fix to this, or does it error out because I only have read access to SVN (even though the patch should only modify my local files)?<br>
</div><div><br>
</div><div>Looking at the design though, I can definitely experiment to see how the deep optimiser performs in the preallocation block.  It will certainly have the advantage of being able to handle registers that may end up being stored on the stack due to the lack of free actual registers.  If needs be, I'll submit the current deep optimiser that does all of its work after the peephole optimisation, and can change it to pre register allocation later on.  I will need to see if it performs better or worse the earlier stage and also potentially cause other optimisations to get missed because of MOVs being changed or removed.<br>
</div><div><br>
</div><div>Fun times ahead!  Thanks for the patch.</div><div><br>
</div><div>Gareth<br>
</div><br>
 <br>
<br>
<span style="font-weight: bold;">On Thu 14/06/18 21:58 , Florian Klämpfl florian@freepascal.org sent:<br>
</span><blockquote style="BORDER-LEFT: #F5F5F5 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT:0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">Am 13.06.2018 um 20:50 schrieb J. Gareth Moreton:
<br>

<span style="color: rgb(102, 102, 102);">> I haven't fully uncovered the secrets of
</span><br>

<span style="color: rgb(102, 102, 102);">> the compiler yet, but I did notice "pre-
</span><br>

<span style="color: rgb(102, 102, 102);">> peephole pass" under x86, but I think the
</span><br>

<span style="color: rgb(102, 102, 102);">> only functions it touched was one of the
</span><br>

<span style="color: rgb(102, 102, 102);">> bit shifts. Does this occur before
</span><br>

<span style="color: rgb(102, 102, 102);">> register allocation or was it just
</span><br>

<span style="color: rgb(102, 102, 102);">> something that had to be done before Pass
</span><br>

<span style="color: rgb(102, 102, 102);">> 1?
</span><br>


<br>

It is only before pass 1.
<br>


<br>

I attached a patch I once started which shows the idea.
<br>


<br>

<br>

_______________________________________________<br>

fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a><br>

<a target="_blank" href="<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>"><span style="color: red;">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</span></a><br>

<br>

</blockquote></HTML>