<div dir="ltr">I can't see why you'd want to do this, no.<div><br></div><div>-eric</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 19, 2014 at 8:02 PM, Isaac Dupree <span dir="ltr"><<a href="mailto:ml@isaac.cedarswampstudios.org" target="_blank">ml@isaac.cedarswampstudios.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Is the C backend at all suitable to be adapted to emit OpenCL code?  Or<br>
do the target-dependence, and/or things that C can do but OpenCL can't,<br>
make that hopeless?<br>
-Isaac<br>
<div class=""><br>
On 08/19/2014 03:08 PM, Carback, Richard T., III wrote:<br>
> It provides a useful starting point, but I agree with Jim that it is not<br>
> a complete solution and requires rework of the results in a lot cases. I<br>
> think we could improve it further to address these issues but that work<br>
> is nontrivial.<br>
><br>
><br>
><br>
> If you are deciding between a quick and dirty implementation of a custom<br>
> backend vs. the C backend, then the C backend is sometimes preferable in<br>
> my experience although it depends on the complexity of the code you are<br>
> trying to run and how often you need to change it.<br>
><br>
><br>
><br>
</div>> *From:*<a href="mailto:llvmdev-bounces@cs.uiuc.edu">llvmdev-bounces@cs.uiuc.edu</a> [mailto:<a href="mailto:llvmdev-bounces@cs.uiuc.edu">llvmdev-bounces@cs.uiuc.edu</a>]<br>
> *On Behalf Of *Jim Grosbach<br>
> *Sent:* Tuesday, August 19, 2014 2:12 PM<br>
> *To:* Bruce Hoult<br>
> *Cc:* <a href="mailto:llvmdev@cs.uiuc.edu">llvmdev@cs.uiuc.edu</a><br>
> *Subject:* Re: [LLVMdev] C Backend Ressurected<br>
<div class="">><br>
><br>
><br>
> This is part of the problem with the C backend. This is very much not<br>
> what it’s useful for, yet it very much looks like it is. The LLVM IR is<br>
> target dependent, including things like structure layout, pointer size,<br>
> and other ABI issues. Even with a resurrected C backend, you can’t use<br>
> it as a substitute for real target support.<br>
><br>
><br>
><br>
> -Jim<br>
><br>
><br>
><br>
>     On Aug 18, 2014, at 7:02 PM, Bruce Hoult <<a href="mailto:bruce@hoult.org">bruce@hoult.org</a><br>
</div><div class="">>     <mailto:<a href="mailto:bruce@hoult.org">bruce@hoult.org</a>>> wrote:<br>
><br>
><br>
><br>
>     I don't know how good it is, but the applications seem obvious. e.g.<br>
>     compiling programs in any of a number of original formats to run<br>
>     natively on CPUs that have a working simple C compiler (maybe only<br>
>     K&R or C89) but don't have an LLVM back end.<br>
><br>
><br>
><br>
>     The source program could be in modern C, C++, or any other high<br>
>     level language or assembly language with a translator to LLVM.<br>
><br>
><br>
><br>
>     On Tue, Aug 19, 2014 at 1:40 PM, Jun Koi <<a href="mailto:junkoi2004@gmail.com">junkoi2004@gmail.com</a><br>
</div><div class="">>     <mailto:<a href="mailto:junkoi2004@gmail.com">junkoi2004@gmail.com</a>>> wrote:<br>
><br>
><br>
><br>
><br>
><br>
>     On Mon, Aug 18, 2014 at 9:18 PM, Carback, Richard T., III<br>
</div><div class="">>     <<a href="mailto:rcarback@draper.com">rcarback@draper.com</a> <mailto:<a href="mailto:rcarback@draper.com">rcarback@draper.com</a>>> wrote:<br>
><br>
>         Hi All,<br>
><br>
><br>
><br>
>         2 of my summer interns (Aimee Dipietro and Greg Simpson) used<br>
>         their time over the summer to resurrect the LLVM C Backend:<br>
><br>
><br>
><br>
>         <a href="https://github.com/draperlaboratory/llvm-cbe" target="_blank">https://github.com/draperlaboratory/llvm-cbe</a><br>
><br>
><br>
><br>
>         Improvements include recovery of simple for/while loops (instead<br>
>         of goto), better variable naming, inline asm support, and making<br>
>         it work on a more recent version of llvm. I believe they used<br>
>         the repository here as a starting point:<br>
><br>
><br>
><br>
>         <a href="https://github.com/glycerine/llvm/tree/cbe_revival" target="_blank">https://github.com/glycerine/llvm/tree/cbe_revival</a><br>
><br>
><br>
><br>
>         Feedback is welcomed. I would like to see this feature put back<br>
>         into LLVM, and any help on how to make that happen would be<br>
>         appreciated.<br>
><br>
><br>
><br>
>     would you mind explaining what this backend is for, and its<br>
>     applications?<br>
><br>
>     i guess it is to get the C code at the output of the backend, but<br>
>     dont get why we need it.<br>
><br>
>     thanks,<br>
><br>
>     Jun<br>
><br>
><br>
>     _______________________________________________<br>
>     LLVM Developers mailing list<br>
</div>>     <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <mailto:<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>><br>
>      <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a> <<a href="http://llvm.cs.uiuc.edu/" target="_blank">http://llvm.cs.uiuc.edu/</a>><br>
<div class="">>     <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
><br>
><br>
>     _______________________________________________<br>
>     LLVM Developers mailing list<br>
</div>>     <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <mailto:<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>><br>
<div class="HOEnZb"><div class="h5">>             <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
>     <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br></div>