<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">On Sunday 05 April 2009, you wrote:<br>
&gt; On Sat, 4 Apr 2009, Kai-Uwe Behrmann wrote:<br>
&gt; &gt; Ah, that is a point I did not really understand. So a library can add a<br>
&gt; &gt; (GPU) backend to LLVM at runtime? E.g. thus enabling GPU support in<br>
&gt; &gt; gallium3d while OpenGTL has no benefit?<br>
&gt; &gt; So a (longterm) plan could be:<br>
&gt; &gt;   CTL/Shiva -&gt; IL -&gt; GLSL -&gt; IL -&gt; GPU/CPU assembler code ?<br>
&gt;<br>
&gt; It seems that the LLVM VM just needs to be ready to accept<br>
&gt; instructions.  Based on what I saw while building LLVM, it seemed like<br>
&gt; assembly output for all supported targets is available in one build.<br>
&gt;<br>
&gt; Not having any experience with LLVM before, I installed it on a<br>
&gt; FreeBSD/Xeon system and built GraphicsMagick with it.  Then I ran a<br>
&gt; benchmark suite which uses OpenMP.  Usually native GCC was somewhat<br>
&gt; faster than LLVM generated code, but for some floating-point intensive<br>
&gt; algorithms, LLVM was faster.  I would say that performance was pretty<br>
&gt; competitive.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>To be honest, I wouldn't use LLVM as compiler over GCC now :) Maybe in a year or two, but I do think there is a reason apple hasn't switch for their compiler. But for now, LLVM is a very good platform when you want to write a JIT "VM".<br>
-- <br>
Cyrille Berger</p></body></html>