C back-end for llvmg++

Dear Dr Vikram:

I need to know how to invoke llvmg++ so that it generates C code.

Here's how you can do a single file (i.e., an unlinked executable):

  llvmg++ -c infile.cpp -o - | llc -march=c -o infile.cbe.c

Reid might be able to tell you how to do it with a single command using the llvmc tool.

In future, please send your questions to llvmdev@cs.uiuc.edu (and add yourself to that list if you're not on it, because all replies go to the list by default).

Thanks and kind regards

Napi

Good luck,

--Vikram
http://www.cs.uiuc.edu/~vadve
http://llvm.cs.uiuc.edu/

The llvmc support for C/C++ isn't quite there yet. I'm still working on
a few features to integrate llvmc and llvm-ld. Once that is done, I'll
fix the config file for c and c++. When that's done you'd be able to
just:

llvmc -o infile.cbe.c infile.cpp -march=c

Reid.

Vikram Adve wrote:

    Dear Dr Vikram:

    I need to know how to invoke llvmg++ so that it generates C code.

Here's how you can do a single file (i.e., an unlinked executable):

llvmg++ -c infile.cpp -o - | llc -march=c -o infile.cbe.c

I believe that llc only accepts LLVM bytecode, while llvmg++ only generates LLVM assembly code (i.e. human readable LLVM code that must be assembled with llvm-as or gccas).

If the above command line does not work, please try the following:

llvmg++ -c infile.cpp -o - | llvm-as | llc -march=c -o infile.cbe.c

-- John T.