Announcement

Collapse
No announcement yet.

Intel Fully Embracing LLVM For Their C/C++ Compilers

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by carewolf View Post

    They are.

    The other advantages icc used to have, like autovectorization are largely caught up to. (except good vectorization of FP commands require fast-math)
    Indeed, it is hard to do a fair comparison with other compilers due to the very aggressive default settings.

    ICC still has all the SPEC tricks (just like AOCC and XL). And while the latest version is based on LLVM (again like AOCC), it will remain proprietary.

    Comment


    • #32
      Originally posted by paulpach View Post
      What is happening in compilers is basically the same thing that happened in browsers.

      LLVM is the compiler building block with well-written code that everyone is using, with contributions from Apple, Google, and now MS... just like WebKit.
      MSVC is the king of the hill in windows from Microsoft... just like IE used to be.
      GCC is the mature and established open source solution... just like firefox.
      And we know how it's going to end. I wouldn't be surprised if MSVC 2028 is Clang-based. Clang-cl is already pretty good drop-in replacement great for 99% of use cases (unless you rely on some really arcane hacks). And honestly, I think it'd be pretty neat, since, unlike with situation with the web, there is no "google dicator" behind LLVM. It's open and already provided huge benefit to the compiled languages ecosystem.

      Comment


      • #33
        Originally posted by grigi View Post

        MSVC is based on the Watcom compiler, Watcom really knew their stuff, and was soooo far ahead of competitors at their time. It's still a very solid compiler. Fully closed source.
        LLVM is that good-enough base that has no license restrictions so everyone is using it to cut costs, and avoid actually contributing to open source properly.
        GCC is still the easiest compiler to get up and running for a new architecture. Downside is it's fully open, and many companies don't want to take OSS seriously.

        Having had to integrate with LLVM it seems clean, but was absolute mess with bugs and undefined behavior all over the place. Even the Rust team complains a lot about the undefined behavior being a big issue for them, and it seems a very large portion of their bugs can't be fixed without LLVM fixing that, but that would break API, so they wont. Its permissive license is now limiting it as we now have multiple proprietary branches where code never goes upstream, but they all have a vested interest in steering the project.

        The thing that many people miss, is that CLANG is the very well written project, and it already talks to LLVM, hence LLVM gets all this free publicity.
        It's kinda the opposite. LLVM was designed to be sort of compiler-writer toolbox. GCC explicitly resists being librified. It's really easy to add a new backend to LLVM (as long as it's not something super exotic), juыt as it's really easy to have your own frontend generate LLVM IR. It's almost impossible to do that for GCC. That's why 99% of new languages use LLVM in some port of their pipeline. Even if it's something for web (WASM), java (Kotlin Native, plenty of JIT compilers too) or something entirely different (bpf?).
        Last edited by flashmozzg; 11 August 2021, 08:22 PM.

        Comment


        • #34
          Originally posted by paulpach View Post
          What is happening in compilers is basically the same thing that happened in browsers.

          LLVM is the compiler building block with well-written code that everyone is using, with contributions from Apple, Google, and now MS... just like WebKit.
          And also IBM (who are moving their XLC compiler team towards improving LLVM), and Facebook too is hiring for LLVM. With all the talent from all of those companies, LLVM is clearly where a lot of the smart money and now talent is heading.

          GCC is the mature and established open source solution... just like firefox.
          And like Firefox, GCC is heading towards being an "also ran" as far as innovation, as the talent goes elsewhere. Sure, there are a lot of smart people working with gcc, but when push comes to shove, the best talent will take the money, and work where their employer wants to invest, and that is more and more often LLVM.

          The GCC steering committee tried to stem the talent drain by no longer requiring assignment of copyright to FSF, but it is likely too little, too late, for all the deep resources (money) to care, and besides, Stallman is persona non grata to some (previous) GCC developers (resulting in losing additional talent, and while some individuals doubled down, although no new deep talent joined the gcc team).

          GCC showed that independent open source compilers could happen and were worthwhile. It was successful in that effort, and should be commended. And now it has been surpassed by LLVM (with LTO and PGO in the Linux kernel), which is the better compiler for at least some targets. Let open source succeed, and LLVM is one of the successes.

          Of course, those that can only offer FUD, and are apparently afraid of LLVM, and tremble in fear of the eventual stagnation of their personal favorite compiler, will be more than willing to offer allegations about the evilness that is LLVM, but they never, ever offer actual evidence of their assertions. They have decided that the mantra of meritocracy does not matter when their personal ox is gored. They, of course, show they are not in favor of free and open source meritocracy.

          Comment


          • #35
            Would be interesting to see if Intel ever moves to rebase Clear Linux entirely on LLVM...

            Comment


            • #36
              Originally posted by CommunityMember View Post
              And also IBM (who are moving their XLC compiler team towards improving LLVM), and Facebook too is hiring for LLVM. With all the talent from all of those companies, LLVM is clearly where a lot of the smart money and now talent is heading.
              With almost everyone already using LLVM/Clang or moving in that direction that isn't surprising.

              Comment

              Working...
              X