Last week a large discussion began among GCC developers about their hopes and plans for GCC 5.0. The common theme is for GCC 5 to be more like the increasingly-popular LLVM compiler infrastructure project...

What a bullshit. It's llvm that has to bring some advantages, because it's nothing more than a toy on Linux. Stop this apple's propaganda.

03-19-2012, 01:22 PM

XorEaxEax

The modularisation of GCC is not something new, it's been going on for a while. This grand scheme proposition by a developer on the mailing list is interesting but until something concrete is established it's nothing but usual mailing list chatter.

As for Micheal's comparisons against LLVM, first off the projects he names are using LLVM as a JIT compiler, GCC is a static compiler (barring GCJ I suppose) so comparing them in this area is pointless and currently LLVM's real success is as a JIT framework. Secondly he talks about the licences and for companies which don't want to contribute their proprietary backend enhancements back to the project then LLVM with it's liberal licence certainly makes sense but personally I couldn't care less about catering for them.

I see GCC's being licenced as GPLv3 as one of it's great strengths as it means enhancements will gain the entire project rather than being kept proprietary, again the whole point of GCC is to have a open source free compiler toolchain too which enhancements are contributed back and I wouldn't exchange that with the proprietary friendly LLVM/Clang, that said I like having both projects available. Also the GPLv3 licence won't prevent any modularization of the code, Micheal is just sprouting nonsense here.

As usual Micheal is trying to paint a picture of GCC being made obsolete by LLVM/Clang but that's just him betraying his bias, as a static compiler GCC is much stronger than Clang/LLVM both in terms of optimizations and the number of languages and architectures it supports. It also has strong corporate backing resulting in many full-time developers paid by companies like IBM, Red Hat, Google etc. LLVM/Clang will continue to improve but so will GCC.

LLVM's claim for fame as a JIT framework is undeniable and it really serves it's purpose here as it filled a definite need (as proven by how fast it's been adopted for this purpose in the open source ecosystem) but that is an area in which GCC is non-existant (again highlighting the need LLVM has filled) so in order to compare them you would do so as static compiler solutions and here GCC wins.

I really wish Micheal could tone down his pro-LLVM bias and go for a more objective reporting but I guess that ship has sailed long ago. Either way GCC is here to stay (sorry Micheal) and so is LLVM.

Speaking of compilers, what happened with the open sourcing of Ekopath? Is it still happening? The initial tests I did on one of the nightlies were anything but encouraging but that was a nightly after all and likely not near representative of a full release build.

03-19-2012, 03:05 PM

milkylainen

Quote:

Originally Posted by kraftman

What a bullshit. It's llvm that has to bring some advantages, because it's nothing more than a toy on Linux. Stop this apple's propaganda.

Couldn't agree more. LLVM is a toy compiler infrastructure. When I use a compiler every day I prefer something that actually will work. Come back when LLVM produces code for arbitrary platforms and CPU's that I design products with every day. I don't give a crap about modular structure etc. It's a non issue for me. I'm not a compiler geek and I prefer not to debug b0rked assembler by a retarded compiler. Whatever it takes to make the compiler behave well with normal languages and normal CPU's does it for me. GCC does all that.

03-19-2012, 03:11 PM

not.sure

Michael is a llvm fanboi, we knew that..

03-19-2012, 05:23 PM

vertexSymphony

Remember that when you say that llvm is a "toy", you're wiping your ass with all the projects based on it ... a regular Phoronix reader should be aware of some of the works using it.

Regards.

P.S → Didn't like the article, smells like flame bait

03-19-2012, 05:39 PM

kraftman

Quote:

Originally Posted by vertexSymphony

Remember that when you say that llvm is a "toy", you're wiping your ass with all the projects based on it ... a regular Phoronix reader should be aware of some of the works using it.

Well, it's a toy compared to GCC on Linux. It has some use cases, but mainly in things that nearly doesn't matter like softpipe - I don't play quake 2 in software mode anymore.

03-19-2012, 07:56 PM

smitty3268

Quote:

Originally Posted by kraftman

Well, it's a toy compared to GCC on Linux. It has some use cases, but mainly in things that nearly doesn't matter like softpipe - I don't play quake 2 in software mode anymore.

LLVM is not a toy when it comes to JIT code generation. That's not limited to just cases like softpipe, although it's specialized nature means that it's certainly not as widespread as a static compiler. For static compilation, it's hard to see the benefits of using LLVM unless you are Apple/BSD and want to make a point against the GPLv3. Compilation speed/error messages can be nice during development if your code is supported by LLVM, but i wouldn't distribute releases using it.

03-20-2012, 01:54 AM

DaemonFC

LLVM generates poorly optimized code.....with less useful debugging information....if it even builds something at all. (8.5% of Debian GNU/Linux packages fail to build with LLVM 3.0, that's a few thousand packages. In LLVM 2.9, the failure rate was nearly 15%.)