x86 backend design

Stephen Weeks MLton@research.nj.nec.com
Mon, 26 Jun 2000 12:35:01 -0700 (PDT)


> And, even if we were to push such a hierarchy through, I'm not sure that
> it would give us the information that we want.  The real "typing" issue
> that we would like to check is that the base for an offset should always
> be a pointer type, but just restricting it to a Register.t or
> StackOffset.t doesn't enforce it.  

Ahh.  OK.  I thought more that the problem was with deep operands and
that you were going to have to introduce the possibility of run-time
errors in the translation from MachineOutput to your IL, which doesn't 
have deep operands.  If you don't think it's worth it to push through
the changes, fine by me.

As to pointers, until we have a typed assembly in MLton, which is a
long ways off, we just have to assume that the operands are of the
right type.  Actually, it would be nice to put asserts into
machine.fun to verify this for offset and arrayOffset.  I think I'll
do this.