[haiku-development] Re: GCC 2 x GCC 4

  • From: meianoite@xxxxxxxxx
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 27 Aug 2008 14:36:23 -0300

On Wed, Aug 27, 2008 at 00:58, Ryan Leavengood <leavengood@xxxxxxxxx> wrote:
> In fact, let's ask: Ingo, since you are so busy, is there something
> those of us with an interest and stake in having GCC4 on Haiku can do
> to help get that going?

Disclaimer: I'm a sucker for LLVM since long before Apple brought it under 
their umbrella.


Well, since I already spilled the beans mentioning LLVM on the disclaimer...

It's a no-brainer that Apple will, in the next couple years, move their 
compiler components to LLVM. It's a contemporary, modular compiler framework 
and toolchain build upon state of the art techniques developed both in the 
academia and in the industry at large, it's available under a BSD-like license, 
is endorsed by the likes of Adobe and the Khronos Group (LLVM is at the heart 
of Apple's Grand Central and KG's OpenCL), and and is actually able to generate 
code optimised to the target platform in ways GCC just can't (i.e., on-the-fly 
generation of SIMD instructions). It produces much more meaningful warnings and 
error messages than GCC. LLVM objects can be linked with ELF objects. I could 
go on and on, but I'd sound like a PR boy from LLVM, and folks who get 
interested can google for it and find *extremely* interesting scenarios where 
LLVM is being used.


In other words: it slices, it dices, and it makes your pizza crispier and your 
salsa hotter. Yay!


For the time being moving to GCC4 is enough work already, but once we have 
Haiku and accompanying software building fine under it, we could carry on with 
the experience of standards- and portability-proofing our code and investigate 
moving to LLVM instead of to GCC4.

(It might be even feasible to move to LLVM altogether and use its magic to deal 
with ABI and mangling differences between GCC2 and GCC4... This is definitely 
not my area of expertise, but sure as hell I'd love to investigate it when I'm 
done with the scheduler!)


Anyway, please *consider* LLVM. It might suit us much better than GCC.



Cheers,
A.

Other related posts: