[LLVMdev] llvm useability?

Chris Lattner sabre at nondot.org
Tue Jan 22 13:55:09 PST 2008


On Tue, 22 Jan 2008, Christophe Avoinne wrote:
> What about ARM target ? I mean iPhone/iPod Touch has an ARM11 with a FPE
> and a VFPE. Does llvm-gcc 2.2 generates better code for them ?

I don't know, I haven't tried.  Again, you should try your own code if you 
care about performance.

> I'm a bit disappointed about the llvm-gcc 2.0 I tried for my iPod Touch
> as I saw it generated ARM code not very optimically : r7(apparently used
> like a frame pointer even when -fomit-frame-pointer is given) largely
> overused, generated code like "mov rx, imm8;orr rx, rx, imm8';add rx,
> rx, ry" instead of "add rx, ry, imm8;add rx, rx, imm8'", etc.

llvm-gcc 2.0 has little to do with it, because it is just a front-end. 
You're asking about the status of the arm backend, which is tied to an 
llvm release.  Code generated by llvm mainline is generally better than 
code generated by older releases.

> I'm also wondering if the official SDK expected for February offers a
> llvm-gcc as a c/c++ compiler. Which version ?

You'd have to ask apple marketing about that.  This is an open source 
project.

-Chris

> On 21/01/2008 22:55:30, Chris Lattner (sabre at nondot.org) wrote:
> > On Jan 21, 2008, at 4:09 AM, Neal Becker wrote:
> >
> > > Has llvm reached the point that it is useable as a mainstream c++
> > > compiler?
> >
> > Yes. LLVM 2.2 will be out in a few weeks, it will be the best release
> > yet. Many people use llvm to build large C++ code bases.
> >
> > > Are there benchmarks available comparing generated code to gcc4? My
> > > primary interest is scientific-type computing.
> >
> > There are lots of benchmarks (see the nightly tester for example), but
> > it always makes sense to pick your own benchmark and do an evaluation
> > yourself. If you know of any important and self-contained benchmarks
> > that can be added to our performance testsuite, please let us know.
> >
> > The most important thing to know for numeric performance is that LLVM
> > currently generates very poor code when targeting machines that do not
> > have SSE2 or later. When building llvm-gcc, make sure to configure it
> > for a CPU that has SSE2 or later to get good performance.
> >
> > -Chris
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>

-Chris

-- 
http://nondot.org/sabre/
http://llvm.org/



More information about the llvm-dev mailing list