Linked by Thom Holwerda on Sat 15th Sep 2007 20:14 UTC, submitted by deanna
BSD and Darwin derivatives Anders Magnusson's BSD-licensed pcc compiler has been imported into NetBSD's pkgsrc and OpenBSD's src tree. Anders wrote to NetBSD's tech-toolchain list: "It is not yet bug-free, but it can compile the i386 userspace. The big benefit of it is that it is fast, 5-10 times faster than gcc, while still producing reasonable code. The only optimization added so far is a multiple-register-class graph-coloring register allocator, which may be one of the best register allocators today. Conversion to SSA format is also implemented, but not yet the phi function. Not too difficult though, after that strength reduction is high on the list."
Thread beginning with comment 271589
To read all comments associated with this story, please click here.
clang (LLVM)
by martink on Sat 15th Sep 2007 21:18 UTC
martink
Member since:
2005-07-06

It would be much more reasonable to contribute to clang ( http://en.wikipedia.org/wiki/Clang ), IMHO. clang (and the rest of LLVM) has BSD-like licence.

Edited 2007-09-15 21:38

RE: clang (LLVM)
by Oliver on Sat 15th Sep 2007 21:23 in reply to "clang (LLVM)"
Oliver Member since:
2006-07-15

Why? Because it's from Apple?

Reply Parent Bookmark Score: 1

RE[2]: clang (LLVM)
by martink on Sat 15th Sep 2007 21:28 in reply to "RE: clang (LLVM)"
martink Member since:
2005-07-06

No, because it can make LLVM complete replacement (with BSD-like licence) for gcc. And LLVM already has many advantages over gcc (link time optimizations, JIT, ...). http://www.llvm.org

Edited 2007-09-15 21:39

Reply Parent Bookmark Score: 1

RE[2]: clang (LLVM)
by kad77 on Sat 15th Sep 2007 21:33 in reply to "RE: clang (LLVM)"
kad77 Member since:
2007-03-20

clang may be developed in part by Apple, but it is still a subproject of the LLVM initiative.

It lives in the University of Illinois SVN: http://clang.llvm.org/

Learn more about LLVM: http://llvm.org/docs/FAQ.html

It really would make more sense to contribute to LLVM, which is BSD compatible. I don't know if you are aware of this, but a compiler can be as extensive and complex as an entire operating system.

Reply Parent Bookmark Score: 11

RE: clang (LLVM)
by baadger on Sat 15th Sep 2007 23:03 in reply to "clang (LLVM)"
baadger Member since:
2006-08-29

According to Wikipedia, Clang is just a front end to LLVM which "currently supports the compilation of C and C++ programs, using front-ends derived from version 3.4 and 4.0.1 of the GNU Compiler Collection (GCC)."

..and further...

"It is publicly available under the University of Illinois Open Source License [1], an GPL compatible[1], OSI-approved license that is very similar to the BSD license."

I find it interesting that it is based on GCC code yet it's stated as being a "potential replacement" to GCC. Compiler writing isn't an easy business, and programs compiled with GCC are themselves exempt from the GPL.

I say if you can write a better, cleaner, faster compiler then go for it, but writing a new one based solely because of licensing issues when an existing well rounded open source project exists seems a little bastardy to me.

Reply Parent Bookmark Score: 10

RE[2]: clang (LLVM)
by kad77 on Sat 15th Sep 2007 23:35 in reply to "RE: clang (LLVM)"
kad77 Member since:
2007-03-20

Maybe you misunderstood.

The LLVM backend compiler can utilize modified gcc frontend parsers. They are pluggable; the LLVM backend is not at all based on gcc

clang is a new parser/lexer, another pluggable frontend for LLVM that is also not in any way based on gcc.

Reply Parent Bookmark Score: 8

RE[2]: clang (LLVM)
by kad77 on Sun 16th Sep 2007 00:39 in reply to "RE: clang (LLVM)"
kad77 Member since:
2007-03-20

I don't know why your comment keeps getting modded up, your assertions don't hold water.

I find it interesting that it is based on GCC code yet it's stated as being a "potential replacement" to GCC.


Wrong, LLVM is not based on gcc. At all.

Compiler writing isn't an easy business, and programs compiled with GCC are themselves exempt from the GPL.


And?

I say if you can write a better, cleaner, faster compiler then go for it, but writing a new one based solely because of licensing issues when an existing well rounded open source project exists seems a little bastardy to me.


You are implying the sole reason pcc, llvm, etc are being developed is to spite an open source project? Or the GPL? That is absurd.

GCC's codebase has decades of unwieldy code, it can be very slow, and if you have used GCC over the years you might be familiar with its code generation issues.

There is nothing 'bastardy' about writing a modern open source compiler. Ergo, Linux exists, why should anyone ever write another system kernel (for anything) when a well-rounded open source project exists?

Reply Parent Bookmark Score: 8