<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body smarttemplateinserted="true">
    <div id="smartTemplate4-template">Hi,<br>
      <br>
      <p> something that appears  to help is to put units in the
        interface uses rather than the implementation uses.<br>
      </p>
    </div>
    <div>When the unit mentioned in the interface uses, uses the first
      unit in its implementation uses, it can inline the functions from
      the first unit. Although I would have expected it to do the
      opposite.<br>
    </div>
    <div><br>
    </div>
    <div>Unfortunately that does not help if the second unit needs to
      use types from the first unit in its interface<br>
          <br>
      Best,<br>
      Benito </div>
    <br>
    <div class="moz-cite-prefix">Am 12.01.19 um 13:05 schrieb
      denisgolovan:<br>
    </div>
    <blockquote type="cite"
      cite="mid:470721547294742@myt6-fe24916a5562.qloud-c.yandex.net">
      <pre class="moz-quote-pre" wrap="">

12.01.2019, 14:53, "Jonas Maebe" <a class="moz-txt-link-rfc2396E" href="mailto:jonas@freepascal.org"><jonas@freepascal.org></a>:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Not at this time (unless you use the LLVM backend). 
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Could you give some hints on how to enable WPO/LTO under LLVM backend?
<a class="moz-txt-link-freetext" href="http://wiki.freepascal.org/LLVM">http://wiki.freepascal.org/LLVM</a> does not seem to mention anything on that.

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">However, what you actually can do, is manually recompile all units of your program
multiple times. While this won't help with inline functions called
before they are parsed in those same units, it will allow inlining of
function bodies in other units that were not available during the first
compilation due to dependency cycles.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Eh.
It does not look too practical, right?
Unless there is some magical receipt for that :)

</pre>
    </blockquote>
  </body>
</html>