next up previous contents
Next: Experiments and Anlysis Up: CMSC 731 (Spring 1998) Previous: Pitfalls encountered

Some Issues in SimpleSUIF

I found SimpleSUIF to be a good compiler tool in general. However, I felt that the type information it provided was insufficient. Particularly for mcpy and str operations, no type information was available for the underlying type on which the operation was being performed. Also, the simple_immed data structure does not contain good type information for the value it stores. It does not distinguish between signed and unsigned ints, floats and doubles. Also, there was a couple of discrepancies in the way address types were defined. There was no mechanism to extract the type of the underlying variable from the register storing its address. Under certain circumstances, address type pointers were not assigned the same values even when the underlying types were the same. The base type field matched in such cases, but as the SimpleSUIF manual mentions, it is not legal to conclude that two variables have the same type, unless the type pointers match and not just the base types.

However, most of its features were very useful in the implementation of the optimizer, particularly its use of temporary registers, using the same numbering space for temporary and pseudo registers, the instruction set and some others.



Suman Banerjee
Tue Jun 16 14:38:56 EDT 1998