new SSA IL
Henry Cejtin
henry@sourcelight.com
Tue, 7 Aug 2001 23:48:43 -0500
But in the function call case, I understand that it is a different binding.
In the SSA case, I can't do that, since all the variables look global but
initially un-initialized. Even that sounds pretty imperative. I guess I
don't see how to think of continuation calling. In straight SSA, there is
just a phi-function assignment to the args. In your SSA I see an assignment.
I seem to have to think of it more imperatively because of the fact that
there are `other' assignments at other call sites. (Of course these are part
of the call-ee, not call-er, so they really are the same site.)
I see, the point is that when you transform the code in some way, the
dominator tree doesn't change much, but maintaining the block structure would
require more surgery, correct?
As to the guide, the main thing that I need (I think) is an overview of the
compiler. When ever I try to look at it I find myself lost. Part of this is
your highly structure-ized style. I'm not arguing against it, just that I
don't understand how to navigate in it. I keep seeing big .cm files and have
no idea how to find a definition given a use. Any commentary would be great,
including any summary of your style of functor/structure/signature stuff.