[LLVMdev] "Name that compiler"

Chris Lattner sabre at nondot.org
Wed Apr 11 21:44:18 PDT 2007


Hi Everyone,

LLVM is a growing project, and many of us are very fond of it.  :)  LLVM 
is continuing to grow, both in maturity in specific areas and in scope of 
areas that it is applicable to.

When we first started the project, we focused on the design of the 
intermediate representation.  It is a strong design goal that the IR be a 
self-contained virtual instruction set, which fully describes the program. 
Because of this, we named the compiler LLVM, which reflects well on the 
design of the IR.

However, the scope of the LLVM project is outgrowing this name.  Today 
LLVM does many "non-VMy" tasks, such as serving as a great static 
compiler.  It also has components that overlap with traditional low-level 
tool chain components like assemblers and linkers.  Further, LLVM's scope 
is about to grow significantly with new front-end technologies (e.g. HLVM, 
new SoC work on a python front-end, etc).  For all of these reasons, I 
think that "LLVM" is an increasingly poor name for the project as a whole, 
and it causes a large amount of confusion, particularly with people who 
do not know much about it yet.

For what it is worth, this is not a new thought.  I have been kicking 
around the idea of renaming the project for several years now, but have 
been stymied by not being able to come up with a better name!  The problem 
is hard: how do you concisely describe a modern, modular, component based 
compiler and tool-chain system, which can be used for many different 
things, hopefully many of which we haven't even thought of yet?  How do 
you pick a name that both memberable, relatively unique (searchable), has 
an open domain name, etc?  How do you come up with a name that is amenable 
to making a logo?  So far, I haven't! :)

Note that the name need not capture every aspect of the project.  Just 
having a distinguished name with no specific connotation is probably good 
enough.  20 years ago, "google" and "yahoo" had very different meanings, 
and "mozilla" or "firefox" were pretty meaningless.  Today, there is very 
strong awareness of what they are.


As such, I'd like to open up a forum for naming ideas.  I think we need to 
continue to use the name 'LLVM' to refer to the IR (i.e. that which is 
described in http://llvm.org/docs/LangRef.html), and we should plan to 
attach LLVM as a suffix to the project name for several years to come: For 
example: "Use the Foo/LLVM Compiler System, it runs infinite loops faster 
than the competition!".

To make this more fun, "success" is extremely subjective, and I have no 
idea how we will declare a victor (we can figure it out as we go, right? 
:).  I propose that people add ideas to the wiki that Vikram and Reid are 
getting set up, and we kick some potential names around at the developer 
mtg in May.  That gives us 5 or 6 weeks to come up with a name and/or 
Logo.  The wiki isn't up yet, so consider this to be a head start :).

If we find a good name, we can honor the one who came up with it with a 
small amount of booty.  For example, we're prepared to award a compiler 
textbook of your choice (MSRP < $100) to the winner, optionally signed by 
people at the dev meeting if you so desire and if they agree. 
Alternatively, we could do a $100 gift card to Amazon or some other place.

What say you?  Are you up for the challenge?

-Chris

p.s., no I don't think "Foo Compiler System" is a good choice. ;-)

-- 
http://nondot.org/sabre/
http://llvm.org/



More information about the llvm-dev mailing list