Slashdot Mirror


Low Level Virtual Machine 1.3 Released

RSpencer writes "The Low Level Virtual Machine project has released version 1.3. There are full release notes available. LLVM is a source-language agnostic toolkit for building compilers, optimizers, and jit or interpreted virtual machines. LLVM provides extensive optimization support, three mid-level IR formats (bytecode, assembly, and C++), three backend targets (x86,Sparc,PPC), full documentation, and a very simple and unique design. This new toolkit approach to compiler related tools is quickly attracting new developers who are making significant contributions to the work. Visit the home page where you can learn all the details. LLVM is funded by the National Science Foundation, MARCO/DARPA, and supported by UIUC's Computer Science department and other developers."

5 of 46 comments (clear)

  1. LLVM Progress by sabre · · Score: 5, Informative
    LLVM is an active and vital project with a growing user base and active developer community. If you'd like to chat with some of the devs, stop in to the irc channel.

    LLVM is a very young project (only 3 years old) but has already made dramatic progress in it's time. Check out the status updates on the left hand side of the main site to see the rate of progress.

    Building a full C/C++ compiler is no small feat!

    -Chris

    1. Re:LLVM Progress by Anonymous Coward · · Score: 1, Informative

      Uh. One of the things gcc is designed for is easy implementation on new architectures (it foregoes many arch-specific optimsations because of this). That's why the first compiler on any new CPU arch is often gcc. The only thing in this case is that the arch is virtual. So, it _is_ not "easy" to port gcc to LLVM, but it is orders of magnitude easier than almost any other C compiler out there.

  2. Speaking as a GCC maintainer, I call bullshit by devphil · · Score: 4, Informative


    The very best trolls always start with a grain of truth. (LLVM is much easier to understand than GCC. The GCC infrastructure is very baroque, dating from a time when assuming the presence of an ANSI C bootstrap compiler was too much. One of the major LLVM guys has presented his toolchain work at the annual GCC Summit, and maintains close communication with the rest of the GCC team -- and we wish him well. All very true; no GCC hacker would say any less.)

    The trolls then move on into wild exaggerations and complete lies. Such as:

    and try their damnedest to obscure and change the programming API from release to release.

    Pure malicious bullshit. RMS doesn't want proprietary backends to be able to read the GCC IR, and so we don't ever write it out in a machine-readable format. But we've never gone out of our way to obfuscate the internal API.

    GCC recently voted down using C++ in their core code.

    Again, a complete lie. We asked RMS whether we could make use of C++ in parts of the compiler. While a skilled and brilliant C and LISP hacker, RMS is a reactionary fuckhead when it comes to anything other than C or LISP. In his opinion, all GNU programs should be written in C, and only C, ever.

    There was no vote.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
    1. Re:Speaking as a GCC maintainer, I call bullshit by devphil · · Score: 3, Informative


      You're not completely right, and not completely wrong. The politics are exceedingly complicated, and I regret it every time I learn more about them.

      RMS doesn't have dictatorial power over the SC, nor a formal veto vote.

      He does hold the copyright to GCC. (Well, the FSF holds the copyright, but he is the FSF.) That's a lot more important that many people realize.

      Choice of implementation language is, strictly speaking, a purely technical issue. But it has so many consequences that it gets special attention.

      The SC specifically avoids getting involved in technical issues whenever possible. Even when the SC is asked to decide something, they never go to RMS when they can help it, because he's so unaware of modern real-world technical issues and the bigger picture. It's far, far better to continue postponing a question than to ask it, when RMS is involved, because he will make a snap decision based on his own bizarre technical ideas, and then never change his mind in time for the new decision to be worth anything.

      He can be convinced. Eventually. It took the SC over a year to explain and demonstrate that Java bytecode could not easily be used to subvert the GPL, therefore permitting GCJ to be checked in to the official repository was okay. I'm sure that someday we'll be using C++ in core code. Just not anytime soon.

      As for forking again... well, yeah, I personally happen to be a proponent of that path. But I'm keenly aware of the damange that would to do GCC's reputation -- beyond the short-sighted typical /. viewpoint of "always disobey every authority" -- and I'm still probably underestimating the problems.

      --
      You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  3. RMS vs. Open Source by GCP · · Score: 3, Informative

    RMS doesn't want proprietary backends to be able to read the GCC IR, and so we don't ever write it out in a machine-readable format.

    Then open source backends won't be able to read it either, but that's apparently okay with RMS, given his priorities. Since only REALLY good commercial software would have a chance against a no-cost incumbent, he is willing to keep great open source alternatives from becoming available in order to keep great commercial alternatives from becoming available.

    This is the guy who proclaims that ALL commercial software developers are "unethical".

    Open Source to me is about openness: the source is yours to use as you wish, the code can be scripted externally via a command-line interface, it can be incorporated as a library into your own code with minimal effort with a nice API intentionally designed for that purpose, it has a modular architecture that encourages others to compete at the replacement module level without having to rebuild the whole app, etc.--all the ways code can be opened: the least restrictions and the greatest usability.

    This is not RMS's agenda. RMS has made his priorities clear. He has never claimed to support the "open source movement", only to be somewhat allied with it to the extent it supports his own anti-commercial software movement.

    We asked RMS whether we could make use of C++ in parts of the compiler. While a skilled and brilliant C and LISP hacker, RMS is a reactionary fuckhead when it comes to anything other than C or LISP.

    Having heard him speak on many occasions over the years, it's my impression that this characterization is correct and "anything other" applies to more than just programming languages, though not to everything.

    I think RMS is right on in many (but not all) of his compaints about IP laws. He's a very bright and skilled guy with a lot of great ideas, but his old-fashioned leftist political philosophies are more "anti" than they are "pro" and handicap the usefulness of his products in some unfortunate ways, and that appears to include GCC.

    To the extent that LLVM and other technologies compete with GCC, I'm all for it.

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."