2 ms·
LLvm was created with a different philosophy from GCC. It fact it started being a GCC add on. Llvm uses his own debugger. It is just RMS realizing people are a
by Htsthbjig 12y ago
LLvm was created with a different philosophy from GCC. It fact it started being a GCC add on.
Llvm uses his own debugger. It is just RMS realizing people are abandoning GCC en masse, and not liking it. Just that.
LLVM wanted to develop it on ways that gcc people did not, so they created something from scratch, after trying to modify GCC because it was so complex.
It is not simply a fork, but a complete redesign.
LLVM main advantages are:
Instead of being a monoblock compiler like gcc, LLVM is a series of inter operable libraries and tools. This way you can program your own different compilers, or parsers, or debuggers just including libraries.
The above means you don't need to use scripts like in gcc but you can actually program a compiler very easily.
You also don't need to use the linker if you just want a parser. Or you don't need the parser if you already have stored or computer generated an Abstract syntax tree.
It uses his own cross platform "assembly" code so you can use it with dozens of different languages, or compile dozens of different languages.
It compiles to bytecode. It makes portable code possible, programming GPUs on the fly, javascript...
You can use it for whatever you want, even making closed source software.