CVS hackery

Matthew Fluet fluet@CS.Cornell.EDU
Tue, 9 Oct 2001 15:09:50 -0400 (EDT)


> I hope to take the shrinker, constant-propagation, useless, and simplify-types,
> since they're pretty hairy.  Also, poly-equal will be a bear because it requires
> adding the DirectExp interface.

O.k.

> You can take the passes you mentioned.  Also, I think remove-unused should be
> easy enough, and you are familiar with it.

Sounds good.

> As to the other ones, let's announce whenever we commence on a pass as we work
> back.  Henry, this reminds me, we would like some way to add a keyword (EMAIL)
> that causes cvs commits to send email.

Also, let's keep everyone updated on changes to cps-tree.{sig,fun}.
Different passes are going to require different traversals and foreach*
functions, so we can try to avoid duplicating work and handling messy
merges.

> Raise-to-jump goes away, since raises now only raise to the caller.  Passes that
> move function bodies (contificication, inlining) have to do raise-to-jump
> themselves, but it's no harder than what they currently do in keeping the
> continuation straight.  After all, the exception stack is just another
> continuation.

Alright, I'll add that note to the contification translation.

> I hereby announce that I am working on the shrinker, on the ssa-branch until we
> get CVS fixed.

O.k.  I guess I'll start with remove-unused.  

One other note; Is there any way for the layout of a SSA program to fail?
A problem I ran into with the CPS IL when debugging a new pass was that
with the .cps and .dot files wanting the exception stacks, inferHandlers
might raise on a malformed program and would leave me without any output
to look at what was causing the problem.  Anyways, I mention this because
we'll probably need to do some debugging on these translated passes.