From: Josh V. <ho...@na...> - 2001-07-11 04:57:58
|
Allen Akin <ak...@po...> writes: > Also, my personal bias would be to use an input representation that's > more abstract than MIPS-like virtual-machine instructions. That makes > it easier to optimize the output code if you like, and needn't have a > huge impact on compilation time if optimization is turned off. I > acknowledge this can become a tarpit, though. I'm surprised they went for only 6 registers. Most virtual machines go the other way and give you a huge number of registers. It seems like it would be hard to get good performance with such a small number of registers. (Although it would be possible to create a pentium pro style register renamer to at least get some use of the extra registers available on non x86 processors.) Even with more registers, a generic assembly language is still at a large disadvantage for optimization just because of the amount of information missing vs. a higher level language. I've read (in the GCC IA-64 summit minutes *) that that even gcc's RTL representation throws away too much information for some optimizations, so they are going to make some of their latest optimizations work on trees instead of RTL. Josh * http://linuxia64.org/gcc_summit.2001.06.06.html |