SSA IL

Stephen Weeks MLton@sourcelight.com
Sun, 12 Aug 2001 16:23:51 -0700


One possible simplification would be to turn RestoreExnStack and SaveExnStack
into nullary primitives, thus eliminating them from the Exp.t datatype.  Any
thoughts?

      structure Exp:
	 sig
	    datatype t =
	       ConApp of {con: Con.t,
			  args: Var.t vector}
	     | Const of Const.t
	     | PrimApp of {prim: Prim.t,
			   info: PrimInfo.t,
			   targs: Type.t vector,
			   args: Var.t vector}
	     | RestoreExnStack
	     | SaveExnStack
	     | Select of {tuple: Var.t,
			  offset: int}
	     | SetHandler of Label.t
	     | Tuple of Var.t vector
	     | Var of Var.t
	 end