[LLVMdev] Some understanding of LLVM vs gCC vs Intel C++ Compilers

Samuel Crow samuraileumas at yahoo.com
Sun Jun 14 18:46:20 PDT 2009

----- Original Message ----
> From: Jason Todd Slack-Moehrle <mailinglists at mailnewsrss.com>
> To: llvmdev at cs.uiuc.edu
> Sent: Sunday, June 14, 2009 8:09:03 PM
> Subject: [LLVMdev] Some understanding of LLVM vs gCC vs Intel C++ Compilers
> Hi All,

Hello Jason,

> I know that it is a C/C++ Compiler, but how do I use it? Is it  
> Makefile based?

Wrong.  LLVM-GCC is a frontend for LLVM that converts C/C++ code into the intermediate representation that is LLVM.

> Does it replace GCC?

It uses a special version of GCC currently to generate its bitcode from C/C++.  There is a GCC replacement called Clang that is coming up but not mature yet.

LLVM stands for Low-Level Virtual Machine.  It is an open-source, cross-architecture compiler infrastructure.  It runs on and generates code for MacOSX 10.4+ for both PPC and Intel, Windows XP+, Linux on several processor types, and others in the works.

With some effort, it is possible to write a compiler to generate bitcode that will run on any processor independently of the one it was written on.  It does not have a thick abstraction layer like .NET or Java, however.  For that extension you'll want to look into VMKit which is another implementation of Java and .NET using LLVM.  Anther compiler that is going to use the LLVM architecture is Google's Unladen Swallow project which aims to make the Python programming language execute 5 times faster.

I hope this answers some of you questions,



More information about the llvm-dev mailing list