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.