<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Jon Harrop wrote:
<blockquote cite="mid:200911192210.23014.jon@ffconsultancy.com"
 type="cite">
  <pre wrap="">On Thursday 19 November 2009 19:48:18 Owen Anderson wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">On Nov 19, 2009, at 10:25 AM, Jon Harrop wrote:
    </pre>
    <blockquote type="cite">
      <blockquote type="cite">
        <pre wrap="">In this case, the assertion that LLVM is slow is correct: it's
definitely slower than a non-optimizing compiler.
        </pre>
      </blockquote>
      <pre wrap="">I'm *very* surprised by this and will test it myself...
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->
I've tested it and LLVM is indeed 2x slower to compile, although it generates 
code that is 2x faster to run...

  </pre>
  <blockquote type="cite">
    <pre wrap="">Compared to a compiler in the same category as PCC, whose pinnacle of
optimization is doing register allocation?  I'm not surprised at all.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
What else does LLVM do with optimizations turned off that makes it slower?
  </pre>
</blockquote>
<br>
My guess would be primarily (1) respectable instruction selection,
followed by (2) good register allocation.  But at some point, the
overhead of going through an abstract IR will slow you down.  You're
never going to beat a splat compiler except with another splat compiler.<br>
<br>
John.
</body>
</html>