Re: Code optimization <LEA Instruction>

From: Jamie Lokier (lkd@tantalophile.demon.co.uk)
Date: Sat Jan 29 2000 - 18:18:33 EST


Oliver Xymoron wrote:
> If I understand correctly from the patents and white papers, most of the
> instruction scheduling stuff and even some of the register allocation(?!)
> becomes irrelevant with Crusoe.

Register allocation is only really relevant for any of the modern x86s
in as much as it's used to reduce instruction count, footprint and so
on.

On Crusoe I guess the cost of redundant instructions is not so
significant once they've been through a translation pass, but for those
instruction streams getting interpreted, and for the speed of
translation itself, it still makes sense to keep the number of
instructions (and their size) to a minimum.

> The stuff that's still important is
> probably CSE, unrolling, and inlining, not to mention language-specific
> stuff like aliasing optimizations.

I wouldn't be surprised if inlining is less important. Crusoe is a sort
of JIT and would seem well placed to auto-inline things in the
appropriate, dynamically determined manner.

> But a lot of the nasty arch-specific
> stuff in the compiler gets pushed down to the translation layer..

A lot of nasty arch-specific stuff is there to fit the x86 instruction
set :-) Still it works out in the end, and as compiler technology
improves we're seeing it's not intrinsically that hard, it's just very
complicated.

enjoy,
-- Jamie

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 21:00:24 EST