[LLVMdev] Removal of IA-64 target

Chris Lattner clattner at apple.com
Thu Jul 16 22:22:42 PDT 2009

On Jul 16, 2009, at 9:49 PM, Marcel Moolenaar wrote:
>> For us to keep IA64 around (and for it to be minimally useful for  
>> your
>> work!), I think that the backend should pass most of the simple
>> programs in MultiSource/Benchmarks for example.  It does *not* need  
>> to
>> produce amazingly fast code, but the code needs to work.  I don't  
>> know
>> how much performance on IA64 is important to you guys, if GCC is
>> currently acceptable, then probably don't have that high of a
>> performance bar.
> GCC is the best we can do right now for FreeBSD/ia64. That's why LLVM
> is of interest. At least to me :-)

Sure.  LLVM has significantly better high-level design in its code  
generator than GCC does, which could be the host to some really  
interesting itanium-specific optimizations if someone was so  
inclined.  However, this is a *significant* amount of work, and the  
perf work that will benefit many other classes of machines is unlikely  
to be the big winners on itanium.  To get decent performance, we  
really need people dedicated to doing significant perf work for  
itanium.  Beyond that, we're already way way way behind GCC, so a  
significant amount of work would be required just to catch up with  
them - we don't even do real bundling, for example.

> However, I do not want to go anywhere near trying to achieve optimal
> code generation right now. Getting functional completeness is as high
> as I dare to shoot. I presume that it'll be daunting enough.

It depends a lot on your background, but yes it is a substantial  
amount of work.

>> Another question is: who is really interested in FreeBSD/ia64?  Is HP
>> (for example) contributing to this work?  If so, perhaps you could
>> find help in one of the itanium-friendly companies.
> My Montecito machine was donated to me by a German company, but other
> than that, it's just me working on an architecture I've grown fond  
> off.

I have to admit that the architecture geek in me *really* likes  
Itanium, and it definitely was the "full employment guarantee for  
compiler engineers". :)  I think it's a shame that it didn't catch on  
more, if only to provide more diversity in the architecture space.   
However, the pragmatist in me sees it as a dead architecture.

Being dead in-and-of-itself doesn't mean it shouldn't have an LLVM  
backend: for example, I consider Alpha more-dead than Itanium :).   
However, maintaining an LLVM backend is a significant amount of work,  
and given that we've had an itanium backend since 2005 with no serious  
interest from developers-other-than-Duraid, I have a hard time  
believing that this will magically change in the near term.

At this point, I think we should remove the Itanium backend from  
mainline.  I would be thrilled if you would take it and fix it up and  
get it working out of tree.  If you get it working on significant  
programs (regardless of the performance of those programs) we'd  
definitely accept it back in tree at that point.  Does this seem  
reasonable to you?


More information about the llvm-dev mailing list