[comp.lang.forth] Deoptimizers?

wmb@MITCH.ENG.SUN.COM (Mitch Bradley) (02/09/91)

> If you can write optimizers, you can write deoptimizers.

True to a degree...  At some level, optimization involves loss of
information about the source text.  Simple optimizations like peephole
optimizations to remove redundant push/pop pairs are easy to "undo", but
code motion and common subexpression removal can be very difficult to
"deoptimize".

Of course, the stack tends to impose an ordering constraint that makes
the more "studly" optimizations somewhat impractical, compared to the
data flow optimizations that can be done for code generated to a register-
transfer model.

Mitch

hopkins@sun.com (Don Hopkins) (02/13/91)

Isn't the inverse of an Optimizer called a Pessimizer?

	-Don