LLVM 2.2 Released 128
performance geek writes "LLVM 2.2 was released yesterday! This is the thirteenth public release of the open-source compiler that started as a GCC fork. LLVM supports several aggressive optimizations, in compile-, link- and run-time, and often produces faster (1.5-3x) code than GCC. It is also much faster than GCC at compiling (despite the slow link-time optimizations). Gentoo users are already trying to build the whole system with the LLVM toolchain to get the extra performance bit."
LWN alternative gcc article (Score:5, Informative)
Re: (Score:2)
Re: (Score:2)
Huh? LLVM *is* a gcc fork.
Re:LWN alternative gcc article (Score:4, Insightful)
2) A truly free source code license - no viral GPL BS to deal with
You were doing so well until you spouted this aggregious bullshit line. You're obviously very biased against the GPL since it's a very tough stretch by the M$ marketing department to call it viral.
That's just as bad as calling copyright infringement "PIRATING". ARRGH ARRGH MATEY! AHOY THERE ON THE OPEN SEAS.
You idiot.
Re:LWN alternative gcc article (Score:4, Insightful)
Naw, they must be The Enemies Of Freedom. That's it.
Re: (Score:2)
I'm sorry you must be new to GPL licensing. There are no restrictions on use. It's a user-centric license. Go ahead and link whatever you want to your hearts content!!
But if you mean that they want to rip off GPL licensed code and redistribute it without following the authors license, then no that wouldn't be allowed.
Thanks for playing, but that doesn't ma
Re: (Score:2)
2) A truly free source code license - no viral GPL BS to deal with
You were doing so well until you spouted this aggregious bullshit line. You're obviously very biased against the GPL since it's a very tough stretch by the M$ marketing department to call it viral.
That's just as bad as calling copyright infringement "PIRATING". ARRGH ARRGH MATEY! AHOY THERE ON THE OPEN SEAS.
You idiot.
Well, technically the GPL is viral, * by design *. Not going to get into the debate if its good or bad, just that it really is.
Personally i don't have a problem calling copyright infringement piracy. I do however have a problem calling it theft.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Because if you use GPL code in your project, and distribute it, all your code in that project gets released under the GPL or you violate the terms of the license. Kind of how a virus attacks a cell and modifies it's DNA, the GPL code inserted into a project forces the project to distribute it under the GPL.
Re: (Score:2)
And it doesn't apply to non-derivative works where only the glue has to be (also) GPL, as long as you don't ship binaries.
So it is not automatically viral to anything except the derived code. With some less restrictive licenses someone might just release changed modified versi
Good reporting there, submitter (Score:5, Insightful)
Also, Apple is currently driving development of an alternate BSD-licensed front end named clang [llvm.org].
Re:Good reporting there, submitter (Score:4, Interesting)
Apple already reportedly uses it to compile their graphics code so that the same code can run on either a GPU or the CPU regardless of chipset available.
Re: (Score:2)
What does this mean, exactly? That they want a compiler which they can modify, distribute and not publish the source? You do know that gcc being GPL does not imply that code compiled with it not the resulting binaries are GPL, right?
Re: (Score:2)
Yes.
Re: (Score:2)
Re: (Score:3, Informative)
That's why Apple used a BSD base as opposed to a Linux base for Mac OS X.
No, it's because MacOS X is a continuation of NeXTstep, which was based on a BSD userland and Mach kernel (itself originally developed from the BSD Unix kernel circa version 4.3). At the time NeXTstep was originally developed, Linux didn't exist and the GNU userland was still in its infancy. In addition, I've never seen any evidence that Apple considered a move to a Linux base for MacOS X, and considering how solid NeXTstep and Ope
Re: (Score:2)
Apple chose a license that allowed them to take open code, alter, redistribute, and not share the source. Again, the parent ex
Re: (Score:2)
Re: (Score:2)
Furthermore, Apple was been one of the biggest pushers of DRM and proprietary standards for years. Not to mention that they've taken credit for innovations and inventions that have existed in the open source community for years. (Virtual desktops come to
Re: (Score:2)
You insist that because they built upon an existing product, that ruled out them possibly using another existing product because NeXTstep started before Linux was big?
No, using another existing product was ruled out because Steve Jobs was the founder of NeXT. Learn some computing history.
Furthermore, Apple was been one of the biggest pushers of DRM
Bigger than Microsoft?
and proprietary standards
Name two.
Given that they weren't even willing to keep the kernel open
What exactly is http://www.opensource.apple.com/darwinsource/ [apple.com], then?
Perhaps you should pay a little less attention to internet hysteria, and a little more to actual truth.
Re: (Score:2)
And OS X has little to nothing to do with previous iterations of the Mac OS. Steve Jobs had ties to NeXTstep, but that didn't mean Apple had to use it. Again, Apple has abandoned other things, just as Microsoft has.
I also didn't say Apple was the single biggest pusher of DRM, simply that they have been one of the
Re: (Score:2)
iTunes phones home,
It does not. Once again, you believe this because you belive internet hysteria without actually checking up on the facts.
The bundle software in much the same way that Microsoft was found guilty of anti-trust laws.
Bundling software is not and has never been illegal. The reason Microsoft got in trouble was because they did this while in a position of market dominance, in which case there are additional restrictions on what you are allowed to do. You can hardly claim Apple has a monopoly.
Apple has waffled on that.
You mean, the internet threw a hissy fit over an issue that never existed. The source has never been closed.
Re: (Score:2)
Apple even altered the firewall software on Mac OS X to hide the fact that iTunes phones home.
And the source on Darwin was closed. They refused to release code required to compile and run Darwin. They refused to release code that was part of Darwin.
You need to check your facts.
Re: (Score:2)
http://blogs.zdnet.com/Apple/?p=75
Right. Internet hysteria. That whole thing was because the iTunes store would recommend music to you based on what you were listening to. This was later changed to not be on by default after people complained. There was never any indication that it was malicious or meant for data mining.
Apple even altered the firewall software on Mac OS X to hide the fact that iTunes phones home.
The OS X firewall does not monitor outgoing connections at all. It would never have shown if iTunes phoned home, and thus "modifying" it would make no sense.
And the source on Darwin was closed. They refused to release code required to compile and run Darwin. They refused to release code that was part of Darwin.
Again, internet hysteria. http://lists.apple.com/archives/darwin [apple.com]
Re: (Score:1, Informative)
So what? Who said it was? And who cares anyway? It's completely and utterly irrelevant, because OS X isn't derived from MacOS 9, it's derived from NeXTStep.
But they didn't jump to a Unix base; they replaced MacOS with a new operating system based on NeXTStep. NeXTStep was first developed in the 1980s, many years before Linux even existed at all, let alo
Re: (Score:2)
Bullshit. You don't know what you're talking about. There is no reason whatsoever why you can't run a closed-source userland on a GPL kernel.
But you can't link closed source modules into a GPL kernel, and that's an issue with in-kernel DRM, for one, and potentially other technologies that, while not so based on secrecy themselves, Apple would rather keep closed-source.
This said, NeXTStep was already there, and arguably Apple bought NeXT because of it and related technologies, so there's no good reason to go from those underpinnings to a linux-based system.
Re: (Score:2)
No, they chose NeXTStep as the base because of its features, which is why they bought NeXT. From what I understand, the decision wasn't made to "jump to Unix" separately from choosing NeXT, they were looking for a new OS, and considered continuing an internal (non-Unix-based) project to replace MacOS, or purchasing an existing OS and adapting it: there was no separate decision for Unix,
Re: (Score:2)
Re: (Score:2)
http://en.wikipedia.org/wiki/MkLinux [wikipedia.org]
--jeffk++
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Seems that you didn't grasp the whole "free as in freedom" concept, then. I've come to realize that the best way to characterize that "free as in freedom" thing is this: it's not about your freedoms, as a developer or user. It's about the code's freedoms as an entity unto itself. And being closed (like the BSD license allows, for example), is less free than the LGPL, which in turn is less free than the GPL because it allows you to lock up code around it.
Whether open source must mean free software, and whe
Re: (Score:2)
There's some concern in the BSD camps and elsewhere about the switch to GPLv3 for GCC and the GNU binutils. Some of the impetus for the changes in GPLv3 is the use of GCC in the embedded programming world, where the development and target platforms are closed source (usually Windows using Cygwin in the case of the development platform). As embedded applications is where BSD is quite heavily used, without the fanfare that Linux often gets simply because you don't have to make the source code available, compa
Re: (Score:2)
You do understand that the usual "or a later version" clause leaves the choice of version to you (or whoever is distributing the code), right?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Obviously that's not their primary motivation since they are, in fact, publishing the source. But I suspect they want the freedom to combine it with any other source they have in any way they deem technically advantageous without the license having anything to say about it. They probably also want the freedom to control the timing and manner of the publication of the source. And yes, they
Re: (Score:2)
What does this mean, exactly? That they want a compiler which they can modify, distribute and not publish the source?
Obviously that's not their primary motivation since they are, in fact, publishing the source. But I suspect they want the freedom to combine it with any other source they have in any way they deem technically advantageous without the license having anything to say about it. They probably also want the freedom to control the timing and manner of the publication of the source. And yes, they probably want the ability to not publish the source in certain circumstances when they feel that doing so would be detrimental to them.
Ok, so what they want is more freedom for themselves. Which is quite a different thing from freedom for the user, which is what the GPL set out to protect. You said "it appears to provide a freer license": it is always necessary to be explicit about who gets the extra freedom.
GPL is a great license for its own ecosystem, but don't try to pretend that it isn't more restrictive than BSD.
It is less restrictive for the developer, and more restrictive for the user. Restrictiveness is not a totally ordered [wikipedia.org] value.
In this particular case, according to what you say, Apple wants to be more free so as to be able to restr
Re: (Score:2)
Ok, so what they want is more freedom for themselves. Which is quite a different thing from freedom for the user, which is what the GPL set out to protect. You said "it appears to provide a freer license": it is always necessary to be explicit about who gets the extra freedom.
And the developer is the party bound by the license, not the user. Thus, a license with less restrictions, like BSD, is "more free" in any useful sense of the word.
You may think it is good to protect the user's interests, but this does not mean the "license is more free". It is less free. Don't conflate what you want with "freedom".
Re: (Score:2)
Ok, so what they want is more freedom for themselves. Which is quite a different thing from freedom for the user, which is what the GPL set out to protect. You said "it appears to provide a freer license": it is always necessary to be explicit about who gets the extra freedom.
And the developer is the party bound by the license, not the user. Thus, a license with less restrictions, like BSD, is "more free" in any useful sense of the word.
The party bound by the license is the distributor. If you do not understand that, you really should not be making comments on the GPL...
You may think it is good to protect the user's interests, but this does not mean the "license is more free". It is less free. Don't conflate what you want with "freedom".
What I am saying is that a statement such as "the license is more free" does not mean anything. You have to specify who it provides that extra freedom and what that freedom allows the recipient to do. Likewise, a statement like "it is less free" does not mean anything.
Re: (Score:2)
Re: (Score:2)
Maybe you have heard about this groups of people called `distribution makers'? You can check http://www.redhat.com/ [redhat.com], http://www.debian.org/ [debian.org], http://ubuntu.com/ [ubuntu.com], and so on. I hear there is a whole site [distrowatch.com] dedicated to simply listing linux distros! They surely are not the developers of all the code they package, you know.
The fact that the GPL is a license on distribution is a hardly a semantic point: it is essentially the whole point of the license!
You claimed that "the developer is the party bound by the lice
Re: (Score:2)
Re: (Score:2)
Your point was literally [slashdot.org]:
the developer is the party bound by the license, not the user.
I have never said that the user is bound by the license, as that would be absurdly idiotic, as the license says so itself in the first couple of paragraphs. The developer, too, is not bound by the license. The distributor is who is bound by the license, because it is a copyright license. It is not that hard.
Still playing silly semantic games. The fact that there is a second group of distributors makes no difference to the actual argument. That second group is not "users", either.
I have no idea what you are trying to say here. You asked "And in how many cases is the developer not the distributor?" and I pointed you to the easily established fact th
Re: (Score:2)
Did you even make the tiniest effort to understand what my original point was?
Re: (Score:2)
Your point [slashdot.org] was that, since the GPL binds the developer, a license such as BSD is freer. Now, the GPL does not bind the developer, so that argument carries absolutely no weight. There are other arguments to be made, but yours does not take you anywhere.
After that you said:
You may think it is good to protect the user's interests, but this does not mean the "license is more free". It is less free. Don't conflate what you want with "freedom".
I cannot make any sense of this. As I said before, there is no total order on liberties. You appear to believe that `protecting the user' means `less free', while `protecting the developer' means `more free': this is a meaningless state
Re: (Score:2)
Your point was that, since the GPL binds the developer, a license such as BSD is freer. Now, the GPL does not bind the developer, so that argument carries absolutely no weight. There are other arguments to be made, but yours does not take you anywhere.
And you dodge the point that the developer is pretty much always also the distributor. The fact that there are other distributors too doesn't change this. Thus, the developer is for all intents and purposes bound by the GPL.
I cannot make any sense of this. As I said before, there is no total order on liberties. You appear to believe that `protecting the user' means `less free', while `protecting the developer' means `more free':
No, I mean that putting more demands on the developer means less free, and putting less demands on the developer means more free. The question of the user's ability to do this or that is entirely secondary, and a separate matter. You can say that "this license is more protective of use
Re: (Score:2)
And you dodge the point that the developer is pretty much always also the distributor. The fact that there are other distributors too doesn't change this. Thus, the developer is for all intents and purposes bound by the GPL.
Of course a person can assume many roles.
As long as the developer is only a developer, he can do whatever he pleases with the GPL code written by others he got for free. Now, as soon as he wants to distribute it, there are terms he has to accept. For example, there is quite a lot of modified GPL code in my computer, which I modified from sources I got from others---yet I have not distributed them, so I am 100% unbound by the GPL. Were I to distribute the modified code, thereby becoming a distributor for
Re: (Score:2)
I guess I was wrong there.
Re: (Score:2)
You are fun in a way only sci.math cranks are fun...
Of course that can be ignored in so far as you are discussing the GPL because the GPL is a distribution license which only affects distribution.
Re: (Score:2)
Re: (Score:2)
They ARE the user, so in this case it's the same.
Re: (Score:2)
Oh, come on. They are not. That claim is plainly silly.
Re: (Score:2)
Well, the fact that most users are not going to be using a compiler applies to Fedora and other distros too. It is quite irrelevant.
Apple can take a GPL-licensed compiler, modify it to their pleasure, use it to compile whatever applications they want, and distribute the resulting binaries. As long as they are not distributing the modified compiler, they are not---I repeat--they are NOT bound by the GPL. There is very little that can be described as "more free" than that.
Now, if they want to distribute the
Re: (Score:2)
I guess Apple was not just an user, then...
Well, the fact that most users are not going to be using a compiler applies to Fedora and other distros too. It is quite irrelevant.
Fedora is very different from OS X. Most Linux software packages are designed from the start to be easy to install by compiling. ./configure --prefix=/usr/local/nut --with-usb; make; make install. Most distros are moving to a system where you use pre-built packages nowadays however even my Ubuntu servers i end up having to compile at least one package by hand to get it where i want it. I don't think I've ever compiled anything on a mac OS X system and the user base apple is targeting is not going to be using the compiler. The user base Fedora and Ubuntu target will be using a compiler its a fact of life with linux.
That's not true, really. Neither of those distros install a compiler or gmake by default even. Of course, if you want development tools, you can get them trivially., and they are very much designed to be able to dogfood in a trivial way. But I would never call F8 a distro targetted for developers... I would not be using it otherwise.
Re: (Score:2)
I do not know about the technical side, but surely there is
Re: (Score:2)
[This time with whole sentences!]
I do not know about the technical side, but surely there is another approach to those legal obstacles. For example, the one Sun took with Java.
Re:Good reporting there, submitter (Score:5, Informative)
III. Current advantages over GCC:
* Column numbers are fully tracked (no 256 col limit, no GCC-style pruning).
* All diagnostics have column numbers, includes 'caret diagnostics', and they
highlight regions of interesting code (e.g. the LHS and RHS of a binop).
* Full diagnostic customization by client (can format diagnostics however they
like, e.g. in an IDE or refactoring tool) through DiagnosticClient interface.
* Built as a framework, can be reused by multiple tools.
* All languages supported linked into same library (no cc1,cc1obj,
* mmap's code in read-only, does not dirty the pages like GCC (mem footprint).
* LLVM License, can be linked into non-GPL projects.
* Full diagnostic control, per diagnostic. Diagnostics are identified by ID.
* Significantly faster than GCC at semantic analysis, parsing, preprocessing
and lexing.
* Defers exposing platform-specific stuff to as late as possible, tracks use of
platform-specific features (e.g. #ifdef PPC) to allow 'portable bytecodes'.
* The lexer doesn't rely on the "lexer hack": it has no notion of scope and
does not categorize identifiers as types or variables -- this is up to the
parser to decide.
Potential Future Features:
* Fine grained diag control within the source (#pragma enable/disable warning).
* Better token tracking within macros? (Token came from this line, which is
a macro argument instantiated here, recursively instantiated here).
* Fast #import with a module system.
* Dependency tracking: change to header file doesn't recompile every function
that texually depends on it: recompile only those functions that need it.
This is aka 'incremental parsing'.
Re: (Score:2)
Really? I'm glad you weren't around when freeing the slaves was the important issue. Perhaps we should have BSDed the slaves. You know, everyone will release them, but of course anyone else can pick them back up and enslave them for themselves.
Re: (Score:1)
And yes, the GPL is more restrictive than something like BSD. Plenty of people think those restrictions are to good effect, but they are still restrictions in the sense that there are things that can be done with BSD(or similar) code that cannot be done with GPL code.
Re: (Score:2)
Denying that the words have more than one possible meaning is dishonest.
He meant freer as in "less restrictive for the developer". There are other ways for code to be free.
Re: (Score:1)
My intent was to imply that yes, free often means Free in the way that GNU, etc use it, but that it is tiresome to act like that is the only meaning it has. I'm pretty sure that is what I did, because in the world I live in, when someone says something, it is best to interpret what they are saying in the context of their own words, not in whateve
Re: (Score:2)
We're talking about freedom not GNU Freedom*. If you want to draw politic analogies, then it's a little like comparing BSD liberalism to GNU Marxism with Stallman as Stalin, changing the consitution - sorry, license - as it suits him.
* A registered trademark of the Free Software Foundation. (I jest).
Re: (Score:1)
Re: (Score:2)
If you're going to go completely off the deep end and call the GPL commie, at least get your commies straight. Stalin isn't marxist.
Stalin wasn't a Marxist? He described himself as Marxist-Leninist, and attempted to drag the Soviet Union into the industrial age with the five year plans ostensibly to fit with Marxist preconditions for a Communist state. Marxist apologists like to counter the argument that their doctrine is fundamentally flawed by claiming that Stalin, Mao, et. al. aren't Marxists, while
Re: (Score:2)
Oh, okay.
Extra Performance (Score:4, Funny)
Re: (Score:2)
Re: (Score:2)
Err, I think you're missing the point.
Re: (Score:3, Informative)
Of course, TFS was also dead wrong about Gentoo users trying to build the whole system. Apparently there's an ebuild to install llvm, which seems like an obvious thing to do. There's also mention of Mesa intending to switch to llvm, and other projects might follow, but those are isolated programs, no more shocking or revolutionary than the fact that Eclipse is written in Java.
Re: (Score:1)
I wish the ebuilds had gcc-config support and the fix_libtool thing might need some fixing too.
Re: (Score:2)
Perhaps optimizations like those to trick the gcc compiler into generating faster code has the reverse effect on LLVM?
Again, I know nothing.
Re: (Score:2)
The point in front of the 242%. It was a joke.
*sigh*
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
If any significant profiling has been done on CPU intensive programs the authors might already be doing optimizations at the C language level.
Re: (Score:3, Informative)
Fortunately for us, compiler researchers say you're wrong. LLVM takes the Java-like approach of seeing what parts of your code can be optimized by gathering runtime profiling information, then using that to dynamically recompile parts of your code that really need it. I'd be surprised if that kind of system couldn't squeeze out quite a bit more performance.
Gentoo Users (Score:4, Insightful)
It does take a good deal more time and effort, but frankly some people enjoy that sort of thing as a hobby, the way others constantly tinker with their car.
For what it is worth, portage (and the two portage replacements, pauldis and pkgcore) are quite frankly hands down the best package managers out there, and they handle pre-compiled binary packages just as well. I really honestly believe the rest of the Linux world would be greatly benefited by using one package manager, regardless of how they compile or pack their binaries.
Set a use flag for openSUSE_10.3 and portage knows what packages to grab. It could work.
one pakage manager to rule them all (Score:2)
The problem is that in my view gentoo is often the worst distribution out there, with very low quality packages. Maybe the package manager is great, but it's not really about technical excenlece it's about how easy it is to use. Sadly most things become easy to use after training, and people don't wa
Re: (Score:3, Insightful)
You say the packages in Gentoo are horrible. They are source based packages, the same as you'd get with Debian, or Ubuntu, etc. Each distro does often include distro-specific patches with various packages, but not all. However, I'm not sure which packages are so horrible
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
emerge foo
You'd type
ebuild foo.ebuild fetch unpack compile install qmerge
and make whatever changes you wanted in between unpack and compile or compile and install (depending on the kinds of changes you wanted to make.
Benefit (Score:2)
LLVM isn't the only such beastie. (Score:2)
LLVM Question... (Score:2)
I don't know javascript at all...so lets say he did this with Java.
Could I write a program in C, and have it target a JVM rather than a particular OS/Architecture? Would I get Java array bounds checking of my C code?
Re:Apparently not... (Score:5, Informative)
Re: (Score:2, Informative)
Wikipedia, learn to use it.
Re: (Score:2)
Wikipedia, learn to use it.
Re: (Score:3, Informative)
... just a pet peeve of mine that I can do a mini-rant on without being off-topic
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Yeah I know, but try finding the <initialism> tag in the HTML specs and you could be a while. I guess technically it should use the <abbr> element, but I'm still used to using <acronym>, largely because IE didn't support <abbr> until IE7.
Regardless of which tag they use, anything would be better than having to look up this stuff manually.
Comment removed (Score:4, Informative)
Re: (Score:3, Informative)
LLVM has supported inline asm since release 1.7, and the support has steadily been getting better at each release, with major improvements in 1.8 and 1.9.
http://llvm.org/releases/1.7/docs/ReleaseNotes.html [llvm.org]
http://llvm.org/releases/ [llvm.org]
The only problem with the x86 inline asm support in 2.2 is the lack of support for the x87 floating point stack in the inline asm register constraints. See "Known Problems" in the 2.2 release notes.
Re: (Score:2)
They already have a JIT compiler for their intermediate language, but it isn't the primary development focus. I think it was more of a "it would be cool if..." kind of thing.
The main thrust of development is in link-time optimizations and code analysis.