<?xml version="1.0" encoding="windows-1252"?>
<node id="991057" title="Re^6: Perl 5 Optimizing Compiler, Part 5: A Vague Outline Emerges" created="2012-08-31 13:53:33" updated="2012-08-31 13:53:33">
<type id="11">
note</type>
<author id="171588">
BrowserUk</author>
<data>
<field name="doctext">
&lt;blockquote&gt;&lt;i&gt;
No, not in the slightest. I think this is the fundamental impedence mismatch between you and me on this subject.
&lt;/i&gt;&lt;/blockquote&gt;

&lt;p&gt;Having spent the last 9 hours to produce what I posted, having you dismiss it in under 10 minutes -- barely enough time to read the post, never mind look at the code with any attention to detail -- is ... well ... let's just say, disappointing and leave it at that.

&lt;blockquote&gt;&lt;i&gt;
You keep asserting that if LLVM can only be given a full picture of the program, it will be able to do (unspecified) wonderful things with it.
&lt;/i&gt;&lt;/blockquote&gt;

&lt;p&gt;Firstly, I said &lt;i&gt;may&lt;/i&gt;, not "will". It is "(unspecified)" because -- as I've been at pains to state often &amp; clearly -- noone yet knows. I've provided a long list of possibilities, cited documents with examples of them. But I am not a computer and cannot possibly be expected to mentally run hundreds of thousands of lines of Perl sources through a dozen or more optimisation techniques and pick out salient examples to satisfy your demands for the instant gratification of "a concrete example".

&lt;p&gt;All I've sought from you, is your knowledge and expertise of and with the existing codebase, to enable the investigations to get a quick, clean start.

&lt;blockquote&gt;&lt;i&gt;
PS I completely fail to understand the the point of your showing how run.c gets converted to IR. run.c just contains a single trivial C function, operating on a few args and variables of particular types, and the IR knows the types of those args. So what?
&lt;/i&gt;&lt;/blockquote&gt;

&lt;P&gt;The "what" is, that if it can encapsulate and annotate the &lt;i&gt;entire internal (data) structure of Perl&lt;/i&gt;, in 100 lines of language independent, platform independent, eminently human readable, metadata, then it can also rewrite those structures and the function trees that use them in ways that neither a C compiler, nor a C programmer -- no matter how experienced -- could ever imagine doing.




&lt;div class="pmsig"&gt;&lt;div class="pmsig-171588"&gt;
&lt;hr /&gt;
&lt;font size=1 &gt;
&lt;div&gt;With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'&lt;/div&gt;
&lt;div&gt;Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.&lt;/div&gt;
&lt;div&gt;"Science is about questioning the status quo. Questioning authority". &lt;/div&gt;
&lt;div&gt;In the absence of evidence, opinion is indistinguishable from prejudice.
&lt;p align=right&gt; [http://thebottomline.cpaaustralia.com.au/|RIP Neil Armstrong]&lt;/p&gt;&lt;/div&gt;
&lt;/font&gt;

&lt;/div&gt;&lt;/div&gt;</field>
<field name="root_node">
990666</field>
<field name="parent_node">
991045</field>
</data>
</node>
