[LLVMdev] Can I port LLVM as a source-to-source compiler?

Jean-Daniel Dupas
Tue, 19 Jan 2010 14:49:25 -0000

Le 19 janv. 2010 à 15:06, Kenneth Uildriks a écrit :

> On Mon, Jan 18, 2010 at 9:58 PM, Junchao Zhang <junchao.zhang at
gmail.com> wrote:
>> Hello,
>> I am working in a project on a parallel programming language. I want to
base
>> our language on Java or C/C++. But Java is preferred.
>>
>> Many similar projects adopts a source-to-source methodology, e.g.,
Berkeley
>> UPC(using Open64), Titanium, and Rice University's Co-array
Fortran. They
>> output C code with calls to the runtime.  I think there are at least
three
>> reasons: 1) using C as the output, it gets more portability. 2)
leverage the
>> front ends of existing compilers. 3) leverage optimizations in existing
>> compilers.
>>
>> I wonder if LLVM is suitable for this kind of work. Can LLVM
experienced
>> users give me some hints on this topic?
>>
>> Thanks in advance.
>>
>> Junchao Zhang
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
>
> LLVM can be made to output (horribly gnarly and non-portable) C code.
> However, I haven't tried it and I'm not sure what state that
> functionality is in.
>

Not very well supported I think:

http://llvm.org/docs/ReleaseNotes.html

LLVM 2.6 Release Notes

“The C Backend (-march=c) is no longer considered part of the LLVM release
criteria. We still want it to work, but no one is maintaining it and it lacks
support for arbitrary precision integers and other important IR features.”


-- Jean-Daniel