Re: Linux and LLVM

From: Theodore Tso
Date: Sat May 09 2009 - 05:13:27 EST


On Fri, May 08, 2009 at 09:50:04PM +0200, Grozdan wrote:
> 2009/5/8 Jeff Garzik <jeff@xxxxxxxxxx>:
> > Grozdan wrote:
> >>
> > It is highly unlikely we will switch compilers away from gcc -- we have
> > enough problems just supporting multiple gcc versions.
> >
> > That said, you could join the effort to get LLVM to compile under the
> > kernel.  Here is a meta-bug for that:
> > http://llvm.org/bugs/show_bug.cgi?id=4068
> >
> > It is a moot question until LLVM can actually build a bootable kernel :)
>
> Thanks for the quick answer! I was not aware that currently there's
> lots of work until CLANG can compile a bootable Linux kernel. Thanks
> for the link too. I'll dig through it

Note also that the list of architectures currently supported by Linux:

http://en.wikipedia.org/wiki/Linux_kernel_portability_and_supported_architectures

Seems to be a superset of the architectures supported by LLVM, and the
CLANG web page states that it is production quality only on the x86
and x86_64 architectures. So "switch away from" seems to be a rather
ambitious goal.

As Jeff has suggested, getting CLANG to at least be able to compile a
single Linux kernel, on one architecture is clearly the first step.

The next step will be to work on fixing regressions on a wide variety
of different kernel configurations such that in people's mind, that
when a kernel bug is submitted, the probability that it is a compiler
bug must be roughly the same as in GCC --- in other words, that for
any give bug report submitted, P(LLVM/CLANG compiler bug) must be less
than P(GCC compiler bug). At that point, assuming there is a large
enough community of users who prefer to use LLVM/CLANG (presumably
because its code generator is proving itself superior to gcc), it
would be possible to call LLVM/CLANG "supported" under Linux.

I suspect we have quite a ways to go before we get to that point, and
even then there is the issue of the architectures which aren't yet
supported by LLVM.

Regards,

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/