[LLVMdev] new IA64 backend
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
- 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
- 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