Saturday, August 12, 2006

Latest time improvements

I've got some more time improvements in the implementation of the register allocation algorithm. Now I am using better data structures to encode the live ranges of variables. I still feel that it would have been better to use the data structures of linear scan, right in the beginning. However, by developing my own gadgets, I acquired more experience with C++, and a better understanding of compilers. I will put some more effort in improving the time of my implementation. The greatest problem now is the interference graph that I am using to know conflicts between pre-colored registers and the virtual registers. In order to implement a better algorithm, I am marking the conflicts between physical registers that are already present in the code, and the virtual registers. The construction of this interval graph is taking a lot of time. I am seriously thinking about removing this graph altogether, and spilling registers every time it is necessary. Anyways, check the time improvements here.

0 Comments:

Post a Comment

<< Home