Announcement

Collapse
No announcement yet.

LLVM 10.0's Release Is Very Close With RC2 Available

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

  • LLVM 10.0's Release Is Very Close With RC2 Available

    Phoronix: LLVM 10.0's Release Is Very Close With RC2 Available

    The release of LLVM 10.0 is now upon us with the second and last planned release candidate issued at the end of last week...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    I don't really understand that LLVM is used by Sony to compile C/C++ code to machine code for PS4/PS5 games?
    Other games are just using GCC for this, right?

    Comment


    • #3
      I was kinda wondering what compilers are used in game development, since the game development industry always tries to squeeze every inch of performance out their software, using, among other, (som...

      Comment


      • #4
        Originally posted by xcom View Post
        I don't really understand that LLVM is used by Sony to compile C/C++ code to machine code for PS4/PS5 games?
        Other games are just using GCC for this, right?
        Consoles did pick from a handful of commercial Tools from Greenhills, SN Systems (now owned by Sony and in charge of the LLVM support there) and few others, MS always used their own compiler. Barely any commercial game used GCC, ever. Exceptions are Linux Ports of course, and I am not 100% sure whether PS3 used a gcc based compiler.

        For PS2 and (potentially others) there were end-user dev environments based around gcc, and PS3's CPU had a failed attempt to push them into Servers, maybe you (wrongly) thought those were used for commercial games?

        Btw. for example Nintendo has an aggressive stance against using open-source, they would not allow gcc or open source libraries to be used in official games. You either use their SDK or bust.
        Last edited by discordian; 18 February 2020, 05:07 AM.

        Comment


        • #5
          clang-format now has BraceWrappingAfterControlStatementStyle MultiLine. My life is complete!

          Comment


          • #6
            I’ve nearly got the sources built for the entire LLVM stack (sans libc) to be self containing. Just need to work out a kink with OpenMP and linking libm and I’ll be that much closer. It’s been interesting building it all from source, there’s quite a bit of configurability with the LLVM projects, but some options I wish were globalized to reduce repetitive reuse when building from the entire tree.

            Cheers,
            Mike

            Comment


            • #7
              Originally posted by mroche View Post
              It’s been interesting building it all from source
              It has been years (over a decade now?) since I built llvm from source (in order to build the shiny new static code analyzer), but at that time it was an interesting (and when I say interesting, I mean painful) experience. Kudo's for doing it yourself.
              Last edited by CommunityMember; 18 February 2020, 04:04 PM.

              Comment


              • #8
                Originally posted by CommunityMember View Post

                It has been years (over a decade now?) since I built llvm from source (in order to build the shiny new static code analyzer), but at that time it was an interesting (and when I saw interesting, I mean painful) experience. Kudo's for doing it yourself.
                It's actually gotten quite easy nowadays. With the exception of some CMake digging as not all flags are documented, the build process is pretty straightforward. Here's a pastebin of my build script: https://pastebin.com/D63tF9zX

                I have a multi-loop process as I'm trying to build the entire LLVM stack to depend only on itself, and not link against libstdc++ and libgcc_s. It's for an LFS side project that's going to be exclusively LLVM based. But for most cases (as I can tell), what's in the first loop should be about enough.

                Cheers,
                Mike

                Comment


                • #9
                  Originally posted by CommunityMember View Post

                  It has been years (over a decade now?) since I built llvm from source (in order to build the shiny new static code analyzer), but at that time it was an interesting (and when I saw interesting, I mean painful) experience. Kudo's for doing it yourself.
                  building is easy (tried at around V5.0) , self-hosting is not, but that's true of gcc aswell (thanks to gcc->libc->gcc dependency).

                  My biggest pain is that clang would be a "native" crosscompiler (target not picked when compiling clang), but atleast in debian there is no way to install the target support libs, neither for other linux nor barebones. (and picking anything other than the default seems broken in various ways)

                  Comment

                  Working...
                  X