latest RPM

Stephen Weeks MLton@sourcelight.com
Tue, 5 Dec 2000 14:10:35 -0800 (PST)


> Does this extend to not having any pseudo-registers of type void?  

Yes.

> I noticed that the c-codegen removed the primop case of:
> 
> 	     | MLton_eq => if Type.isVoid(Operand.ty(hd args))
> 			      then (printDst(); print C.truee; print ";\n")
> 			   else doit()
> 
> My corresponding code checked the sizes of the operands (which was the
> closest thing I had to types, but it meant adding a size VOID which didn't
> correspond to a real size).

I took that out because it really belonged in the backend and should be shared
across code generators.  You can take it out too.  There was one other case
where voids were taken out of c-codegen: the stores list in an Allocate
statement.

> In any event, even if there aren't supposed to be any pseudo-regs of type
> void in the statements, on a self-compile, I get a pseudo-reg of type void
> being listed in a live in list.

Thanks.  I'll get rid of those as well in the next version.