<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">When you actually start to solve and implement this you'll find that "LLVM IR" is actually mid-whirl on an almost 1:1 basis. (super close). However, we don't exactly do IR<>IR translation and instead hook in at an API level. So it's more matching constructs and trying to "get in where you fit in". Since we had overlapping mid-whirl optimizations we had to figure out which to turn on/off on each side.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">We also skipped VH Whirl for a number of reasons and just kinda cut it out. I don't think Fred is subscribed to the list, but he isn't the only smart person who worked on the compiler. There were a few managers, brilliant people and unsung heroes who worked at SGI.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Dror Maydan and Sun Chan were more intimately involved with the actual implementation of loop optimizations iirc. Fred's best known for his low level codegen work and overall vision of compiler architecture.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 18, 2020 at 1:24 AM Prashanth N R via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Fred Chow is a well known name in compiler community. He was the architect of Open64 compiler.  <div>His comment on LLVM IR from open64 mailing list can be seen at :  <a href="https://sourceforge.net/p/open64/mailman/message/23829398/" target="_blank">https://sourceforge.net/p/open64/mailman/message/23829398/</a> <div>"<span style="background-color:rgb(254,254,254);color:rgb(85,85,85);font-family:monospace,sans-serif;font-size:14px;white-space:pre-wrap"> From their name, LLVM roughly corresponds to Low WHIRL.  I wonder how </span></div><pre style="box-sizing:inherit;margin-top:0px;margin-bottom:0px;padding:15px;border-width:0px 0px 0px 1px;border-top-style:initial;border-right-style:initial;border-bottom-style:initial;border-left-style:solid;border-top-color:initial;border-right-color:initial;border-bottom-color:initial;border-left-color:rgb(229,229,229);outline:0px;font-size:14px;vertical-align:baseline;background:rgb(254,254,254);font-family:monospace,sans-serif;white-space:pre-wrap;overflow:auto;color:rgb(85,85,85)">LLVM tackles the compilation problems Open64 has tackled.  People with 
exposure to LLVM are welcome to chime in."</pre><pre style="box-sizing:inherit;margin-top:0px;margin-bottom:0px;padding:15px;border-width:0px 0px 0px 1px;border-top-style:initial;border-right-style:initial;border-bottom-style:initial;border-left-style:solid;border-top-color:initial;border-right-color:initial;border-bottom-color:initial;border-left-color:rgb(229,229,229);outline:0px;font-size:14px;vertical-align:baseline;background:rgb(254,254,254);font-family:monospace,sans-serif;white-space:pre-wrap;overflow:auto;color:rgb(85,85,85)"><br></pre><pre style="box-sizing:inherit;margin-top:0px;margin-bottom:0px;padding:15px;border-width:0px 0px 0px 1px;border-top-style:initial;border-right-style:initial;border-bottom-style:initial;border-left-style:solid;border-top-color:initial;border-right-color:initial;border-bottom-color:initial;border-left-color:rgb(229,229,229);outline:0px;font-size:14px;vertical-align:baseline;background:rgb(254,254,254);font-family:monospace,sans-serif;white-space:pre-wrap;overflow:auto;color:rgb(85,85,85)"><br></pre></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 17, 2020 at 10:43 PM Prashanth N R <<a href="mailto:prashanth.nr@gmail.com" target="_blank">prashanth.nr@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Currently LLVM uses a low level IR for representing programs. Memory disambiguation does not happen accurately for constructs like multi-dimensional arrays.  One of the ways we alleviate the same in LLVM currently is by using multiversioning of the code. By supporting a mid-level IR like MLIR we intend to keep the access indices of multidimensional array and do better disambiguation. </div><div><br></div><div>thanks,</div><div>-Prashanth</div> <br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Feb 16, 2020 at 4:34 PM Nicolai Hähnle <<a href="mailto:nhaehnle@gmail.com" target="_blank">nhaehnle@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Prashanth,<br>
<br>
On Sun, Feb 16, 2020 at 10:22 AM Prashanth N R via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
>>   Starting from May-June, we at "Compiler Tree" would  start porting clang compiler to use MLIR as middle end target. If someone has already started a similar effort we would love to collaborate with them. If someone would like to work with us, we are ready to form a group and collaborate. If there are sharing opportunities from Fortran side, we would like to consider the same.\<br>
<br>
That's a rather vague statement, considering the flexibility of MLIR.<br>
Could you explain your plans in more detail, and what specifically you<br>
hope to achieve with them?<br>
<br>
Cheers,<br>
Nicolai<br>
<br>
<br>
>><br>
>>    We are in the early phase of design for "C" part of the work. From our experience with (FC+MLIR) compiler, we are estimating that we would have an early cut of the compiler working with non-trivial workload within a quarter of starting of work.<br>
>><br>
>>   Please ping me for any queries or concerns.<br>
>><br>
>> Regards,<br>
>> -Prashanth<br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br>
<br>
<br>
-- <br>
Lerne, wie die Welt wirklich ist,<br>
aber vergiss niemals, wie sie sein sollte.<br>
</blockquote></div></div>
</blockquote></div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>