[LLVMdev] dragon egg + llvm for fortran to c translation
philipp at schwaha.net
Wed Mar 6 04:20:37 PST 2013
thank you very much for the very illuminating example!
On 2013-03-02 16:31, Dmitry Mikushin wrote:
> Hi Philipp,
> Let me provide you with an example back from September 2011. Attached
> is original Fortran source, optimized LLVM IR and what we regenerated
> back into C from LLVM IR by means of C backend. As you can see, the C
> code closely resembles LLVM IR.
yes, the resemblance is quite remarkable.
> I don't know what you intend to use it for (maybe some
> source-to-source compiler or DSL?), but to our experience, we had a
> system using C backend, but dropped it in favor of native LLVM backend
> for the target architecture (NVPTX in our case). Source-to-sourcing is
> generally very painful, there is a great chance to spend 90% of
> resources on stupid technical problems and only 10% - for
source to source is exactly what would be the goal. I realize it is a
quite painful process and thus would like to use as much existing
infrastructure as possible before reinventing already excellent
> Note we were only users of C backend, and only had to make minor
> fixes to a working system. Developers are Chris, Duncan (replied on
> this thread too) and others. They may have more insight, if you would
> need implementation details.
thank you very much for all your help, it is very much appreciated!
> - D.
> 2013/3/2 Philipp Schwaha <philipp at schwaha.net>
>> Thank you for your reply Dmitry!
>> It would not be too great a deal, if I need to use previous versions
>> long as it would get the desired results :)
>> Would the code from the IR be portable to different C compilers? I
>> guess the resulting C code will not have too much resemblance to the
>> On 03/01/2013 05:02 PM, Dmitry Mikushin wrote:
>>> DragonEgg only converts GCC's IR to LLVM IR. And -march=c is C
>>> We used it for a while last year, but its support has been dropped
>>> several months ago. There are people, who are still using it
>>> as far as I know.
>>> - D.
>>> 2013/3/1 Philipp Schwaha <philipp at schwaha.net
>>> <mailto:philipp at schwaha.net>>
>>> I would like to know if it is feasible to use the dragon egg gcc
>>> plugin to automatically convert fortran code to c. Having found
>>> it is possible to output llvm byte code back to c (at least
>>> something like this gave me this impression/hope: llc -march=c
>>> test.c) I am hoping to use dragon egg to generate the byte code
>>> fortran 90 which than output to c.
>>> Does this seem feasible at all? How much in terms of variable
>>> etc. could be retained in this manner?
>>> thanks for any suggestions or comments
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>
>>> http://llvm.cs.uiuc.edu 
>>> http://lists.cs.uiuc.edu/__mailman/listinfo/llvmdev 
>>> <http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
>  http://llvm.cs.uiuc.edu
>  http://lists.cs.uiuc.edu/__mailman/listinfo/llvmdev
>  http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev