Avoid uselessly re-scanning modular arithmetic expressions
authorPaul Khuong <pvk@pvk.ca>
Thu, 18 Jul 2013 18:29:12 +0000 (14:29 -0400)
committerPaul Khuong <pvk@pvk.ca>
Thu, 18 Jul 2013 19:43:24 +0000 (15:43 -0400)
commitbe3993e597ead1ffe9def14536d218c5d36511d9
tree99cfa4cd33ebba867ba29a375bc8d4594341ed2e
parente240610bcc02cfe6f970131a362502d33be114c5
Avoid uselessly re-scanning modular arithmetic expressions

When modular arithmetic transforms have already fired for a
subexpression, and that subexpression's width is at most as wide
as the bitwidth we're cutting to, there is no need to re-traverse
the subexpression.

There was already some code to detect that case. Make it more general,
and, more importantly, sound.
src/compiler/srctran.lisp