Slashdot Mirror


LLVM 8.0 Released With Cascade Lake Support, Better Diagnostics, More OpenMP/OpenCL (phoronix.com)

After being delayed for the better part of one month, LLVM 8.0 officially is finally available. From a report: LLVM release manager Hans Wennborg announced the release a few minutes ago and summed up this half-year update to LLVM and its sub-project as: "speculative load hardening, concurrent compilation in the ORC JIT API, no longer experimental WebAssembly target, a Clang option to initialize automatic variables, improved pre-compiled header support in clang-cl, the /Zc:dllexportInlines- flag, RISC-V support in lld. And as usual, many bug fixes, optimization and diagnostics improvements, etc."

36 comments

  1. Wondered what WebAssembly was... by SuperKendall · · Score: 2, Informative

    I was curious what WebAssembly was, so I hunted down an FAQ.

    Summary is that WebAssembly is a binary format to use in place of Javascript, to avoid parsing time.

    Really happy to see LLVM carry on, what a great project!

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Wondered what WebAssembly was... by tlhIngan · · Score: 2

      Really happy to see LLVM carry on, what a great project!

      Well, that's because they've got a lot of rich sponsors - Apple, Qualcomm, etc. Basically what happened was GPLv3 and Apple spent a ton of money investing in alternative free compiler suites, of which LLVM was the most complete and well structured alternative. (That's why Clang is credited to Apple).

      Of course, the favorable licensing terms of LLVM didn't hurt, either (I think it's MIT or BSD?).

      So the fact it's easy to integrate into practically everything (IDEs and other things), has a good license, etc., has basically exploded its popularity. It's used in everything from the Xcode IDE where its code parsing engine helps syntax and error highlighting (as well as dynamic recompilation as you fix the error), but drivers needing to compile OpenCL or other code down to GPU native machine code.

      WebAssembly is what makes possible projects like DOSbox that runs in a browser (see Internet Archive for demos) as well as many other things that run in a browser that were formerly C programs.

    2. Re:Wondered what WebAssembly was... by 0100010001010011 · · Score: 1

      Of course, the favorable licensing terms of LLVM didn't hurt, either (I think it's MIT or BSD?).

      It was originally: University of Illinois/NCSA Open Source License: http://releases.llvm.org/2.8/L...

      But have been migrating to Apache 2.0 with "LLVM Exception": https://llvm.org/LICENSE.txt

    3. Re:Wondered what WebAssembly was... by squiggleslash · · Score: 1

      Nothing to do with GPLv3, it was GPL in general Apple and some others had an ideological aversion to. (GPLv3 fixed many of the issues Apple et al complained about, but it wasn't considered enough.)

      --
      You are not alone. This is not normal. None of this is normal.
    4. Re:Wondered what WebAssembly was... by Anonymous Coward · · Score: 0

      Err, it's closer to a virtual machine (it's closer in nature to JVM bytecode, or .Net MSIL bytecode.)

      It's a little pointless at the moment because there isn't a fast Web Browser DOM Web Assembly VM bridge. Once that happens, page logic can be in optimised web assembly instead of screeds of javascript.

      Turns out running JavaScript on Web Assembly is not very easy (hence, not very fast); because of JavaScript's highly dynamic nature. C++, C#, C and other traditional langauges (that have a normal type model) run perfectly fine -- so for algorithmic stuff, considerably faster than JavaScript. Obviously, LLVM's optimiser helps too!

      So, yeah, eventually instead of React or Angular in JS, you could use a framework in C++ and you write the rest of the logic in C++. With a high-speed bridge to the DOM, off you go. And of course, all the traditional software world things come into play -- like linking in a library and only including the referenced code!

    5. Re:Wondered what WebAssembly was... by Anonymous Coward · · Score: 0

      Nothing to do with GPLv3, it was GPL in general Apple and some others had an ideological aversion to. (GPLv3 fixed many of the issues Apple et al complained about, but it wasn't considered enough.)

      LOL. No. GCC is deliberately written as a confusing mess of tangled code, becuse if it had a clean modular structure, then someone could write an IPC API for it, and (the horror!) use it in a proprietary IDE or something, without opensourcing the IDE. GPL had nothing to do with it, and everything the fact that it's not even *technically* possible (much less legally) to interface with GCC's internals to get syntax checking/highlighting in the IDE consistent with what the compiler thinks about the code.

      That's not to say that you don't have to be completely insane to even think of using GPLv3 in a corporate setting, unless you are prepared to opensource EVERYTHING. But if you are, chances are you're in the support buisness, not software development buisness.

    6. Re:Wondered what WebAssembly was... by Anonymous Coward · · Score: 0

      Apple originally adopted LLVM for CoreImage, where it was used to dynamically compile image processing code to use the fastest available path for the system hardware.

      At the time, capability of GPUs was rapidly evolving and not all GPUs could be used for all image processing operations. CoreImage would use LLVM to dynamically adapt code between CPU and GPU.

      LLVM is a brilliant piece of software that is readily adaptable - all GPU manufacturers have adopted it for shader compilation.

      Apple poured a fuckton of resources into LLVM when it saw that it had such potential to overtake the abominable mess that is GCC.

    7. Re:Wondered what WebAssembly was... by Anonymous Coward · · Score: 0

      The fact that its main competitor, gcc, is a festering pile of hacked-together crap dating back to the 1980s while LLVM is a modern clean-slate design also helped just a tiny bit...

    8. Re:Wondered what WebAssembly was... by ShreeJi · · Score: 1

      happy to see LLVM carry on, what a great project!Well, that's because they've got a lot of rich sponsors - Apple, Qualcomm, etc. Basically https://www.fikr.co.in/

  2. The orc and the elf by cerberusss · · Score: 2

    concurrent compilation in the ORC JIT API

    Finally. For years, we've had ELFs in our binaries and I'm very happy that ORCs now have their own API.

    --
    8 of 13 people found this answer helpful. Did you?
    1. Re:The orc and the elf by F.Ultra · · Score: 1

      Don't forget that DWARF:s https://en.wikipedia.org/wiki/...

  3. As usual, many regressions incompatibilities... by Anonymous Coward · · Score: 0

    and corporate sponsored 'oversights'.

    I was just having a discussion the other day where I was cussing out gcc, which got into a discussion of cussing out clang, and then a generation discussion cussing out C++, glibc, and a variety of major design fuckups that continued for years.

    Hell, go read the rationale for gcc-6.5.0 having a MAJOR ABI REGRESSION left in it despite being the last stable release of the gcc6 series 'Well, we want people to move to GCC 7 anyways.' I've read similar reasoning from clang devs.

    It's time for any greybeards left who hate incompatibilities and regressions to start showing some leadership and teach these beardlings a thing or two. If you don't things are only going to continue getting worse as these people become elders like yourselfs, only with much of the old and none of the wiser.

    1. Re:As usual, many regressions incompatibilities... by Anonymous Coward · · Score: 0

      GCC-8 is out and you are complaining about GCC-6 regression?

  4. That's Great! What Is It? by Anonymous Coward · · Score: 0

    This is amusing timing for me personally because I've just been compiling Qt 5.12.2, and after configuring I'm getting a message saying the location of LLVM must be in my system PATH, which is a new message for 5.12.2. I then went to Slashdot and saw this article.

    I'm still not sure what it is, but it seems I'll now have to look into it.

  5. LVMH 8.0 Released With Cascade Lake Support by Anonymous Coward · · Score: 0

    > LLVM 8.0 Released With Cascade Lake Support

    I came to read about luxurious hand-made travel bags and italian full-carbon racing bicycles, but all people talk about here is just "coding" activity? What's going on?

  6. Define terms like a real tech news website by iggymanz · · Score: 4, Informative

    LLVM is a set of compiler toolchain components, it is used to provide the middle tier of a compiler system for many languages. It's written in C++

    1. Re: Define terms like a real tech news website by Anonymous Coward · · Score: 0

      Iâ(TM)m not gonna complain. Iâ(TM)ve been using slashdot since 1999 and itâ(TM)s a relief to see real news for nerds that assumes we all know what LLVM is.

    2. Re:Define terms like a real tech news website by Anonymous Coward · · Score: 0

      You have a lower user-id and need spoon fed?

    3. Re:Define terms like a real tech news website by Anonymous Coward · · Score: 0

      No it's not. You're describing the LLVM Core libraries.

    4. Re:Define terms like a real tech news website by TechyImmigrant · · Score: 1

      Having a low user ID is overrated

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    5. Re:Define terms like a real tech news website by _merlin · · Score: 1

      Half a million is a low UID now? I remember being the n00b account here, and my UID is like a third of his. What does that make me now?

    6. Re:Define terms like a real tech news website by bill_mcgonigle · · Score: 1

      lots of definitions:

      https://www.google.com/search?...

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    7. Re:Define terms like a real tech news website by iggymanz · · Score: 1

      And a good tech news site with properly written summaries won't make readers use that. In other words, ones not written by autists like you.

    8. Re:Define terms like a real tech news website by DeVilla · · Score: 1

      Don't let it go to your head. We were all n00bs once.

  7. Re: As usual, many regressions incompatibilities.. by Anonymous Coward · · Score: 0

    Well you can have your grey beard C complier that is compatible back to 1892 or your can have your blazingly fast, full featured AST interface that you can imbed into IDEs. Iâ(TM)m honestly frustrated C++ standards have lagged years behind every other modern language. With PyPy standard python will soon be as fast as C++, with full introspection, user friendly meta programming, none of the horrific 10000 line compiler errors for a missing comma or mismatched type due to a over or under dereferenced variable. Grey beards need to trim that beard and throw the cheesy poofs they were saving in it since 1974 out.

  8. Re: As usual, many regressions incompatibilities.. by Anonymous Coward · · Score: 0

    You're a naive clueless dipshit. So typical of the "programmers" that exist everywhere nowdays. No clue what they're doing. Don't even understand how a fucking computer and operating system works.

  9. Re:Not good, also not cost effective by Anonymous Coward · · Score: 0

    And how many of those 10,000+ SSNs belong to programmers who will translate my C program into machine code by hand?

  10. Re: As usual, many regressions incompatibilities.. by Anonymous Coward · · Score: 0

    With PyPy standard python will soon be as fast as C++, with full introspection, user friendly meta programming, none of the horrific 10000 line compiler errors ...

    Right, with python you get type errors in run time instead. Enjoy your application crashing at run time because object "foo" does not have property "baz".

  11. What are the OpenMP/OpenCL improvement? by godrik · · Score: 1

    The release note does not seem to mention OpenMP or OpenCL. The release note does not contain the string "OpenMP" or the string "OpenCL". Am I missing something obvious? What has actually changed in that regard?

    1. Re:What are the OpenMP/OpenCL improvement? by complete+loony · · Score: 1

      LLVM is a big project, and not all developers with commit access contribute text to the release notes.

      If you need to know exactly what changed you could search the raw history, or diff the release tags from the github mirror.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
  12. Thanks openmp people by Anonymous Coward · · Score: 0

    Got 380% usage on my four core system today, and it was pretty easy coding too.

    Keep up the excellent work!

  13. Version number inflation by Anonymous Coward · · Score: 0

    Stop it! Just stop it, ok? STOP!

  14. wtf is /Zc:dllexportInlines- flag ??? by Anonymous Coward · · Score: 0

    as an old, old UNIX 'cc' user, seeing a toolchain with a /Zc:dllexportInlines- flag makes me want to kill myself