[LLVMdev] Using LLVM to compile system programs

Vikram Adve vadve at cs.uiuc.edu
Wed Nov 9 14:52:39 PST 2005


On Nov 9, 2005, at 4:27 PM, Chris Lattner wrote:

> On Wed, 9 Nov 2005, Sean Peisert wrote:
>> libraries due to inline assembly.  Do my assumptions seem correct?
>
> yes
>
>> Has an OS (or at least the sytem applications on it) ever been
>> compiled with LLVM?
>
> I'm not aware of anyone who has built a whole os with LLVM yet, e.g. 
> due to inline asm issues.

We haven't compiled anything containing inline assembly, but John 
Criswell has compiled a large part of the Linux kernel with LLVM (after 
replacing inline assembly with intrinsic functions).  This is for a 
research project and is capable of booting the kernel on top of LLVM 
and running with limited functionality in multi-user mode.

To do this, we have defined an API of LLVM intrinsic functions that 
support the features a kernel normally gets from hardware via machine 
instructions.  John implemented this API as a library on x86 and ported 
Linux to this API.

As a side note, a subset of this API can be used to support a thread 
library directly on top of LLVM.

--Vikram Adve

----------------------------------------------------------------------
  VIKRAM S. ADVE
  Associate Professor, Computer Science       E-MAIL: vadve at cs.uiuc.edu
  Siebel Center for Computer Science           PHONE:    (217) 244-2016
  Univ. of Illinois at Urbana-Champaign          FAX:    (217) 265-6582
  201 N. Goodwin Ave.                     http://www.cs.uiuc.edu/~vadve
  Urbana IL 61801-2302.                        http://llvm.cs.uiuc.edu/
----------------------------------------------------------------------




More information about the llvm-dev mailing list