Announcement

Collapse
No announcement yet.

LLVM-MCA Will Analyze Your Machine Code, Help Analyze Potential Performance Issues

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

  • LLVM-MCA Will Analyze Your Machine Code, Help Analyze Potential Performance Issues

    Phoronix: LLVM-MCA Will Analyze Your Machine Code, Help Analyze Potential Performance Issues

    One of the tools merged to LLVM SVN/Git earlier this month for the LLVM 7.0 cycle is LLVM-MCA. The LLVM-MCA tool is a machine code analyzer that estimates how the given machine code would perform on a specific CPU and attempt to report possible bottlenecks...

    http://www.phoronix.com/scan.php?pag...A-Machine-Code

  • #2
    Why does it always feel like llvm is miles ahead of gcc. But somehow, gcc is fast (according to benchmarks)

    Comment


    • #3
      Originally posted by KRiloshart View Post
      Why does it always feel like llvm is miles ahead of gcc. But somehow, gcc is fast (according to benchmarks)
      LLVM makes all sorts of things, GCC makes code.

      Comment


      • #4
        Originally posted by KRiloshart View Post
        Why does it always feel like llvm is miles ahead of gcc. But somehow, gcc is fast (according to benchmarks)
        i don't think gcc has such tool. or gcn backend. each compiler suite is ahead at something and behind at something else

        Comment


        • #5
          Originally posted by KRiloshart View Post
          Why does it always feel like llvm is miles ahead of gcc. But somehow, gcc is fast (according to benchmarks)
          Because things like this (creating plugins for the compiler to use the inner knowledge it has over the code) was one of the reasons why llvm was created in the first place and something that FSF was against implementing in GCC since they feared that such plugins would open up the door for companies to do proprietary extensions to GCC and thus bypassing the GPL.

          When llvm showed the world that such plugins where a great idea, FSF have slowly come around but the momentum in this particular field lies with llvm for obvious reasons (people wanting to work with such things switched to llvm).

          Comment


          • #6
            Originally posted by KRiloshart View Post
            Why does it always feel like llvm is miles ahead of gcc. But somehow, gcc is fast (according to benchmarks)
            Perhaps the llvm development process is a bit more transparent, or at least more chatty. If that's the case, the progress in gcc won't be as visible, except in benchmarks.

            Comment


            • #7
              Originally posted by phred14 View Post

              Perhaps the llvm development process is a bit more transparent, or at least more chatty. If that's the case, the progress in gcc won't be as visible, except in benchmarks.
              LLVM is design by committee, GCC is get it done, hence why LLVM won't be able to compile the kernel very soon (see their bikeshedding on asm goto).

              Comment


              • #8
                Originally posted by brrrrttttt View Post
                LLVM is design by committee, GCC is get it done, hence why LLVM won't be able to compile the kernel very soon (see their bikeshedding on asm goto).
                Not to knock GCC, because I like GCC too, but I remember that one of the reasons Clang was made was that GCC was design and maintain by esoteric GCC politics. Not Clang's words exactly, but definitely GCC politics preventing things from getting fixed or done was one reason Clang was made.

                Comment


                • #9
                  Originally posted by nslay View Post

                  Not to knock GCC, because I like GCC too, but I remember that one of the reasons Clang was made was that GCC was design and maintain by esoteric GCC politics. Not Clang's words exactly, but definitely GCC politics preventing things from getting fixed or done was one reason Clang was made.
                  Yup, clang is what got gcc moving again. But, LLVM started as a research project to test how all the modern compiler theory actually worked together in practice?

                  Comment


                  • #10
                    Originally posted by brrrrttttt View Post

                    Yup, clang is what got gcc moving again. But, LLVM started as a research project to test how all the modern compiler theory actually worked together in practice?
                    Yes, that is why it wasn't as much a compiler to begin with. It is compiler backend runtime, it is designed to be embedded into other applications and do compiler backend like things right from the start and before clang existed.

                    Comment

                    Working...
                    X