[LLVMdev] new IA64 backend

Duraid Madina duraid at octopus.com.au
Thu Mar 17 19:45:54 PST 2005

Al Stone wrote:
> On Fri, 2005-03-18 at 05:04 +0900, Duraid Madina wrote:
> Woo hoo!  And There Was Much Rejoicing in IA64 Land :-).

So we see here that Al has not yet run the test suite. ;-)

Hmm. For those _not_ in IA64 land, here a few random things that might 
be interesting:

	- IA64, perhaps more than any other general purpose computing 
architecture, depends on something like LLVM for high performance. 
Whole-program optimization simply 'falls out' with LLVM, yet this is 
more or less the limit of what the Intel and HP compiles can do. 
Life-long optimization is particularly important on IA64, because 
there's only so much that the hardware can do to "help itself." It's 
true that some aspects of IA64 are completely orthogonal to things like 
out-of-order execution and one can imagine a monster "Itanium 4" (4 as 
in "Pentium 4" ;) ), but I personally hope that Intel doesn't go down 
that path - at least not until LLVM/IA64 has had a chance to conquer the 
world^W^W^Wprove itself in the field. Anyone who saw Intel's 
presentation at this year's ISSCC will probably hope so too; an Itanium 
2/12MB @2.5GHz dissipating ~50W can be a frightfully powerful and fairly 
_efficient_ device for the 90nm node, but it only shines if you have the 
compiler support there.

	- IA64 specifies performance gathering abilities that are (to my 
knowledge, anyway) simply unparalleled. This might be interesting/useful 
for the LLVM-reoptimization folk.

	- JITs can be particularly quick on IA64. (No, really!) Register 
allocation is a piece of cake for example, and the IA64 machine model is 
quite simple.

	- The IA64 backend is a little odd in that it defines a register class 
for booleans, not just i64s and f64s.

	- IA64 users currently suffer from the lack of a solid, 
high-performance, easy-to-use open-source compiler. There are some good 
open-source compilers (ORC, IMPACT) but these break like twigs, and 
aren't really intended for production use. There's GCC which is 
_reasonably_ solid these days but the performance ranges from poor to 
underwhelming. I'm hoping that llvm-gcc will become an alternative for 
those who can't/won't use the Intel or HP compilers.


More information about the llvm-dev mailing list