[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OPTIMIZE in pass 1 of QCMP (QCP1)

The optimizer as it is currently structured seems to have
the general problem that at the point an optimizer is applied to
a form, the subforms of that form are not optimized.  As a result,
a form like   (EQUAL X (OR))  optimizes only to  (EQUAL X 'NIL),
whereas if  (EQUAL X 'NIL) were originally written, it would optimize
first to  (EQ X 'NIL)  and thence to  (NOT X).  The optimizer seems
to operate top-down, in effect, but this example indicates that
it were perhaps better arranged bottom-up.